オンラインゲームAPIの悪用(ボット)を検出および防止する方法
私は自由な時間にゲームのアイデアにたまに取り組んでいます。ゲームプレイとコンテンツにより、定評のあるWebテクノロジーで構築されたオンラインマルチプレイヤーゲームとして実装されます。戦略とシミュレーションのジャンルに該当することを知っておく必要があります。つまり、「ロケーションXにAをビルドする」などの、キャラクターなどで走り回るのではなく、(クライアントとサーバーの通信に関する)アトミックアクションのみを実行します。 ある時点で、大きな問題があることに気付きました。RESTAPIバックエンドに依存するブラウザーベースのフロントエンドを持つことは、ボットの優れたターゲット以上のものになるということです。自動化はビジネスにとって望ましいものですが、それはゲームの面白さを損なうものです。過去にブラウザゲームで実際に体験したのは、最も成功したプレイヤーがボットであり、誰もが抑制したからです。 私の現在の観点からは、REST APIに基づいたマルチプレイヤーオンラインゲームを構築するときにボットから保護する可能性はありません。例外:オープンソースにすることで、誰でもプライベートグループまたは自分自身のために独自のインスタンスをホストできるようになります(ボットを使用するジャークに悩まされないため)。 次の可能なアクションに対してアラームを設定するだけの正直なプレーヤーと、その出現時にすべてのチャンスを自動的に取得するボットとを区別する方法はありますか?キャプチャのようなそのようなショーストッパーに加えて。そうでない場合は、クライアントとサーバー間の通信(ネイティブコードクライアントの独自の暗号化バイナリプロトコル)を台無しにするのを少なくともはるかに困難にする別の技術スタックについて考えます。 編集:ありがとう、あなたの答えは刺激的ですが、ゲームの詳細をさらに進めることで特定の対策を講じることができないことも実感しました。ただし、Stack Exchangeに関する質問には多すぎます。したがって、最も重要な点を指摘したいだけです。 プレイヤーは、必要なときにいつでも調査、開発、管理しています。彼らのビジネスはオフラインのときでもうまくいきます(それは平和なゲームであり、武器は関係しません)。プレイヤーのアクションが必要なのは、拡張と進行のみです。これらのアクションは以下によって制限されます。 時間は重要なリソースの1つです(EVEオンラインスキルトレーニングなど)。ゲーム内のすべてのプロセスに必要です。24時間365日オンラインでいる意味はありません。平均的なプレーヤーは、1つまたは2つのセッションで毎日1時間以内に費やすことで、すでに成功しているはずです(おおよそ、コンセプトはまだ開発中です)。