网页通了,《流放之路》为什么还是“当前地区不可用”
Path of Exile 已在库中却提示地区不可用:追查 CM 的 DIRECT 规则,再处理 UDP 登录带来的反复。
Steam 商店、社区都能打开以后,又遇到一个问题:《流放之路》已经在库里,安装或启动却提示地区限制。之前用加速器选择指定地区能恢复,现在的网页代理不行。
第一版只代理 WebHelper,steam.exe 还在直连。Steam 登录服务器时发出的连接,就漏在了代理之外。
查询 Steam 的 GetIPCountry(),结果是 CN;此时库页面显示“当前地区不可用”。后面每次改完设置,都重新登录再查一次。
连接已经进了代理端口,为什么还是 CN
1.1.0 先加了一个会话入口,把 steam.exe 的 TCP 连接送进来,再按目标分流:CM 登录连接交给上游,下载域名和其他连接直接出去。
第一次启用后,地区仍是 CN。
这台机器当时用的是 Clash,下面的规则也是这次测试的配置。换成其他 SOCKS5 或 HTTP 代理也可以使用这个工具,无须安装 Clash。需要检查的是所用代理有没有把 Steam 登录连接设成直连。
查 Clash 的连接记录才看到,CM 请求确实到了代理端口,但随后命中了这条规则:
DOMAIN-SUFFIX,steamserver.net,DIRECT
请求到了 Clash,又按这条 DIRECT 规则直接连了出去。之前检查到 8899 收到连接就停了,没有接着看 Clash 选了哪条规则。
现有 Steam 策略实际选的是日本节点。经确认,这次只把 CM 域名改到该策略:
DOMAIN-SUFFIX,steamserver.net,Steam
下载域名的直连规则保留。正常退出 Steam 再登录后,CM 的连接记录显示经过日本节点,GetIPCountry() 变成 JP,库页面上的按钮也从“当前地区不可用”变成了“开始游戏”。
这里的 Steam 是这台机器已有的策略名,其他人的配置不一定有。工具本身不会替用户改 Clash 规则。
又重启了一次,地区怎么回去了
这次还踩了启动参数的坑。Steam 有时会选择 UDP 登录,而新增会话模式只接管 TCP。
原本尝试用 -tcp 固定登录方式,实测仍出现了 UDP 连接,地区随之回到 CN。最后换成 -websocket,重新登录后再次得到 JP。最终版在开启会话模式时带上这个参数启动 Steam。
使用时先正常退出 Steam,再点击工具里的启用按钮,这样启动参数才会生效。Steam 已经运行时再打开一次 EXE,原来的登录连接还在。
这能替代加速器吗
这次把 Steam 登录连接改走日本节点后,库里的地区提示消失了。工具代理到这里为止,游戏本身还是按原来的方式联网。
进游戏之后的延迟、丢包和掉线,要看游戏实际连的服务器。有些游戏连接厂商服务器,有些使用玩家直连或 Steam 的 SDR 中继,具体方式可以参考 Valve 的 Steam Networking 文档。
这次没有修改账号国家或游戏授权。测试做到库里出现“开始游戏”就停了,还没进游戏,也没测联机。如果之后进游戏仍有问题,需要再看当时的错误提示和连接记录。