在某些游戏中,人们可以通过改变时间来作弊。例如:当他们必须在建筑物建造之前等待30分钟。 假设设备与我的服务器连接,我可以阻止这种情况吗? 我使用libGDX库在java中编程。 任何适用于IOS和Android的解决方案?
答案 0 :(得分:3)
存储他们必须等待服务器的时间(告诉服务器他们执行任务,服务器将记录该时间以及何时可以再次执行)并让客户端检查服务器是否认为它实际上可以执行那个行动。无论何时您在客户端上存储某些东西,都可能会有一种解决方法。
答案 1 :(得分:2)
您最好的选择是使用SystemClock.elapsedRealtime()作为不经常服务器端时间检查的助手。
返回自系统启动以来的时间,并包括深度睡眠。该时钟保证是单调的,即使在CPU处于省电模式时也会继续打勾,因此是通用间隔时序的推荐基础。
在验证服务器的时间后,您可以对SystemClock.elapsedRealtime进行本地检查,直到下次启动。