最近在海外用 PC 玩《鸣潮》国服,结果一上来就被它教育了。
登陆困难:第一道门槛
连接国服时,登陆界面反复提示“检查网络连接”,怎么都进不去。
好不容易挤进去后,游戏里右上角延迟经常突然跳到 999ms,紧接着就是:
网络异常,正在重新连接中…
有时能玩半分钟卡一分多钟;有时战斗正激烈,它突然给我来个黑色半透明提示,让失去控制的漂泊者就在残像的围殴中凌乱。
初步排查:Proxifier 代理 TCP 域名
第一反应当然是打开 Proxifier 看看游戏连了哪些域名,并把它们全部丢进中国大陆 XX 云的代理:
*.kurogame.com
*.kurogames.com
*.aki-game.com
*.aki-game2.com
另外必须加一个前置规则:
cdn-*-cn-mc.aki-game.com直连
不然游戏更新时几个 G 的流量全走代理,谁都受不了。
这样设置后,登陆问题解决了,但游戏内掉线完全没改善。
我甚至尝试在 Proxifier 中对连接逐个 Disconnect,想找出掉线的域名,结果毫无收获。
关键发现:掉线不是 TCP 的锅,而是 UDP
突然意识到一个关键点:
Proxifier 只能代理 TCP。
于是我用 Wireshark 抓包,结果非常直观:
- 游戏进行时 UDP 包大量出现
- 大部分发往中国大陆 IP
- 阻断这些 UDP 的目的 IP → 游戏立刻掉线
这说明:
鸣潮在游戏中依赖 UDP 与服务器通信,并用 UDP 的往返时间计算延迟。
更进一步观察:
- 每次重新登录后
- UDP 的目的地址和端口都会变化
- 看起来是登陆阶段通过 TCP 随机分配的
因此解决方案非常明确:
游戏时,把所有指向中国大陆的 UDP 流量都走代理。
Proxifier 做不到这一点,于是换工具。
使用 Clash Verge:TUN 模式代理所有流量
Clash Verge 的 TUN 模式 可以代理所有类型的流量(注1),包括 UDP。
我新建了一个本地订阅配置:
# Profile Template for Clash Verge
# 示例配置,仅供参考
proxies:
- name: CN-XXYun-SOCKS
type: socks5
server: x.x.x.x
port: 3128
username:
password:
udp: true
proxy-groups:
- name: CN-PROXY-GROUP
type: select
proxies:
- CN-XXYun-SOCKS
rules: []
然后添加规则:
prepend:
- 'DOMAIN-SUFFIX,kurogame.com,CN-PROXY-GROUP'
- 'DOMAIN-SUFFIX,kurogames.com,CN-PROXY-GROUP'
- 'DOMAIN-REGEX,login(.+)\.aki-game\.com,CN-PROXY-GROUP'
- 'AND,((GEOIP,CN),(NETWORK,udp)),CN-PROXY-GROUP'
append: []
delete: []
配置完成后,回到主界面,用 虚拟网卡模式(TUN) 启动代理。
最终效果:延迟稳定,掉线消失
启动游戏后可以看到:
- 与鸣潮相关的所有流量都走代理
- 包括那些随机 IP 和端口的 UDP 包
- 游戏延迟稳定在 500ms 左右
- 掉线问题几乎完全消失🎉
虽然延迟仍偏高,但至少能稳定玩,不会突然被服务器“放逐”。
注1:代理也必须支持 UDP。如果你把 TUN 模式的流量导入一个 HTTP 代理,那UDP依然是走不通的。
