0

サーバーとクライアントを使用して Java でゲームを作成しました。クライアントは、プレーヤー レベルの進行状況を計算します。この間、最後の更新があったときにサーバーから取得します。次に、時差を調べます。するとレベル+=時差。しかし、クライアントはレベル += 2 よりも 2 時間ほど遅れて自分の時間を設定することができます。

どうすればこれを解決できますか?

4

1 に答える 1

1

これは、すべての時刻が UTC で通信および保存されるように解決するのが最適です。(通常、長い値: 1.1.1970 からの秒数またはミリ秒数。Unix Time とも呼ばれます)。

Javaでは、今回は

long utcMillis = System.currentTimeMillis();

その価値を保存し、伝えます。それとの差を計算します。

ゲームでの不正行為を避けるために、いつでもサーバー時間を使用できます。

于 2013-02-07T18:54:42.170 に答える