
什么是多人游戏的中继服务器?点对点网络指南
虽然对玩家来说,这些基础设施通常是隐形的,但支持安全玩家连接和游戏稳定性的多人游戏基础设施与游戏玩法本身同样重要。
这一基础设施中一个常常被忽视的关键组成部分是中继服务器。
在这篇文章中,我们将深入探讨中继服务器在对等网络中的作用,并讨论基线中继服务的具体情况,例如Unity、Steam、Epic在线服务及其用例,以及何时何地改进中继服务更为可取,同时探讨游戏服务器托管的更广泛主题,以及为什么服务器有时会下线。
在多人游戏中,中继服务器是什么?
简而言之,在在线游戏的上下文中,中继服务器通过作为“中介”服务器在玩家之间转发通信,从而提高并解决了对等连接的常见问题。
换句话说,中继充当桥梁(或路由器/代理),在无法建立直接连接的对等体之间中继消息。通过在玩家之间中继数据,它们在建立连接方面发挥了至关重要的作用,这些连接可能会遇到诸如防火墙或网络地址转换(NAT)问题等障碍。这些NAT问题极为常见,以至于像XBOX或PlayStation这样的公司会有专门的支持页面来处理这些问题。
中继通常通过减少延迟和数据包丢失来改善游戏体验,前提是中继服务器本身是强大的,且中继服务器所使用的协调服务与玩家在地理上相对关联。否则,中继将引入延迟,可能会降低靠近中继的玩家与不靠近中继的玩家之间的公平性(如果其中一个游戏客户端充当权威服务器的话)。
现代游戏中的对等结构理解
对等网络架构是多人游戏后端结构的根深蒂固的组成部分。在P2P设置中,玩家的机器之一充当服务器,处理所有参与者的游戏逻辑和同步。
这种方法通常可以最小化开发人员的成本,因为一位玩家处理比赛的托管,并且实施起来更为简单。对于较小的游戏或觉得托管费用过高的工作室,这是一个不错的选择。然而,这往往会导致不理想的游戏体验——特别是如果房主玩家缺乏高速互联网连接或足够的硬件时,游戏性能会不稳定。更糟糕的是,P2P很容易被作弊者操控游戏和黑客攻击您的玩家,这使得这对任何希望将竞争性游戏作为其游戏的长期保留策略的工作室来说都是一个糟糕的解决方案,并会降低长期的保留率,因为高度参与的玩家可能不会认为继续投资于游戏会产生兴趣。
然而,从独立游戏到AAA游戏,大小标题都在转向完全或混合的游戏服务器模型,以确保稳定性和公平性,包括权威游戏服务器和中继游戏服务器。
对等网络中的作弊技术
P2P的一个主要挑战是坏分子利用P2P托管的漏洞,尤其是作弊者设计了多种方法来获取不公平的优势或干扰其他人的游戏体验:
延迟切换:作弊者可以故意引入延迟以破坏游戏的流畅性。通过延迟他们的数据传输,他们可以暂时“冻结”游戏,并做出无需其他玩家实时响应的移动。
数据操控:由于游戏数据驻留在各个客户端,作弊者可以修改他们的数据以使自己获得无限生命、无限弹药,甚至瞬间改变自己的位置。
鬼影:在玩家应当对地图或其他玩家有限可见性的游戏中,作弊者可以获得完全的可见性,给予他们不公平的优势。
为什么游戏服务器会下线或关闭?
服务器停机总是给玩家带来令人沮丧的时间。这通常因维护、更新、意外问题或甚至网络攻击而发生。在某些情况下,游戏服务器会被永久关闭,这个决定通常是由于游戏玩家数量的下降、财务考虑或者续集、新游戏的发布以及工作室的有限资源所驱动。
中继服务:免费还是收费?
中继是用于帮助玩家连接而无需产生计算成本的游戏服务器,这意味着玩家本身仍然是授权游戏动作的守门人。因此,所需的服务器数量是最小的。像Epic这样的公司通过Epic在线服务和Steam的Steamworks为游戏开发者提供免费的中继服务。
虽然这是一个很好的踏脚石,但这些服务在位置方面极为有限,并且通常不被认为是最可靠的。以下是为什么免费中继服务对商业制作游戏而言并不理想的原因:
延迟增加:引入中介可能会增加游戏的延迟,特别是当中继服务器与玩家在地理上相距较远时。因此,将其与自动协调系统配对至关重要,该系统将中继部署在离用户最近的地方。由于覆盖密度低,这些服务通常会引入延迟。
可靠性:如果中继服务器下线,将会打断已连接玩家的游戏体验。如果所有中继都托管在同一提供商上并且发生中断,则所有玩家都会被下线。因此,只有多云中继协调网络才能确保高可靠性。
权威性:不过,中继网络并不是权威服务器。因此,它们无法替代高度竞争、快节奏游戏的中央服务器权威。
Unity游戏托管是免费的吗?
直截了当地说,Unity游戏托管不是免费的。
Unity提供各种级别的服务,包括一些免费的服务以便开始,但真正的多人游戏托管解决方案通常是有相关费用的。这些费用与带宽、并发用户的数量、请求数量和其他变量有关。
Unity技术公司已经推出了几项服务来帮助开发者创造多人游戏,包括Unity Relay服务,但是,重要的是要注意Unity Relay并不是免费的。虽然Unity为游戏开发提供了强大的生态系统,包括用于多人游戏创建的工具,但像Relay这样的服务通常是在根据使用情况进行定价的模型下提供的。
Unity的Relay服务旨在简化为多人游戏建立和维护网络连接的过程,提供比传统P2P更可靠和可扩展的解决方案。开发人员应该仔细考虑使用Unity Relay的成本,特别是对于拥有大量玩家基础或网络流量较大的游戏。
引入中继网络:潜在解决方案
一种便捷且易于集成的方式来应对P2P托管的一些漏洞是使用中继网络。
玩家不再直接连接彼此,而是连接到中继服务器,中继服务器处理玩家之间的数据传输。这些集成起来比权威服务器容易得多,运行成本也更低,并在纯P2P托管之上提供了巨大的好处。
好处包括:
隐蔽IP地址:玩家的IP地址相互之间是隐藏的,因为他们只连接到中继服务器。中继可以防止基于IP的攻击并保护玩家隐私。
连接质量的公平性:由于每个人都连接到中继,因此任何网络优势(例如,在P2P场景中充当主机)都被中和。每个人都体验到更一致的连接质量。
NAT:从设计上讲,中继通过在用户之间充当中介来解决P2P众所周知的连接问题,从而实现无缝连接和玩家体验。具体来说,它克服了NAT穿越和防火墙限制。
潜在的作弊检测:中继服务器可以配备具有实时监控游戏数据的反作弊算法。可疑模式或异常可以被标记,从而更容易检测和阻止作弊者。
WebGL游戏的中继
WebGL游戏特别容易受到传统中继问题的影响。WebGL游戏的延迟往往会比其他游戏高出2-5倍,因为WebGL无法直接打破NAT穿透,它需要中继服务器(STUN服务器)来进行网络地址转换(NAT)。
这更进一步强调需要一项协调服务来帮助克服这一延迟挑战,例如Edgegap,它在一个高度密集的全球网络中为用户提供最近的部署,以缓解这一多玩家WebGL游戏内在的问题。
从中继升级:权威游戏服务器?
游戏服务器托管是指为多人游戏提供在线基础设施。这包括全天候运行的专用服务器,确保玩家无论身在何处都可以连接和一起玩。托管可以由游戏开发者自己管理,也可以由第三方公司管理。
有效的游戏服务器托管对于游戏的在线组件至关重要,影响从延迟到匹配的一切。随着多人体验变得更加中央化于游戏,服务器托管的质量、可靠性和可扩展性对开发人员和玩家来说都变得至关重要。
有关权威服务器为何以及何时比中继更适合的更多详细信息,请参见我们的网络类型指南。
结论
理解从中继服务器到托管解决方案的游戏服务器基础设施的细微差别,对于游戏开发者和游戏社区至关重要。
虽然基本的中继服务可能提供简化的解决方案,但它们在游戏和玩家体验方面带来了成本和考虑。
由自动协调和在全球无地区分发网络上部署的智能中继网络提供的好处,能够远远超过它们的基础设施成本以及与玩家体验直接相关的机会成本。
书写者
Edgegap团队