改变设备上的时间=>在游戏中作弊

在一些游戏中,人们可以通过改变时间来作弊。 例如:在build筑物build成之前,他们必须等待30分钟。 我可以防止这种情况,假设设备有连接我的服务器? 我使用libGDX库在java编程。 任何解决scheme都可以在IOS和Android上使用?

将他们必须等待的时间存储在服务器上(告诉服务器他们执行任务,服务器将logging该时间,以及何时可以再次执行),并使客户端检查服务器是否认为它实际上可以执行该操作。 任何时候你在客户端存储的东西都可能会有解决办法。

最好的办法是使用SystemClock.elapsedRealtime()作为偶尔的服务器端时间检查的助手。

返回系统启动以来的时间,并包括深度睡眠。 这个时钟保证是单调的,即使在CPU处于省电模式时也会继续打盹,所以也是通用间隔时序的推荐依据。

在从服务器validation时间之后,您可以对SystemClock.elapsedRealtime执行本地检查,直到下一次启动。