ボットに対抗するには、2つのアプローチがあります。それらは、クライアント側の保護とサーバー側の分析です。
クライアント側の保護は、ある意味でブルートフォースという最も明白なアプローチです。ゲームクライアントが完全に正当であり、改ざんされておらず、他のプログラムがそれに影響を及ぼさないようにするために、あらゆる努力を払っています。現在、これは難しい問題であり、完全に解決することは不可能です。しかし、多くのゲームが試しており、この方法である程度成功しています。クライアント保護のための既成のソリューションがいくつか存在することを知っているので、それらを探すことをお勧めします。自分で実装するのは大変な作業です。
100%未満の効果であることに加えて、クライアント側の保護には、プレーヤーにとって非常に迷惑な欠点があります。通常、alt-tabタスクの切り替え、アンチウイルスプログラムなどの無効化などを意味します。
サーバー側の分析はあまり邪魔になりません。このアプローチでは、プレイヤーの行動のパターンを分析するサーバーコードがいくつかあります。ほとんどの場合、ボットのプレイ方法は明らかに異なります。たとえば、人間のプレイヤーはアクション(射撃など)の間隔が異なり、この時間はベルカーブの分布に従います。原始ボットは一定の時間を持つか、一定の間隔で均等に分散されます。楽しい事実:この方法を使用して、機械式ボット(物理的なキーボードのボタンを押す巧妙なデバイス)を持つプレイヤーを捕まえました。言うまでもなく、クライアント保護の量がそれをキャッチすることはできません。それでも、この分析は完全ではありません。より高度なボットはシステムを欺き、実装するチェックが多いほど、より高度なボットになります。
最善の保護のために、これらの両方の方法を組み合わせることができます。クライアント保護により、ボットの開発が難しくなり、サーバー分析により、迅速に開発された単純なボットが停止します。しかし、何をするにしても、ボットを完全に止めることはできません。まあ、あなたの代表をプレイヤーの家に送らない限り、彼らのプレーを監督し、違反を報告します。(ちなみに、これは前代未聞ではありません。彼が合法的にプレイしていたことを確認するために、オンラインポーカー会社が非常に成功したプレイヤーの家に人を送ったという話を間違いなく読んでいます。
ボットと戦うためのさらに2つの疑わしい推奨事項があります。1つは、ネットワークトラフィックを暗号化します。私はこれがうまくいくとは思わない。クライアントが敵の手に渡ると、トラフィックが復号化される可能性があります...またはあなた自身のクライアントが暗号化に使用されます。一方、暗号化は遅延を追加しますが、これは「リアルタイムシューティング」にとって本当に悪いことです。2番目の推奨事項は、「これに基づいてゲームを設計するだけ」です。これは健全なアイデアのように思えますが、これを管理する単一のゲームはまだ見ていません。