先说解决办法:房主和游客需要同时在 “steam设置-游戏中-steam网络” 选项 中选择 “始终”,这个选项禁用了p2p中继,可以缩短报文传递路径,从而大幅度降低延迟和丢包率。注意:是房主和游客需要同时选择始终,才有效果。
起因:脱坑了一段时间,回坑后发现近距离房间延迟普遍200ms-300ms,以前从来没有过这种现象。有人说是电信和联通之间网络延迟高,但直觉告诉我没这么简单。
分析过程:用wireshark在游戏时抓包,筛选出游戏对应的数据流,发现对端IP竟然是香港地区,对应的域名属于V社。我尝试ping了一下这些地址,普遍延迟都在200ms左右。这下我心里就有点数了。
众所周知深岩银河是p2p联机,理论上只需要同房间的其他玩家IP就可以游玩(实际上不完全是这样,地图和任务是从鬼船服务器上下载的,但这些不影响游戏的延迟)。从抓包来看,游戏似乎是将联机数据发到了香港valve的服务器上中转了一下,而香港服务器到我这里的延迟又很高,所以导致了问题。
后来想起来有一次在游戏中,某个玩家的房名提过上面这个设置,于是又到steam中研究了一下。幸好steam贴心的在这里放了一个说明,果然和我推测的一样
出于安全或隐私的原因,steam默认不会分享玩家间的IP地址,p2p的流量会统一从中继服务器上中转。联机延迟绝大部分都耗在了这上面,steam你坏事做尽。
为了验证猜想,我找来朋友进行了测试,确实和预期的一样,开启中继会导致延迟增加200ms左右,至此终于破案了。
起因:脱坑了一段时间,回坑后发现近距离房间延迟普遍200ms-300ms,以前从来没有过这种现象。有人说是电信和联通之间网络延迟高,但直觉告诉我没这么简单。
分析过程:用wireshark在游戏时抓包,筛选出游戏对应的数据流,发现对端IP竟然是香港地区,对应的域名属于V社。我尝试ping了一下这些地址,普遍延迟都在200ms左右。这下我心里就有点数了。
众所周知深岩银河是p2p联机,理论上只需要同房间的其他玩家IP就可以游玩(实际上不完全是这样,地图和任务是从鬼船服务器上下载的,但这些不影响游戏的延迟)。从抓包来看,游戏似乎是将联机数据发到了香港valve的服务器上中转了一下,而香港服务器到我这里的延迟又很高,所以导致了问题。
后来想起来有一次在游戏中,某个玩家的房名提过上面这个设置,于是又到steam中研究了一下。幸好steam贴心的在这里放了一个说明,果然和我推测的一样
出于安全或隐私的原因,steam默认不会分享玩家间的IP地址,p2p的流量会统一从中继服务器上中转。联机延迟绝大部分都耗在了这上面,steam你坏事做尽。
为了验证猜想,我找来朋友进行了测试,确实和预期的一样,开启中继会导致延迟增加200ms左右,至此终于破案了。