deleteddeleteddeleteddeleteddeleted
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
ゲームの勝敗をクライアントサイドで決めるのであれば仕方のないことだと思います。
審判を対戦者が兼ねているようなもので良識に頼るしかありません。
簡単にと言うのが問題であるなら、一定のリスクはありますがスクリプトを難読化して定期的に変更するという手があります。
チートは不可能にはなりませんが、かなり面倒くさくなります。
またチートを使う場合、短期間に大量のコインをゲットしたくなります。
そのような異常な入力があった場合にユーザーアカウントを凍結してそれを公表し、理由は「不正行為」の一点張りでなぜバレたのかを一切言わないことで他のユーザーを牽制する方法もあります。
投稿2018/01/07 07:49
総合スコア28662
0
そういうAPIを提供しているからです。
自分への報酬は、API経由ではなくサーバ側システム内で加算してください。
たとえば、勝利イベントをトリガーにして内部で加算するとかです。
システムがどのようなAPIをユーザに提供し、それを無制限に使われるとどうなるかしっかり検討する必要があります。
無制限に使われないようなガードが入っているか、またはそれはユーザに公開すべきものか、見極める必要があります。
基本的に勝利判定やボーナス加算などはサーバ側だけでやるべきで、クライアントに公開すべきものではありません。
投稿2018/01/07 07:48
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/07 08:36
退会済みユーザー
2023/05/07 09:37 編集
0
いわゆるチート対策ですね
完全なチート防止にはユーザー側では操作のみさせて、
判定はサーバー側にすべてさせることです。
しかしすべての作業をサーバーにおくっていては
無駄な通信だらけになってしまうのも懸念されるので
ある程度ユーザーに処理を委ねる必要があります。
たとえばなんらかのトークンを設定しユーザーからのデータに埋め込み
整合性をチェックするのが有効でしょう
また理論上変更可能な上限下限値を設定しておき、
ユーザーがおくる時点でそのしきい値を超えていたら不正とするなど
対応方法はあります。
とはいえそれらもユーザー側がちまちまと
調整すれば完全な不正排除にはなりません
場合によっては無駄にはなりますが、偽データでよいので定期的にサーバーへ
データ通信し、ユーザー側がどのデータが正規のデータなのかを
わかりづらくすることも必要かもしれません。
あとは極端にデータのが変化が大きなユーザーを統計的に調査し
そのユーザーからのアクセスに対しては特定の詳細ログをとれるような
仕組みをつくっておくことです。
投稿2018/01/08 04:51
総合スコア116443
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2023/05/07 09:37 編集
0
思いつきですがリプレイデータをサーバに送信し、スコアの検証を行うというのはどうでしょう?
リアルタイム性が高いゲームならば、実際にゲームをプレイすること以外で整合性があるリプレイデータを生成するのは難しい気がします。
投稿2018/01/09 07:59
総合スコア4524
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
間違えて投稿してしまいました...。
投稿2018/01/07 07:58
編集2018/01/07 08:00退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2023/05/07 09:37 編集
2018/01/07 08:16
退会済みユーザー
2023/05/07 09:37 編集