Unity3d 在多人网络中,在完全权威服务器上使用非权威服务器有哪些缺点/注意事项/限制?

Unity3d 在多人网络中,在完全权威服务器上使用非权威服务器有哪些缺点/注意事项/限制?,unity3d,networking,server,multiplayer,Unity3d,Networking,Server,Multiplayer,我们的团队正在开发一款快节奏竞技场FPS游戏,使用Unity为移动平台开发每场最多10名玩家(5v5)。 在使用非权威服务器还是完全权威服务器的问题上,我们确实进退两难 非权威方法:每个玩家只需向其他玩家发送关于其当前位置的快照,远程过程调用用于特殊事件,如发射武器或触发爆炸。物理是在本地模拟的 考虑使用光子统一网络(PUN)进行此方法,因为有成熟的API和主客户端模型以及先进的中继 权威方法:客户端只需将其输入快照发送到专用服务器,在那里使用输入模拟游戏,并将游戏状态发送回客户端,客户端只

我们的团队正在开发一款快节奏竞技场FPS游戏,使用Unity移动平台开发每场最多10名玩家(5v5)。 在使用非权威服务器还是完全权威服务器的问题上,我们确实进退两难


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

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


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

考虑在这种方法中使用光子螺栓,因为内置的客户端预测和延迟补偿在使用专用服务器时至关重要


那么,除了让作弊者更容易入侵我的游戏之外,使用非权威服务器比使用权威服务器有哪些缺点/限制?手机游戏需要服务器权限吗?你对我们正在尝试的游戏类型有什么建议

另外,在专用服务器上运行Unity实例(在Headless模式下)的开销有多大(或好)

谢谢大家!

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

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

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

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

手机游戏需要服务器权限吗

不一定

你对我们正在尝试的游戏类型有什么建议 制造

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

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

另外,在上运行Unity实例的开销有多大(或好) 专用服务器(无头模式)

我不知道你的开销是多少,但通常情况下,一个Unity实例在没有图形的情况下以batchmode运行,因为服务器能够很好地处理10人的多人游戏