プレイヤーがオンラインFPSでウォールハッキングするのを防ぎますか?


14

なぜマルチプレイヤーの一人称シューティングゲームのウォールハッカーに文句を言うのですか?

サーバー側のすべてのプレイヤーに対してオクルージョンカリングを実行することはできませんか?たとえば、プレーヤーがクライアントの錐台に表示され、オブジェクトによって遮られていない場合にのみ、プレーヤーxyz情報をクライアントに送信しますか?衝突ジオメトリが非常に単純化されていても、ほとんどの場合、不正行為者は戦術情報を受け取りません。

なぜこれをしないのですか?

回答:


19

今遅れていると思いますか?サーバーからリアルタイムのオクルージョン情報を取得するまで待つだけです。これで、壁の後ろから歩き回ることができ、サーバーが追いついて更新されたオクルージョンデータを送信すると、悪者が突然表示されます。

だから、私の卑劣なコメントはそれをすべて伝えています。これを行わない主な理由は、遅延とサーバー負荷です。サーバーに別のプレーヤーが表示されていることを知らせたい場合、サーバーは各プレーヤーがどのジオメトリを見ているかを正確に知り、そのオクルージョンを計算する必要があります。

ウォールハッキングのようなエクスプロイトはゲームを面白くしないことに同意します。そして、ゲームをできるだけ楽しくしたいので、開発者はこのことを心配するでしょう。ただし、開発者がアンチチート/ハック対策によってゲームプレイや顧客満足度が低下するようになると、開発者は放置した場合よりもはるかに多くの顧客を失いますDRMを参照してください。


3
反チート/ハック対策が無実の顧客の経験を決して減らさないように促すために+1。
-doppelgreener

17

それは実行可能であり、以前に研究で試されました。利息管理スキームの比較については、 http://dl.acm.org/citation.cfm?id = 1230069を

Byte56が言ったように、より多くのCPUを必要とするかもしれませんが、帯域幅を減らし、ウォールハッキングの可能性を減らすかもしれません。

また、Byte56が述べたように、プレイヤーのオクルージョンエリアに厳密に制限されたインタレストエリアは、クライアント側の応答性を低下させる可能性があります。ただし、プレイヤーのオクルージョンエリアをオクルージョンエリアよりもわずかに大きくして、クライアントが対戦相手の待ち伏せを数秒前に受信できるようにすることができます。このように、ウォールハッキングは依然として可能ですが、最後の瞬間にのみ可能です。


いいですね、実際の研究をいくつか答えてくれてありがとう。GDSEへようこそ。
MichaelHouse

4

簡単な答えは、はい、サーバー側のオクルージョンカリングは可能ですが、複雑さや制限された利点のために行われないことが多いということです。

現代のFPSゲームの大部分では、完全なオクルージョンはまれです。最近のキャラクターは草の中に隠れたり隠したりしており、実際のユニフォームとカモフラージュは実際に視認性に影響を与えます。壁や廊下は依然としてオンラインでの戦いの大部分を果たしていますが、過去数年ほどではありません。

多くのタイトなコリドーと不透明な表面を持つゲームでは、イベントフィルタリングのためにサーバー上でオクルージョンカリングを使用できます(場合によっては使用できます)。これは、大規模なオープン環境や現実的なカバー/カモフラージュゲームではあまりうまく機能しません。

壁のハッキングもオンラインゲームでの不正行為のほんの一部に過ぎず、個々のハッキングの修正はこれまでのところうまくいきませんでした。最良のアプローチは、単に高品質のマッチメイキングと不正行為者を除外し、イライラするマッチに入れられる可能性を減らすプレーヤー評価システムです。


-4

Cantゲーム開発者は、基本的にPCを完全に制御し、ゲームの実行中にサードパーティのソフトウェアをロードできないサイドプログラムを記述するだけですか?ゲームを開始してメモリにマップした後、インジェクターをロードする必要はありませんか?したがって、実行中のOSに関連しないものはすべてブラックリストに入れてください。ゲームのロード後にサービスのロードを停止するには、UACのタイプを作成する必要があります。

ハッキングを完全に防止するための私のもう1つのアイデアは、もう少し複雑で、LinuxライブドライブOSなどのゲームを実行することです。基本的に、ゲームはウィンドウをまったく使用せず、ゲームのみをロードするように設計された独自のストリップダウンOSを使用します。ゲーマーはゲーム中に音楽をストリーミングしたりプレイしたりするかもしれませんが、ゲームを実行するこの新しい方法では許可されません。開発者はプログラムやものをホワイトリストに入れることができますが、私は気にしません。マルチタスクをしたい場合は、ノートパソコンを近くに置いてください。本質的に、暗号化を使用してサンドボックスモードでゲームを実行したいのです。それがその呼び方だと思います。仮想temp os環境でゲームを実行するようなゲームメーカーによって完全に制御されます。

そして、このサンドボックスモードは、コンソールOSとゲームの機能に非常に似ています。コンソールに多くのハックが表示されません。なぜでしょうか。コンソールに読み込むことができず、コンソールができればosがそれを読み取って認識できないためです。


1
いいえ、ゲーム開発者はPCを完全に制御するサイドプログラムを作成できません。それがオペレーティングシステムです。オペレーティングシステムは、コンピューターの起動時にカーネルに登録してその権限を取得する必要があり、カーネルを再起動しないとコストがかかります。さらに、PCを完全に制御するサイドプログラムを「危険」および「ウイルス」と呼んでいます。また、フルコントロールのプログラムは、ゲーム内のセキュリティがさらに重要であることを意味します。クライアントプログラム間の通信を引き起こす可能性のあるハッキングは、すべてのクライアントデバイスからすべてのデータを文字通り盗むことができるためです。それは良くないね。
Delioth

1
別のポイントとして、ゲームをプレイするためだけにこの最低限のOSでPCを再起動する必要があると言っていますか?ゲームの起動時間とシャットダウン時間は5〜10分にすべきではないので、払い戻しを求めています。コンピューターの電源がオフになっているため 2つの画面では何もできません。そして、誰もが特定のゲームをプレイしている間にマルチタスクのためだけに追加のラップトップを購入する余裕はありません(開始と停止の20分かかり、バックグラウンドで音楽/ redditをするために400ドルを費やさなければならない場合、それは非常に良いゲームです)。
デリオス

それでは、PCでゲームを台無しにしている人々に対処してください。最近では、シューティングゲームはespなどに満ちているため完全なライトオフになっています。PCでのBf1は良い例です。それが出てくる前にハッキングされました。
TJ L
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.