クライアントに手動で行わせることをお勧めします。
コストの観点から、今回はあなたの側に運があります:
- 予想されるユーザー数は1日あたり100人以下、おそらく1日あたり10人程度
- あなたは認証システムを持っています。つまり、禁止は永久的なものになります。
- 名前を削除してもよいクライアントがいる(まれに)
現実には、誰かがトップリーダーボードを調べて極端な名前を禁止するのにかかる10分です-エンジニアリングソリューションに時間を費やすよりも安くて信頼性が高いでしょう(問題があります)。
このようにプレーヤー数が少ないため、これを頻繁に行う必要はほとんどありません。ピーク時に週に1回で十分です。
しかし、私は十分な時間を持っている、私は正しいことをすることができますか?
違う。
あなたは非常に簡単に何か間違ったことをすることができます。それは何もしないことよりもクライアントのブランドに損害を与えます。
Regexを使用してすべての悪い名前をキャッチしたいですか?完全に正しく理解し、国際的な実在の人物名の複数のデータベースからすべての誤検出をフィルタリングすることをお勧めします。
https://en.wikipedia.org/wiki/Scunthorpe_problem
また、上記をうまく管理できたとしても、プレイヤーは愚かではありません-あなたがキャッチしていない同じように不快な名前を作成するシステムを回避する方法を非常に簡単に見つけるでしょう。
少なくとも、最高のスコアを見て禁止するという小さな手作業と比較して、これらのルールを最新の状態に保つために、さらに多くの作業を追加しました。
いいえ、まじめな話ですが、これは子供向けのゲームです-クライアントは、攻撃的な名前に寛容がないことを明確にしました。何かがあるはずです!
これが正直な場合であり、攻撃的な名前をまったく許容できない場合。唯一の現実的な解決策は、プレーヤーに自分の名前を作成させないことです。
これは、Cartoon Networkなど、ほとんどすべての子供向けゲームWebサイトで見つかるソリューションです。
空白の入力を与える代わりに、事前に作成された「名前部分」の選択を与えます。例えば:
表示名を「Awesome Pirate Master」などに限定します。
また、使用している単語リストについても簡単に検討してください。ユーザーが名前をいじって攻撃的または汚いものを取得できる場合、このシステムを実装しても意味がありません。
もちろん、重複する可能性もあります-ただし、プレイヤーの数が少ないため、これを書き留めることができます(100ワードの3つのリスト、すでに100万の名前があります)。誰も登録時に名前を持っていません。
現実的には、悪名を真剣に心配している場合、これが最も効果的なソリューションかもしれません。ただし、コスト分析を行う必要があり、このシステムを作成することでさえ、単純な手動チェックと比較して本当に価値があるかどうかを確認する必要があります。