代码之家  ›  专栏  ›  技术社区  ›  Vignesh Gunasekaran

在多人网络中使用非权威服务器而不是完全权威服务器有什么缺点/警告/限制?

  •  2
  • Vignesh Gunasekaran  · 技术社区  · 6 年前

    我们的团队正在开发 快节奏竞技场FPS 每场比赛最多10人的游戏(5v5) 移动平台 使用 团结 . 在使用非权威服务器还是完全权威服务器的问题上,我们真的陷入了两难境地。


    非权威方法 :每个玩家只需将其当前位置的快照发送给其他玩家,远程过程调用用于特殊事件,如发射武器或触发爆炸。物理是局部模拟的。

    关于使用的思考 光子统一网络(双关语) 对于这种方法,由于成熟的api和 主客户端模型 高级继电器 .


    权威方法 :客户机只需将其输入快照发送到专用服务器,在该服务器上使用输入模拟游戏,并将游戏状态发送回客户机,客户机只需呈现游戏状态。

    关于使用的思考 光子螺栓 对于这种方法,因为 内置 客户端预测 滞后补偿 这在使用专用服务器时至关重要。


    所以,除了让作弊者很容易侵入我的游戏之外,使用非权威服务器比使用权威服务器有什么缺点/限制?移动游戏需要服务器权限吗?是什么 你的建议 我们想玩什么游戏?

    另外,运行 统一实例 在专用服务器上(无头模式)?

    谢谢您!

    1 回复  |  直到 6 年前
        1
  •  3
  •   Lincoln Cheng    6 年前

    所以,除了让作弊者很容易破解我的游戏之外 使用非权威服务器的缺点/限制 权威的那个?

    去同步是一个相当大的缺点。如果局部模拟的物理不影响游戏的功能结果,那是可以的。

    然而,举例来说,如果火箭从发射台发射出来的轨迹是用物理方法在本地模拟的,并且它是否击中另一个玩家也是由本地决定的,那么你将最终导致玩家被杀,尽管 看似 没有被一个击中。

    在更严重的情况下,玩家可能会在他们的机器上体验到完全不同的比赛结果。

    移动游戏需要服务器权限吗?

    不一定。

    你对我们尝试的游戏有什么建议 制作?

    对于多人游戏,通常建议有一个权威的服务器来计算重要事件(例如被子弹击中)。

    为了防止不稳定的移动和动作,您需要实现某种形式的插值/预测/航位推算客户端,并在权威服务器回复时进行更正。

    另外,运行unity实例的开销有多坏(或多好) 专用服务器(无头模式)?

    我不知道你比较的开销是多少,但通常一个unity实例运行时没有图形,在batchmode中作为一个服务器能够很好地处理一个10人的多人游戏。