0

私はこのソフトウェアを自分で作成していませんが、問題の解決方法はわかりません。問題を説明するための最良の方法として、私はクライアント状態更新のサーバーの難読化または隠蔽

  • プレイヤーAは西
  • プレイヤーBが直面しているいくつかの茂みに隠れている...架空のマルチプレイヤーファーストパーソン・シューティングゲームのゲームから特定のシナリオを説明します

このゲームのために書かれた人気のある「ハック」は、プレーヤーAがプレーヤーBの位置を示すレーダーを持っていることになります。彼は画面上でプレーヤーBを見ることができず、ゲームはレーダーをサポートしていません。このハックは、サーバが特定の範囲内(おそらく、プレーヤーAのクリッピングプレーン内)のすべてのプレーヤー上のプレーヤーAのクライアントに情報を送信しているために可能です。サーバーがプレイヤーAのビューフレーム内のプレーヤーのプレーヤーAのクライアントにのみ情報を送信しようとすると、(私が知る限りは)現実的ではありません。サーバーは近隣のすべてのプレーヤーの情報をプレーヤーAのクライアントに送信する必要があるため、プレーヤーAはクライアントに送信されたデータを監視して敵のプレーヤーの状態の更新を引き出すことで、レーダーを画面に重ねるハックを書き込むことができます。私はこれらが一般に "レーダー"または "壁"のハッキングとして知られていると思います。

クライアントに送信された情報の敵プレイヤーの状態の更新を難読化または非表示にする方法はありますか?私が理解していることから、リアルタイムソリューションでは暗号化は実行可能ではありませんか?サーバーがプレーヤーAのビューフレーム内のプレーヤーにのみ状態更新を送信することができたとしても、プレイヤーAのハックはプレーヤーにカモフラージュまたはカバーオブジェクトの背後に隠れていることを示すことができます。

私が本当に考えることができるのは、いくつかのタイプの「punkbuster」ソリューションを実装することだけです。つまり、プレーヤーAのクライアントが不正なプロセスを定期的にスキャンするようにします。アイデアは、一般的なハッキングが監視されるということです。非人気のハッキングは、十分に小さいプレーヤーベースに影響を及ぼし、後に行くには小さすぎます。

答えて

2

これが唯一の方法です。 punkbusterに加えて、あなたはWardenに関するいくつかの調査を行うべきです(ウィキペディアを超えて、私がここにリンクしない興味深いものがたくさんあります)。それはlaws of online world design ...

クライアントは 敵の手中にある与えられた非常に興味深い戦いです。

もう1つの要素は、ビデオドライバを、それらに利点(不透明または強調表示、プレーヤーは「ブラインド」できないなど)を与える改造されたドライバで置き換えることです。私は、モディファイドドライバーの有無を確認するゲームがあるかどうかはわかりません。

+0

園長は一度私を所有していました:> – Konstantinos

+0

hehehe、imhoあなたが騙されていないのであれば、試していません! :D –

+0

Blizzardが他のゲームのためにワーデンの使用を許諾するかどうかについての考えはありますか?お金を印刷するためのライセンスについて話してください(WoWに加えて)。 – Ross

1

ゲーム「Everquest」のために、このようなことをした「eqmon」というプログラムがありました。最初、ゲームパケットは完全に暗号化されず、レベル全体のすべての文字(PCとNPCの両方)が含まれていました。最終的には、暗号化を使用してパケットをスヌーピングするのが難しくなりましたが、eqmonは、暗号キーを強制的に使用していました(新しいキーは、レベルを入力するたびにサーバーによって作成されるため、キーを解読する)。彼らはあなたのクライアントがあなたの場所の特定の範囲内にあるPCまたはNPCのアップデートを受け取るように変更しました。これにより、イクモンは、同じレベルで遠く離れた "まれな産卵"をキャンプして監視するのにはあまり役に立たなくなりました。

2

今日のハードウェアでは、単純な暗号化がリアルタイムで実行可能かもしれませんが、クライアントが暗号化されたデータにアクセスするためには鍵が必要です。クライアントがキーを持っている場合、おそらく、チータープログラムがそれを見つけて検索することはそれほど困難ではありません。最良の方法は、サーバーがBを見ることが可能な場合にのみ、Bの位置をAに送信することです。それでもやはり不正行為は可能ですが、やや少ない程度です。

Bが隠れているが小さな部分が目に見える場合の解決策は、サーバーが単にという何かがBの位置にあると言うだけです。それは岩などであるかもしれない。問題は、クライアントがの何かをにレンダリングできるようにするには、サーバーがかなり正確な説明を与えなければならないということです。今日のマルチプレイヤーゲームでは、サーバーの動作をシミュレートして低レイテンシーを偽造していることを考えれば、超低遅延ネットワークが実現されるまで実現できない可能性が高いです。

関連する問題