リアルタイムのオンラインシューティングゲームを潜在的なボットから保護する方法


14

マルチプレイヤートップダウンシューティングゲームを作成しようとしています。私はさまざまなトピックについて読みましたが、それらを見ることができます、私は先にいくつかの本当の課題を抱えていますが、私はそれについてすべてです。

私が理解できないことの1つは、ボットを作成しようとする人々からゲームをどのように保護することになっているのでしょうか?

つまり、私が理解している限りでは、ネットワークトラフィックを保護することは不可能であり、プレイヤーが何が起こっているのかを聞き、それを理解するプログラムを作成することはできません。

私が心配しているのは、ライバルプレイヤーの現在の場所を聞くボットを作成し、そのプレイヤーがその試合に勝つために正確な「完璧な」場所で撮影しているように通信を送信できることです。

では、このようなボットからリアルタイムゲームを保護するためにどのような手法が使用されていますか?

また、私は議論を検索しようとしました(これは多くの人が苦労しているように聞こえます)が、具体的にはリアルタイムゲームのネットワーキングに関するより広範な質問の一部としてのみ見つけることができませんでした。もっと一生懸命に見えるはずだったなら、私を自分の場所に置いてください。


パンクバスターは、笑.. :)サードパーティーのアプリと変化を検出し、サードパーティのアプリ理由がありますされて
ジェームズ

人々がボットを作成する場合、なぜあなたは心配していますか?おそらくあなたはそれを回避することができるので、それは単に問題ではありません。
ベスカ

@ジェームズパンクバスターは恐ろしいです。私は他の多くの人が新しいゲームをプレイしようとして悪い経験をしたことがあります。常にパンクバスターのエラーでおかしくなります。
攻撃

@Beska:ボットが非ボットプレイヤーのゲームを破壊することはないだろうという真剣な説得が必要です。ボットが体験を台無しにしないようなゲームを設計できると確信しています。ほとんどのオンラインマルチプレイヤーゲームでは、ゲームの仕組みをボットプルーフにすることは簡単ではありません。
-deft_code

@AttackingHobo私が指摘したいのは、この問題の解決策を見つけようとするだけの会社全体があるということです。PunkBusterは、これを実行しようとするソフトウェアのうち、良くも悪くも知られているものの1つに過ぎません
ジェームズ

回答:


8

ボットに対抗するには、2つのアプローチがあります。それらは、クライアント側の保護とサーバー側の分析です。

クライアント側の保護は、ある意味でブルートフォースという最も明白なアプローチです。ゲームクライアントが完全に正当であり、改ざんされておらず、他のプログラムがそれに影響を及ぼさないようにするために、あらゆる努力を払っています。現在、これは難しい問題であり、完全に解決することは不可能です。しかし、多くのゲームが試しており、この方法である程度成功しています。クライアント保護のための既成のソリューションがいくつか存在することを知っているので、それらを探すことをお勧めします。自分で実装するのは大変な作業です。

100%未満の効果であることに加えて、クライアント側の保護には、プレーヤーにとって非常に迷惑な欠点があります。通常、alt-tabタスクの切り替え、アンチウイルスプログラムなどの無効化などを意味します。

サーバー側の分析はあまり邪魔になりません。このアプローチでは、プレイヤーの行動のパターンを分析するサーバーコードがいくつかあります。ほとんどの場合、ボットのプレイ方法は明らかに異なります。たとえば、人間のプレイヤーはアクション(射撃など)の間隔が異なり、この時間はベルカーブの分布に従います。原始ボットは一定の時間を持つか、一定の間隔で均等に分散されます。楽しい事実:この方法を使用して、機械式ボット(物理的なキーボードのボタンを押す巧妙なデバイス)を持つプレイヤーを捕まえました。言うまでもなく、クライアント保護の量がそれをキャッチすることはできません。それでも、この分析は完全ではありません。より高度なボットはシステムを欺き、実装するチェックが多いほど、より高度なボットになります。

最善の保護のために、これらの両方の方法を組み合わせることができます。クライアント保護により、ボットの開発が難しくなり、サーバー分析により、迅速に開発された単純なボットが停止します。しかし、何をするにしても、ボットを完全に止めることはできません。まあ、あなたの代表をプレイヤーの家に送らない限り、彼らのプレーを監督し、違反を報告します。(ちなみに、これは前代未聞ではありません。彼が合法的にプレイしていたことを確認するために、オンラインポーカー会社が非常に成功したプレイヤーの家に人を送ったという話を間違いなく読んでいます。

ボットと戦うためのさらに2つの疑わしい推奨事項があります。1つは、ネットワークトラフィックを暗号化します。私はこれがうまくいくとは思わない。クライアントが敵の手に渡ると、トラフィックが復号化される可能性があります...またはあなた自身のクライアントが暗号化に使用されます。一方、暗号化は遅延を追加しますが、これは「リアルタイムシューティング」にとって本当に悪いことです。2番目の推奨事項は、「これに基づいてゲームを設計するだけ」です。これは健全なアイデアのように思えますが、これを管理する単一のゲームはまだ見ていません。


1
機械式ボットを持つ男を見つけたとは思わない。入力用のハードウェアキーボードをエミュレートしたソフトウェアボットである可能性が高くなりました。
攻撃

2
いいえ、実際の機械式ボット。著者から写真が送られてきました。残念ながら、それらはすでにサーバーから削除されています(2007年に戻ったのです!)。
ネヴァーマインド

応答いただきありがとうございます。暗号化は少し「レベルを上げ」、多くのハッカーから保護できると思います。しかし、実際の通信暗号化は、シューティングゲームやMMOなどのタイムクリティカルなゲームで実用的でしょうか?
ザキードイツ語

私が取り組んだゲームでは、ログインシーケンス以外の場所で暗号化を使用していなかったため、ラグにどの程度影響するかはわかりません。暗号化アルゴリズムに依存していると思います。
ネヴァーマインド

2

ゲームを保護するために彼らが何をするかについて、大企業の誰も話さないと思います。自分が何をしているのかを知る人が少なくなればなるほど、それを回避するのは難しくなります。Steamが行うことの一部は、ブラックリストに掲載されている特定のアプリケーションを探すことです。

個人的には、通信するマシン間で可能な限り通信を暗号化および難読化してみますが、いくつかのアイデアを得るためにhttps / sslが機能する方法を読む価値があるかもしれません。ホストがランダムな公開/秘密鍵を生成し、公開部分のみを他のクライアントに送信する場合、クライアントにアクセスできる場合でも、送信されるパッケージの内容を簡単に傍受および変更することはできません完全に安全なものはありません。

また、クライアントexeが改ざんされていないことを確認する必要があります。


1

ゲームを設計して、チームワークと実際のインテリジェントな意思決定が完全に狙いを定めることができるよりも重要になるようにします。まともなボットを作るのは指数関数的に難しくなります。


チームワークと準備に依存するゲーム、および純粋なけいれんスキルに依存するゲームにはそれぞれの場所があると思います。それでも、ゲーム設計の選択を技術的な障害に適応させるべきだとは思いません。
Zaky German

@Zaky:私はかつて、ワームスタイルのゲームのプロトタイプを作成しました。このゲームでは、突然死すると画面がゆっくりとSPH液で満たされます。ゲームが死に遅れるまで、それは本当にクールに見えました。多くのゲーム設計の決定は、技術的な障害によって影響を受けると思います。
-deft_code

@deft_code芸術的またはグラフィカルなデザインではなく、ゲームプレイメカニクスのようなゲームデザインを意味した
Zaky German

私のSPHの使用は、ワームの水死と同じくらいゲームの仕組みです。水がゲームと相互作用する方法を変えるだけです。
-deft_code

0

そして、トラブルに見合う価値があるかどうかのすべての重要な質問を自問してください。詐欺師とボッターは2つのことを実行できます。

  1. 自分でゲームを破壊します。彼らはボットなしではプレイできず、面白くないのですぐに興味を失い去ります。
  2. 他の人のためにゲームを破壊します。ボットを通じて非常に強力になり、顧客にコストがかかります。これには通常、同じ物理コンピューターから複数のボットを制御する単一のプレーヤーが伴います(または、単一のプレーヤーが手動で制御すると予想されるよりもはるかに多くのコンピューターを使用します)。

もちろん、この2つは相互に排他的ではありません。

通常、最大の問題は3+です(トレーニングで人間は2つのキーボードまたは他の入力デバイスを同時に使用できますが、2つの手しか持っていないため)、同じまたは密接に関連するIPアドレス(またはMACアドレス)直接一致して動作し、相互にミリ秒以内にコマンドを実行します。したがって、同じIPアドレスから発信された5つのクライアントがすべて異常に高いレートで異常に緊密な調整でコマンドを送信していると検出した場合、ボッターが見つかりました。通常、これは、このボット軍が、より高い調整と速度のために、同数の人間が制御するトゥーンに対するエンゲージメントを支配できるpvpシナリオで最も損害が大きくなります。pveシナリオでは、通常、ゲームへのダメージは限定的です(1人の人間が複数のトゥーンをより高いレベルでより迅速にトレーニングできることを除いて、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.