1

オープン ソースのクライアント ソフトウェアとサーバー ソフトウェアがあり、どちらも完全にオープン ソースであるとします。

変更されたクライアントが変更されていないサーバーに接続できないようにするにはどうすればよいですか? または、変更されたクライアントを検出しますか? たとえば、オープンソースの大規模マルチプレイヤー オンライン ゲームで不正行為を防止するにはどうすればよいですか?

この件については何も見つかりません。空のGoogle検索を除いて、この件に関する情報をどこから探し始めればよいかわからないので、ここの誰かがこれに答えたり、答えを得るために正しい方向に私を向けることさえできると思いました。

4

2 に答える 2

3

これを 100% 確実に行うことは不可能です。あなたは、敵に完全に支配されたシステムを信頼できるものにする方法を考え出そうとしていますが、決してそうではありません。サーバーによって信頼されているクライアント プログラムがある限り、人々はそれを変更して、自分のやりたいことを実行できます。

解決策は、クライアントを信頼しないことです。必要のない情報を提供しないでください (ゲームを作成している場合、ウォールハックなどを防ぐため)、サーバーに送信するデータのサニティ チェックを実行します (スピード ハックなどを防ぐため)。さらに、サーバーの状態と、各クライアントの視点からの状態の変化をユーザーが確認できるようにします。これにより、サーバー管理者や他のプレイヤーがエイムボットなどを検出できるようになります。

于 2013-07-16T15:25:40.720 に答える