1

每秒更新 60 次循环的服务器为例,它可以随时接收客户端输入,将它们存储在一个数组中,并在下一次更新滴答时处理所有这些输入。一旦处理完毕,数组就会被清空。服务器可能滞后并且每秒更新少于 60 次。为了防止作弊,处理输入会: player.x += speed * deltaTime

问题是要找到正确的 deltaTime

如果是每个服务器滴答之间的 deltaTime,则当服务器滞后时玩家会移动得更快,或者如果玩家发送的输入比其他玩家多,玩家可以作弊(移动得更快)。

如果客户端发送输入的时间戳,我们可以获取连续相同输入之间的 deltaTime(但第一个输入的 deltaTime 等于 0)。但是再一次,玩家可以通过发送另一个时间戳来作弊......

一个解法 ?

非常感谢 !

编辑:此外,还有一个使用刻度之间的 deltaTime 的客户端预测。

4

0 回答 0