
用于多人游戏的点对点网络的STUN服务器
什么是 STUN 服务器?
首先,我们需要了解点对点(P2P)网络在多人游戏中的工作原理。
游戏创建一个监听服务器,并通过公共 IP 连接所有玩家到该服务器。
不幸的是,真相比看起来要复杂,因为你的公共 IP 并不是真正属于你的公共 IP。你的 IP 地址实际上是共享的,因为你的互联网服务提供商会将多个用户归为一个公共 IP,称为网络地址转换。
唯一的区别是临时分配给你的端口号,当你请求网页或其他资源时。
对于非工程师来说,可以将服务器的 IP 看作一个公寓楼。然而,每栋楼内有多个单元。每次你订购比萨时,你会获得一个独特的单元号,而这个号码会随时间变化。
这就造成了很多混淆。
我们需要找到一种机制,以获取分配的号码,并以某种方式与其他玩家共享此信息。
这个解决方案称为STUN 服务器。
可以把它想象成黄页。如果你希望人们能够找到你的生意,你必须更新黄页,以便保持你当前的号码。
STUN 服务器对多人游戏安全吗?
不幸的是,这个解决方案并不安全,因为我们的“单元号码”可能被进一步共享,任何来自互联网的人都可以向我们发送任何东西。
大多数服务提供商认为这不安全,并阻止这类流量。
我们唯一的替代方案是中继服务器。
你的私人地址不会与除了中继信息的服务器以外的任何人共享。
---
有关点对点网络、中继和权威服务器(通常称为专用服务器)之间比较的更多信息,请查看我们博客上的专门分析。
---
以上信息的部分内容来自于 Michal Buras,Highwire Games 的高级开发人员,在 Live Service Game Summit 大会上做的演讲。
该会议的完整版本可以在这里找到:点对点、中继和容器实例:对多人游戏开发资源、性能、安全问题的深入分析
书写者
Edgegap团队
与来源和/或内容协作
米哈乌·布拉斯,高线游戏公司的首席网络工程师