dota2吧 关注:6,217,809贴子:174,547,922
  • 0回复贴,共1

关于Dota2东南亚服裸连高延迟的临时解决办法

只看楼主收藏回复


这个办法需要玩家偶尔能够遇见低延迟的服务器,如果一次都没遇见过,本篇不适用。
这个办法针对裸连东南亚的玩家,不使用加速器。
这个办法是我自己一点点试出来的,可能会有隐藏风险。
记忆中,2022年底,大约是ti11期间,东南亚服炸过一次,还影响了比赛。之后,我裸连东南亚的延迟就一直在150ms以上(之前是60ms左右),偶尔可以回到60ms,但是不稳定,网络波动一下就跳回去了。之前也一直没管,反正玩的少。
https://g.nga.cn/read.php?tid=34159044
网上似乎有遇到同样问题的玩家。
但是最近出了鸟人岩洞,发现能白嫖些东西,这下不得不玩玩了。解决延迟就是第一步,不然走路都拉丝。
说到服务器延迟,我第一时间想到的是华中服务器问题,我人在四川成都,会不会是华中这边网络问题,导致去外服慢了。
我在网上搜了半天,翻国服微博啥的,没找到想要的内容。
只是翻到了人家介绍出国网络的文章
https://www.xiapilu.com/web/other-tutorial/china-telecom-china-unicom-china-mobile-route-introduction.html
然后我咨询了客服

客服一告诉我,先按照给出的诊断步骤试试,再反馈给他。
这是他给出的两个链接。
网络连接故障排除
https://help.steampowered.com/zh-cn/faqs/view/669A-2F68-D1D1-A5EC
如何诊断与报告网络问题?
https://help.steampowered.com/zh-cn/faqs/view/3E5A-CFB6-2269-D6C1
于是我试了试,并给出了高延迟时,ping服务器的情况,和dota2中控制台的消息。

这时,客服二回复我,他们不管玩外服的国服玩家,叫我试试蒸汽平台。
如果我想试,一开始就不会来找你,于是我又上传了低延迟时的相关情况。

客服二告诉我,他解决不了我的问题,但是会给dota2团队反馈信息。
总之,客服态度还行,可弯弯绕绕说了半天,解决不了事。
于是,我打算自己来,不都找到ip了吗。如果有一种方法,能够指定使用的服务器ip,选个低延迟的服务器,不就行了吗。
然后,我开始在网上搜索相应的控制台命令。
控制台命令网页
https://dota2.fandom.com/wiki/List_of_Console_Commands
尝试使用了几个看起来比较像的命令(connect/dota_auto_connect/dota_state_disconnect/addip/listip/removeip/writeip)
甚至按照网友的介绍,使用cfg配置文件,自动完成任务。
https://g.nga.cn/read.php?tid=9004294&rand=294
但是,这些命令没起到什么效果。现在一想,banip的命令,应该是在服务器端使用,用来ban掉那些恶劣用户的,而不是客户端ban服务器的ip。
既然dota2中的控制台解决不了,我们就试试系统的防火墙,反正是过滤ip嘛,只是不那么优雅。
右键网络连接,打开设置

点击防火墙

点击高级设置

在出站规则里面新建规则(是客户端问询服务器,所以选出站,我是这么想的)

选择“程序”类规则,只针对dota2

程序路径选dota2实际路径,Steam\steamapps\common\dota 2 beta\game\bin\win64\dota2.exe,记得带上盘符

阻止连接

作用域都选吧,应该不讲究

名称描述随便填,最好是自己能看明白的

建好以后,双击打开它,找到作用域,在远程ip里面添加想要屏蔽的服务器ip。添加应用后,dota2就连接不了指定的服务器了,转而连接那些没有被屏蔽的。当把所有的高延迟服务器屏蔽后,剩下来的不就是低延迟的了吗?

添加ip时,建议末尾一组,从1到255全屏蔽了,不然一个个写会很多很多

那么问题来了,服务器ip去哪找,欸,开头客服给了办法。
库里面,右键dota2,选择属性

启动选项填入“-console”,允许启动控制台

进入游戏,左上角打开设置



找到控制台的快捷键

回到主页面,打开控制台,大概长这样,很多输出信息

主页面右下角开始dota

变成寻找比赛后,上面一点点,选择服务器

选到东南亚,如果想玩日本服务器的,就选日本,这里单独选一个服务器

确认后开始匹配,建议匹配简单人机,两分钟自动进,退游戏无风险。
两分钟后,确认比赛,再立刻退出比赛,断开连接(建议用匹配人机操作哦,别进小黑屋了)。
这时,控制台里面就会弹出服务器的ip(我试了好多命令,status/net_status/net_channels/net_connections_stats,但是在没有进入比赛时,都获取不了服务器ip,所以用了这种方式)
类似这样的信息
[SteamNetSockets] [#2913240804 SDR server steamid:90197546888317952 vport 0 'server'] Discarding inactive session sgp#65 (103.10.124.117:27033). ConnectionShutdown
[SteamNetSockets] [#2913240804 SDR server steamid:90197546888317952 vport 0 'server'] Discarding inactive session hkg#267 (103.28.54.179:27051). ConnectionShutdown
建议把整个控制台消息拷贝下来找。
回到系统桌面
打开cmd(我一般是windows键+r键,然后cmd)

ping这两个地址


显然一个是高延迟,一个是低延迟,那么就把高延迟的ip加入到防火墙屏蔽列表里面吧。保存应用防火墙策略后,可以继续开两分钟的人机匹配,重复以上步骤,直到东南亚的高延迟服务器全部屏蔽。
同时根据控制台里面的信息
sgp#65 (103.10.124.117:27033)
我家连接的高延迟服务器在新加坡
hkg#267 (103.28.54.179:27051)
低延迟的则是在香港
一步一步,我屏蔽了好多ip
东南亚服务器(103.28.54.*,保留)
东南亚 103.10.124.*
澳大利亚 103.10.125.*
印度 155.133.232.*
印度 155.133.233.*
印度 155.133.225.*
阿联酋 185.25.183.*
卢森堡 146.66.152.*
巴西 155.133.224.*
日本服务器(45.121.184.*,保留,但是延迟比较高)
美国 162.254.195.*
德国 155.133.226.*
美国 205.196.6.*
瑞典 155.133.252.*
德国 162.254.197.*
终于,低延迟成功了

额外提一句,之前返回的服务器地址一直是两个,我屏蔽屏蔽着,最后只剩下那一个低延迟的。所以我猜测,dota2比赛时,是两个服务器同时进行的,一个主一个辅。当网络波动时,客户端就会尝试连接辅助服务器,继续比赛。这就是有时网络波动后,延迟一直不太对的原因,因为连接的辅助服务器延迟就是高一截。至于后面切不切回来就不知道了。
总之,我现在就在一个服务器上吊死了。如果网络波动了,那个服务器宕机了,或者后面V社加入了新的东南亚高延迟服务器,甚至单个服务器人多了,当局的游戏体验可能会很差。这就是最开头说的隐藏风险。
额外提二句,用“tracert”追踪到新加坡服务器“103.10.124.*”的网络路径,发现它去日本转了一圈,结合最后我到日本服务器的延迟一直降不下来,可能中国到日本的网络出口有啥问题,或者说我现在的网络,只能使用这种高延迟的出口。

好了,全文完,目前我只是屏蔽了ip,且打了一场机器人匹配,没有过多验证。
建议每次进入游戏后一定要刷一下延迟,有时这样单个服务器,找不到延迟,也就开不了游戏,这时试试重启游戏,或者换一下dns。还不行就取消这个防火墙限制吧。
2024.04.25


IP属地:四川1楼2024-04-25 17:30回复