こんにちは、これは私たちが常に直面している問題です。不正行為が詐欺師の事例に限定されている場合、その質問は学問的なものであり、あなたの余暇を学ぶべきです。
一方、所得に影響がある場合や、詐欺師の行動が他のプレイヤーに影響を与えてゲーム体験を低下させる場合は、ゲームの状態の不一致をテストするために何らかの努力を払い、クライアント/サーバー取引を保護し、詐欺師の関心を完全に抑止するための非常に微妙な方法です。
C++ https実装は、curlとboostで利用できます。
ゲームデータに関して、不一致をテストする最も簡単な方法はスコアです。リーダーボードを汚染しないように、いくつかの指標を追加できます。サーバーのスコアを再計算できる場合、スコアのコンポーネント(ゲームに費やされた時間、パワーアップ数、スコア乗数など)に基づいて特別なチェックサムを追加することができます。
また、ゲームの状態といくつかのコマンドの瞬間を取得し、それをエンコードし、サーバー上のシーケンスを再生して不一致をチェックすることができます。あなたが好きなのにチーターを扱う。
サーバー上でプレイするときに、サーバーがゲームタイムを管理できるようにし、プレーヤーに影響を与えるクライアント側のゲーム状態の変更を許可しません。入力の整合性などを確認する
マイクロトランザクションを使用する場合は、各マイクロトランザクションは、プレーヤーのアカウントに完全にコミットする前に、ベンダーのサーバーで確認する必要があります。
弁からの1、2がfpsゲームを参照していても、状態の不一致(通信遅延によって導入される)を処理する方法についてのいくつかの指針を与えるべきです。それは偽陽性を避け、非詐欺師の経験を台無しにするのに役立つはずです。
新鮮な投稿ではありませんが、ありがとうございます。 :) –
はい私はそれが新鮮な投稿ではないことを認識していますが、人々は通常C++のクロスプラットフォームネットワーキングに問題があるので、この質問に答える必要があると感じました。 –