私は単純なカードゲームを開発しています。そこでは、他の人間のプレイヤーに対してあなたを置くマッチメイキングシステムがあります。これは、使用可能な唯一のゲームモードであり、他の人間に対する1vs1であり、AIはありません。
不正行為をできるだけ防ぎたいです。私はここで同様の質問をたくさん読んだことがあり、クライアントを信頼できないこと、そしてすべての検証をサーバー側で行わなければならないことをすでに知っています。私はサーバー(とにかくマッチメイキングに必要)を用意し、サーバー側で検証を行うつもりですが、サーバー側のすべてを確認したい場合、これにより、サーバーは現在のすべてのゲームの状態を追跡でき、すべてのアクションを確認してください。そのサーバーをサポートするための資金やインフラがありません。
私の考えは、クライアントに対戦相手が行ったアクションの一部をチェックおよび検証させ、違法なアクションを見つけた場合は、サーバーに不正行為を通知し、サーバーにそれを検証させることです。これでもサーバーは現在のすべてのゲームを追跡する必要がありますが、クライアント側ではチェックできないいくつかの項目(デッキのカードの順序など)のみをチェックし、実際には間違っている場合にのみ他の項目をチェックするだけで、リソースを節約できます。
*(不正行為を許可せずにチェックできる人のみ!たとえば、プレイしたカードが手元にあるかどうかを確認できないため、手元にあるすべてのカードを知る必要があります)
要約すると、私の質問は:これは実行可能なアプローチですか?これを行うリソースを実際に節約するのでしょうか、それともこのメッセージを交換するためのサーバーとクライアントの余分な複雑さは価値がないのでしょうか?同様のアプローチを成功または失敗させたゲームを知っていますか?
読んで答えてくれてありがとう