在过去的几年中,Valve通过中继流量并将其传输到其网络骨干,致力于提高Dota 2和CS:GO中多人游戏的质量。 这使您可以保护游戏免受DoS攻击,减少ping并提高连接质量。 在Steamworks SDK版本1.44中,
Valve推出了一个新API ,向所有Steam合作伙伴提供对该服务的访问。

阀门发表了
特别的帖子 。 该API包括:
- 接入Valve网络可保护玩家免受攻击,提供可靠的100%NAT通道并改善连接。
- 用于即时评估两个任意节点之间的ping而不发送数据包的工具。
- 通过具有端到端加密的可靠UDP协议进行高质量连接。
阀门网络访问
Valve在全球30个网络连接点部署了中继节点,其带宽为数兆兆位。 网络至少有一些优势。
首先,流量中继是匿名的,可以保护游戏服务器和用户免受DoS攻击。 另外,由于路由选择决策是由客户端动态做出的,因此如果中继节点不可用,则客户端可以在几秒钟内切换到另一个节点,或者在必要时切换到另一个连接点。 攻击者只有在其攻击能够一次使多个数据中心超负荷的情况下,才能破坏游戏过程。
其次,客户将能够选择一条将其尽快从公共Internet连接转移到专用Internet的路由。 Valve与超过2500个Internet提供商合作,确保了其网络主干上的最佳路由。 此外,对延迟敏感的游戏流量优先于通过HTTP下载的内容。 这是可能的,因为所占用带宽中游戏流量的份额相对较小。 在网络主干上,非游戏流量的突然增加不会影响游戏质量。
蛋糕上的樱桃是要减少砰! Valve协议为客户提供了选择根请求路径的机会。 客户端考虑每个中继连接点,确定路由的端到端延迟,然后选择延迟最小的路由。
如果允许客户选择一条路线,他们的连接通常会比默认连接好得多。 在分析了1600万个唯一客户端IP地址与Valve数据中心的专用服务器的连接后,他们获得了以下结果:
- Ping时间减少了43%的玩家。
- 对于25%的播放器,ping时间减少了10毫秒或更长时间。
- 对于10%的播放器,ping时间减少40毫秒或更长时间。
改进范围因地区而异。

Ping评估工具
ISteamNetworkingUtils
接口
ISteamNetworkingUtils
包括基于网络的中继ping评估工具。 通过测量到不同中继节点的ping时间,我们生成描述主机在Internet上位置的坐标。 使用这两套坐标,Valve可以非常准确地估计两个任意节点之间的ping时间,而无需发送数据包。 在选择游戏并选择对等网络节点时,此功能非常有用。
开源端到端协议
SteamNetworkingSockets
不仅提供对基于Valve中继网络的功能的访问以及对Steam合作伙伴的网络主干的访问,而且还是游戏的通用传输库,具有以下功能:
- 碎片,组装和中继。 在您的代码中,您发送和接收的消息可能少于或大于网络数据包。 为了提高效率,该协议将几个小消息组合为一个数据包,将大消息拆分为多个数据包,在接收侧收集它们,并重新传输因数据包丢失而丢失的可靠消息段。
- 加密和认证。 安全性不是现代在线游戏的第二要务:漏洞可能会破坏游戏的印象。 正确的加密是一个真正的挑战。 Valve以可靠广播的现代标准为指导,并将其应用于游戏使用的不可信消息。 默认情况下,内置加密可防止数据被拦截。 要防止劫持攻击,需要可信的第三方才能访问证书或共享机密。 Steam的游戏是如此:为了使攻击者能够拦截或修改数据包,他必须处于VAC系统检测到它的游戏过程中。
- 此API的核心功能在开源版本中也可用。 Valve希望开发人员充分利用API ,如果不能保证可以免费访问源代码,这将是不可能的。
那还不是全部
这是旨在为Steam合作伙伴改善网络游戏性能的一系列更新中的第一个。 到目前为止,Valve仅改进了点对点网络的工作,但除此之外,他们还计划使合作伙伴可以访问专用服务器的开发成果。