用于多人游戏的点对点网络的STUN服务器

Docker for Game Servers
Docker for Game Servers
Docker for Game Servers

什么是 STUN 服务器?

首先,我们需要了解点对点(P2P)网络在多人游戏中的工作原理。

游戏创建一个监听服务器,并通过公共 IP 连接所有玩家到该服务器。

不幸的是,真相比看起来要复杂,因为你的公共 IP 并不是真正属于你的公共 IP。你的 IP 地址实际上是共享的,因为你的互联网服务提供商会将多个用户归为一个公共 IP,称为网络地址转换

唯一的区别是临时分配给你的端口号,当你请求网页或其他资源时。

对于非工程师来说,可以将服务器的 IP 看作一个公寓楼。然而,每栋楼内有多个单元。每次你订购比萨时,你会获得一个独特的单元号,而这个号码会随时间变化。

这就造成了很多混淆。

我们需要找到一种机制,以获取分配的号码,并以某种方式与其他玩家共享此信息。

这个解决方案称为STUN 服务器

可以把它想象成黄页。如果你希望人们能够找到你的生意,你必须更新黄页,以便保持你当前的号码。

STUN 服务器对多人游戏安全吗?

不幸的是,这个解决方案并不安全,因为我们的“单元号码”可能被进一步共享,任何来自互联网的人都可以向我们发送任何东西。

大多数服务提供商认为这不安全,并阻止这类流量。

我们唯一的替代方案是中继服务器

你的私人地址不会与除了中继信息的服务器以外的任何人共享。

---

有关点对点网络、中继和权威服务器(通常称为专用服务器)之间比较的更多信息,请查看我们博客上的专门分析。 

---

以上信息的部分内容来自于 Michal Buras,Highwire Games 的高级开发人员,在 Live Service Game Summit 大会上做的演讲。

该会议的完整版本可以在这里找到:点对点、中继和容器实例:对多人游戏开发资源、性能、安全问题的深入分析

书写者

Edgegap团队

与来源和/或内容协作

米哈乌·布拉斯,高线游戏公司的首席网络工程师

Get your Game Online Easily & in Minutes

Get your Game Online Easily & in Minutes