0

我用 Java 制作了一个带有服务器和客户端的游戏。客户端计算玩家等级的进度。在此期间,它会在上次更新时从服务器获取。然后看看时差是多少。然后水平+=时间差。但是客户端可以将自己的时间设置为 2 我们的时间,并且比级别 += 2 晚。

我该如何解决这个问题?

4

1 回答 1

1

最好的解决方法是所有时间都以 UTC 进行通信和存储。(通常是一个长值:从 1.1. 1970 开始的秒数或毫秒数,也称为 Unix 时间)。

在 Java 上,你得到了这个时间

long utcMillis = System.currentTimeMillis();

存储并传达该价值。计算差异。

为避免在游戏中作弊,您可以随时使用服务器时间。

于 2013-02-07T18:54:42.170 回答