TL; DR:如果网络裸连能玩其他联机游戏,却一直没法正常连接喷喷3,不妨试试挂翻墙的 http 代理。
正文:
自己家里的网能裸连玩喷二,却不能玩喷三,症状是对战和打工大厅都直接连接错误,侥幸进入大厅的话也难以匹配到对局,但一旦连接成功的话倒是又能正常打,还不会掉线。
因为网络质量本身完全 ok,所以总觉得加速器是冤枉钱。去年为这件事情折腾了许久之后总归还是买了加速器,省心归省心了,但喷喷年底弃了两个月之后也就浪费了两个月加速器钱——于是更不想重新续上加速器了。
然而塞尔达联动祭典又不能不玩,所以今天还是走了老路子,试着给 ns 挂上平时的梯子路线。不出意料,udp 转发很是成问题,甚至用 pcap2socks 进行 ARP 劫持的方法连接的话会直接测速失败(这种方法原理和加速器一样,连接失败暂且不确定是不是自己的 PC 出了什么神秘的 bug……又或者是线路不支持我这么操作吗)
重新梳理了一遍症结,猜测问题出在国内的网络没法正常连接任天堂的中心服务器,所以才会无法进入大厅和无法匹配。而实际对战用的是 p2p 的就近连接,因此 udp 转发这块说不定根本不必要——于是给机器挂上梯子的 http 代理测试了一下,结果一切正常,今晚打了二十场左右也没有什么异常,甚至体感上延迟和挂加速器时相差也不是很大。
……真是绕了好大一个圈子啊!!
最后补充下,我的网络条件是随机公网 IP,在路由器上给 ns 设置了需要端口的转发(类似 DMZ,但安全性稍微好一点儿),裸连时的 NAT 是 A,不挂 http 代理时测速约在 5 Mbps 上下。