我们的团队正在开发快节奏竞技场FPS 游戏,每场比赛最多10名玩家(5v5)移动平台使用 Unity 。 对于是否使用非权威或完全权威的服务器,我们真的处于两难境地。
非权威方法:每个玩家只是将有关当前位置的快照发送给其他玩家,并且会针对特殊事件(如射击武器或触发爆炸)调用远程过程调用。物理学是在本地模拟的。
考虑使用 Photon Unity Networking(PUN) 来实现此方法,因为成熟的API和主客户端模型和高级继电器。
权威方法:客户端只需将输入快照发送到专用服务器,然后使用输入模拟游戏,并将游戏状态发送回客户端,客户端只需渲染它。 / p>
考虑使用 Photon Bolt 进行此方法,因为内置 客户端预测和延迟补偿,这在使用专用服务器时至关重要。
所以,除了让骗子们很容易破解我的游戏之外,使用非权威服务器而不是权威服务器有什么缺点/局限?移动游戏中是否需要服务器权限?对于我们想要制作的游戏类型,您的推荐是什么?
此外,在专用服务器(无头模式)上运行 Unity实例的开销有多糟糕(或不好)?
谢谢!
答案 0 :(得分:3)
所以,除了让骗子很容易入侵我的游戏之外,还有什么呢 使用非权威服务器的缺点/局限性 权威人士?
去同步是一个相当大的缺点。如果本地模拟的物理不会影响游戏的功能结果,那就没关系了。
然而,例如,如果发射器的火箭轨迹是用物理在本地模拟的,并且它是否会击中另一个玩家也是在当地决定的,那么尽管看似<,你最终会被玩家杀死/ em>没被一个人击中。
在更严重的情况下,您最终可能会遇到在其机器上遇到完全不同的比赛结果的玩家。
移动游戏中是否需要服务器权限?
不一定。
您对我们尝试过的游戏类型有何建议? 使?
对于多人游戏,通常建议使用权威服务器对重要事件进行计算(例如用子弹击中)。
为防止波动和动作,您需要实施某种形式的插值/预测/航位推算客户端,并在权威服务器回复时进行更正。
此外,运行Unity实例的开销有多糟糕(或好) 专用服务器(无头模式)?
我不确定您要比较的开销是多少,但通常Unity实例在没有图形的情况下运行,而在批处理模式下,服务器能够有效地处理10人的多人游戏。