reddit 的一篇帖子:
Steam 开始在它们自家的服务器上面允许托管非 V 社游戏了,并且还允许非 V 社游戏使用 V 社的传输服务来抵挡 DDoS 攻击
之前在 SteamCN 的帖子“回顾 2018,Steam 推出与更新的功能,以及展望 2019”(https://steamcn.com/t457899-1-1)中就提到过这项托管服务,只不过现在正式实施了:
......我们还把从自己的游戏中学习到的减少拒绝服务攻击措施开放,供 Steam 的多人游戏使用。鉴于大家会在多个平台上发布自己的游戏,我们让 GameNetworkingSockets 库开源,独立于 Steam 运作。你游戏的 Steam 版本可以利用我们的私有网络,享有与 Dota 2 或 CS:GO 相同的 DoS 保护。这意味着我们会中继你游戏的所有网络流量,保持你的游戏服务器和客户端 IP 地址处于匿名状态,免遭脚本小子攻击。
在新的一年里,我们还计划允许你游戏的非 Steam 版本也可以使用我们的私有网络
。
随后,在 Steamworks 文献库中,找到了描述这项服务的细节,更加验证了这项服务的存在:
Networking API similar to Berkeley sockets, but for games.
IN BETA We're working on shipping this to the Steam Client and making it available in the Steamworks SDK right now. If you want early access, we have a standalone version of the library you can link with. You can also try out the opensource version.
-
It's a connection-oriented API (like TCP, not UDP). When sending and receiving messages, the peer is identified using a connection handle.
-
But unlike TCP, it's message-oriented, not stream-oriented. (The boundaries between the messages are maintained by the API.)
-
Both reliable and unreliable messages are supported.
-
Large messages are split into multiple packets, small messages are combined into fewer packets.
-
A robust ACK / reassembly / retransmission strategy.
-
String encryption and authentication. When a player connects, you can be sure that if a certain SteamID is authenticated, that someone who has access to that person's account has authorized the connection. Eavesdropping / tampering requires hacking into the VAC-secured process. Impersonation requires access to the target's computer.
-
Supports relayed connections through the Valve network. This prevents IP addresses from being revealed, protecting your players and gameservers from attack. NAT punching is not attempted.
-
Also supports standard connectivity over plain UDP using IPv4 or IPv6.
-
To participate in Valve's dedicated server hosting program, use of this API is required. (This program is in beta -- contact us if you'd like to participate.)