
WebRTC中继用于多人游戏
多人游戏需要低延迟以提供无缝的游戏体验。传统上,游戏后端依赖于集中式服务器或对等网络来连接玩家。然而,它有 严重的限制和严重的安全隐私问题,这限制了其在商业多玩家游戏中的使用。
WebRTC(Web实时通信)中继是一个替代方案,特别适用于较小的多人游戏。
在这篇文章中,我们将探讨WebRTC中继是如何工作的,为什么使用它,为什么它可能不适合大规模商业游戏,以及一种替代解决方案。
WebRTC中继如何用于多人游戏
WebRTC是一种协议,可以促进对等(P2P)连接,实现设备之间实时音频、视频和数据传输。
像所有中继一样,当由于防火墙或NAT(网络地址转换器)等网络限制而无法进行直接的P2P连接时,就使用WebRTC中继。在这些情况下,数据通过服务器中继,作为中间人,将流量在玩家之间路由。
在多人游戏中,该系统允许在玩家之间传输游戏数据,而无需集中式游戏服务器。WebRTC中继通过允许直接通信,同时仍然使用服务器处理困难连接,来减轻一些这种责任。
游戏的架构必须适应与WebRTC配合使用,包括管理中继服务器和处理无法进行P2P连接的边缘情况。
为什么在多人游戏后端使用WebRTC?
成本效益:对于玩家较少的较小游戏来说,WebRTC可以是一个成本效益高的解决方案,通过将流量卸载到P2P网络,减少对专用游戏服务器的需求。
跨平台支持:WebRTC支持各种平台,允许在不同设备之间无缝连接,无论是在桌面、移动设备还是游戏机上。
隐私与NAT:由于通常多个用户共享一个公共IP(见“以及在多人游戏中的对等网络”),中继保护这些信息以保护玩家的IP,服务器在玩家之间路由游戏数据,绕过防火墙和NAT障碍,以确保顺畅的通信。
为什么不应为商业多人游戏使用WebRTC中继
虽然WebRTC提供了一些好处,但在扩展到更大、商业化的多人游戏时,有显著的缺点:
隐藏的开发与基础设施成本:建立和维护定制的WebRTC中继服务器是昂贵的。像People Can Fly(在他们的游戏Outriders中,参考他们的Unreal大会)这样开发商不得不显著修改游戏代码,以使WebRTC中继在Unreal引擎中工作。该基础设施需要在托管、测试和优化方面持续投入成本。
性能限制:尽管降低了服务器成本,WebRTC中继并不总是提供比传统集中式服务器更好的性能。例如,EOS(Epic在线服务)中继与WebRTC中继进行了比较,但后者在处理大规模游戏流量时是否更加高效仍不明确。
安全性和控制:通过外部服务器转发敏感游戏数据可能会带来安全风险。集中式服务器对游戏数据和用户交互提供更大的控制。即使它们比P2P网络更安全,不当实施的WebRTC中继流量仍可能被Fiddler等工具截取。
复杂性增加:使游戏与WebRTC配合使用需要对网络协议、定制代码实现和广泛测试有深入理解,这对正在尝试按时发布的大型游戏工作室来说可能是一个障碍。
替代解决方案:商业中继
对于寻找免费解决方案的开发者来说,Epic在线服务(EOS)和Steamworks为开发者提供免费的中继。然而,这些免费的中继服务器通过为游戏数据包增加额外步骤引入了额外的延迟,并且由于中继选项有限,玩家可能会被路由到遥远的服务器,在商业游戏中造成不可接受的高延迟。
此外,这些免费的中继在对等游戏中可能会存在弱点,因为Fiddler等工具允许轻松访问大厅数据,暴露玩家的私密信息为明文。这一安全缺陷可以通过最小的努力被利用,使任何人都能抓取和滥用玩家数据。
对于寻找可扩展解决方案的开发者,Edgegap提供了一种替代WebRTC中继的分布式中继基础设施。Edgegap的 分布式中继 利用靠近玩家的分布式节点网络,确保游戏数据通过最有效的路径进行中继。这大大减少了延迟,同时为商业多人游戏提供了卓越的可扩展性。
Edgegap的解决方案对想要减轻构建定制基础设施负担的游戏特别吸引。
而不是管理自己的WebRTC中继,Edgegap的分布节点会自动为每个会话选择最佳中继服务器,减少了大量基础设施投资的需求。这确保了更好的性能,特别是在P2P连接可能不可靠的地区。
结论
WebRTC中继可以是较小多人游戏的高效解决方案,提供更低的延迟和简化的基础设施。
然而,它们在开发和运营成本、复杂性和可扩展性方面存在显著缺点,使它们不适合大规模商业游戏。
对于希望在保持低延迟的同时有效扩展的开发者,Edgegap的 分布式中继 解决方案提供了一个强大的替代方案,结合了WebRTC低延迟通信的优势和分布式基础设施的可扩展性。
---
有关对等网络、中继和权威服务器(通常称为专用服务器)之间的比较的更多信息,请查阅我们博客上的详细分析。
---
以上信息来自Highwire Games高级开发人员Michal Buras在Live Service Game Summit大会上的演讲。
此次大会的完整版本可以在此找到:对等网络、中继和容器实例:对多人游戏开发资源、性能和安全问题的深入分析
书写者
Edgegap团队
与来源和/或内容协作
米哈乌·布拉斯,高线游戏公司的首席网络工程师
