【黑科技】CS:GO官方匹配SDR中继节点

本文转载自CSGO贴吧:@狙击手Ricky


快速使用指南

  1. 进入游戏,按“~”打开控制台
  2. 输入net_client_steamdatagram_enable_override 1
  3. 开始进行匹配游戏

【内容提要】

在最近的更新中,游戏添加了一个控制台参数net_client_steamdatagram_enable_override 1,开启它可以使用中继节点连接进游戏服务器。它的作用是什么?有什么好处?本文将详细介绍

【原文】http://www.reddit.com/r/GlobalOffensive/comments/580lxa

最新版本的CSGO提供了新的中继协议支持,名为SDR(Steam datagram relay)。
相比于直接与游戏服务器传输数据,你的游戏客户端会选择一个中继并通过它来连接游戏服务器。
这种方式有几大好处:1.这可以把游戏服务器移出互联网,可以防止各种对服务器的攻击。2.如果一个Dos攻击使你无法连接某一个中继,游戏会自动切换到另一个中继,游戏会在几秒内自动完成切换。3.有多个中继备选意味着系统可以选择最优的网络路线来连接游戏服务器。

举个例子,Dota已经应用这个中继协议了一年,并且绝大部分美国的Dota玩家相比于以前的IP直连,延迟都得到了一定程度的降低,因为他们的客户端会自动选择最近的中继。这也意味着网络数据传输不再通过互联网,而在接入中继节点后走的是valve专线。

后面我们会向所有玩家开放这个协议,所有CSGO游戏都会使用中继协议。但是今天我想让大家知道一个可以使用这个协议的参数,几个月后会正式全面应用这个协议,在这之前你们可以帮我们测试并找出问题。

net_client_steamdatagram_enable_override 1参数可以用来强制使用SDR(如果你所在的地区支持的话)。你可以看到你这能通过SDR模式连接因为目标地址不是IP形式的(xxx.xxx.xxx.xxx格式),他会变成=[A:N:NNNNNNN]。这个参数在你连接到服务器前才能开启,在连接进服务器后再修改则不会生效。开启后你的延迟算法也会发生变化。不是显示你游戏客户端到服务器的延迟,它显示的是客户端到中继节点的延迟。

steamdatagram_client_status参数会在控制台显示详细的网络状态。

SDR节点和游戏服务器使用的网络端口一样(27015-27200)

最后再说明一下延迟。控制台显示的SDR节点延迟不同于net_graph参数显示的延迟,也不同于通过ping参数测试的延迟。SDR节点的延迟是精确的,并且和一般的ICMP ping一致。假设你的中继节点和游戏服务器都在一个地方,那么游戏里的延迟显示不会真的去测试,而是测量了游戏客户端发送数据,服务器处理,传回客户端,客户端处理完的总时间。

在dota开发者论坛的这个帖子可以看到更多信息
http://dev.dota2.com/showthread.php?t=184807


实测该命令确实有效,河南联通10M网络环境,游戏服务器为香港服务器,开启前110ping,开启后35ping,效果极佳!

我不当学长

CS:GO娱乐玩家,乐于为爱好CS:GO的朋友提供各种有价值的教程~

You may also like...