Saya sarankan Anda membiarkan klien melakukannya secara manual.
Dari perspektif biaya, Anda beruntung kali ini:
- Anda mengharapkan tidak lebih dari 100 pengguna / hari, mungkin serendah 10 / hari
- Anda memiliki sistem otentikasi, yang berarti larangan bisa permanen
- Anda memiliki klien yang senang menghapus nama (jarang)
Kenyataannya adalah, 10 menit yang dibutuhkan seseorang untuk melihat papan peringkat teratas dan melarang nama-nama ekstrem - hanya akan lebih murah dan lebih dapat diandalkan, daripada Anda menghabiskan waktu pada solusi teknik (yang akan memiliki masalah).
Dengan jumlah pemain yang begitu sedikit, tidak mungkin ini perlu sering dilakukan - bahkan sekali seminggu selama puncak mungkin cukup.
Tapi saya punya banyak waktu, saya bisa melakukan sesuatu dengan benar?
Salah.
Anda dapat dengan mudah melakukan kesalahan, yang lebih merusak merek klien daripada tidak melakukan apa-apa sama sekali.
Ingin menggunakan Regex untuk menangkap semua nama buruk? Lebih baik harap Anda melakukannya dengan benar, dan juga memfilter semua false-positive dari banyak basis data nama orang-orang internasional:
https://en.wikipedia.org/wiki/Scunthorpe_problem
Dan bahkan jika Anda berhasil mengelola hal di atas, pemain tidak bodoh - mereka akan dengan mudah menemukan cara di sekitar sistem Anda untuk membuat nama yang sama-sama ofensif yang tidak Anda tangkap.
Paling tidak, Anda baru saja menambahkan lebih banyak pekerjaan dalam menjaga agar aturan ini diperbarui, dibandingkan dengan pekerjaan manual kecil hanya dengan melihat skor tertinggi dan melarang.
Tidak, tapi serius, ini adalah permainan anak-anak - klien telah menjelaskan bahwa TIDAK ADA TOLERANSI untuk nama-nama yang menyinggung. Pasti ada sesuatu!
Jika ini benar-benar kasusnya, dan Anda tidak bisa mentolerir nama ofensif sama sekali. Satu-satunya solusi realistis adalah tidak membiarkan pemain Anda membuat nama mereka sendiri.
Ini adalah solusi yang akan Anda temukan di hampir semua situs web permainan anak-anak, seperti Cartoon Network.
Alih-alih memberikan input kosong, Anda memberikan pilihan "bagian nama" premade. Sebagai contoh:
Kata sifat, seperti "Luar Biasa", "Fantastis", "Licik"
Bagian tengah, seperti "Bearded", "Laser-eye", "Pirate"
Kata benda, seperti "Master", "Winner", "Detector"
Yang membatasi menampilkan nama untuk hal-hal seperti "Master Bajak Laut yang Mengagumkan".
Juga berikan pertimbangan cepat tentang daftar kata apa yang Anda gunakan. Tidak ada gunanya menerapkan sistem ini jika pengguna dapat mengutak-atik nama untuk mendapatkan hal-hal yang masih terdengar ofensif atau kotor.
Tentu saja, ada kemungkinan untuk duplikat juga - tetapi Anda dapat menulis ini (3 daftar 100 kata, sudah memberikan 1 juta nama yang mungkin) karena berapa sedikit pemain yang Anda miliki, atau jika perlu - Anda masih dapat memeriksa bahwa tidak ada orang lain yang memiliki nama pada pendaftaran.
Secara realistis, ini mungkin solusi yang paling efektif jika Anda benar-benar khawatir tentang nama buruk. Tetapi Anda perlu melakukan analisis biaya, dan menemukan apakah membuat sistem ini benar-benar layak dibandingkan dengan pemeriksaan manual yang sederhana.