WASD游戏服务器的网络要求

时间:2012-03-08 20:53:08

标签: networking

我想知道是否有可能构建一个能够在使用WASD控件的游戏中处理大量玩家的游戏服务器(正如我们所知,WASD在网络上产生的数据多于点和 - 点击)。我不是在讨论服务器端代码性能(因为我知道它可以很容易地做到这一点),但我想知道网络是否允许你这样做。我不是在谈论许多服务于不同房间的游戏服务器或类似的东西,因为它基本上是一个不同的故事。

因为它将是一个游戏,它不会受益于CDN,并将被迫依赖单个服务器。我想如果玩家位于服务器周围(例如美国或欧盟),它能够在全球另一端播放,例如澳大利亚吗?

另外,我想知道,从欧盟到美国或全球各地的信号需要多长时间?什么是延迟?我听说有些人报告延迟时间超过一秒左右,而WASD无法播放。

1 个答案:

答案 0 :(得分:1)

您的游戏服务器不需要接收每个按键事件。这就是客户的意思。您的客户端通过更新播放器的位置来处理和响应输入事件。新的位置数据是发送到服务器的数据,通常是最后一个位置的增量。

简而言之,这是一个基本序列:

  • 玩家按下
  • 客户端软件处理W,并向前移动玩家的实体
  • 客户端软件打包播放器的实体状态并将其传输到服务器
  • 服务器将播放器的状态更改应用于其内部状态
    • 在这里你应该检查“这种运动是否可行?”这样的事情。
  • 服务器将新实体状态复制到所有其他客户端
  • 这些客户端集成了新的实体状态以更新其内部状态
  • 冲洗
  • 重复

如果您对某些已发布的来源感兴趣,请查看how Doom 3 manages things