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



我们的团队正在开发一款快节奏的竞技场 FPS游戏,每场比赛最多 10 名玩家(5v5(,适用于使用Unity移动平台。 我们真的在使用非权威服务器还是完全权威服务器方面陷入了两难

境地。

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

考虑使用光子统一网络(PUN(进行这种方法,因为成熟的API和主客户端模型以及高级中继


权威方法:客户端只需将其输入快照发送到专用服务器,在那里使用输入模拟游戏,并将游戏状态发送回客户端,客户端只是渲染它。

考虑使用Photon Bolt进行这种方法,因为内置客户端预测滞后补偿在使用专用服务器时至关重要。


那么,除了让作弊者更容易破解我的游戏之外,使用非权威服务器而不是权威服务器有什么缺点/限制?手机游戏是否需要服务器权限?您对我们尝试制作的游戏类型有什么建议?

另外,在专用服务器上运行Unity 实例(在无外设模式下(的开销有多坏(或多好(?

谢谢!

那么,除了让作弊者轻松破解我的游戏之外,还有什么 使用非权威服务器的缺点/限制 权威的?

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

但是,例如,如果火箭从发射器的轨迹是用物理原理在本地模拟的,并且它是否击中另一个玩家也是在本地决定的,那么尽管看起来没有被玩家击中,但最终还是会让玩家被杀死。

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

手机游戏是否需要服务器权限?

不一定。

您对我们正在尝试的游戏类型有什么建议 做?

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

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

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

我不确定您正在比较什么开销,但通常 Unity 实例在没有图形的情况下运行,并且作为服务器以批处理模式运行,能够很好地处理 10 人的多人游戏。

最新更新