2

射击游戏服务器如何处理时间,例如当一个玩家射击另一个玩家时,他们如何确保两个玩家同时收到消息。

或者在他们中的大多数人身上,你会看到玩家每秒钟做出的每一个细节,而两个玩家在他们的客户端上看到的动作完全相同?游戏服务器如何设法将这些动作同时发送给所有客户端(玩家)?

4

2 回答 2

4

他们不会在同一时间看到他们。

服务器将确定击球是否命中,并向客户端发送更新。然后,客户将抽取子弹、血液等。

那里有一个时间循环,但并非每个事件都必须同步。这就是为什么你会看到玩家在高延迟下跳来跳去。

从他们的角度来看,它们运行平稳,但由于延迟,您的客户端更新速度不够快。

于 2010-08-22T21:48:53.607 回答
1

大多数数据包都以足够大的延迟发送,这会使一切看起来不连贯。客户端显示的所有内容都将具有延迟补偿(预测弹丸、玩家等将在帧之间的位置),以使其看起来像数据包同时到来。

于 2010-08-22T21:52:20.063 回答