打开QQ对战平台,兴冲冲进了红警2专区,房间列表一大堆,双击进去,看着别人开好的图心里却有点不是滋味。自己点“新建游戏”,页面转悠两秒又弹回大厅,偶尔侥幸建成了,别人一点加入就显示“连接失败”或“主机无响应”。这感觉太熟悉了,就像当年在网吧喊人联机,偏偏你嗓门最大却没人能听见。
问题其实不在游戏本身,也不在浩方或QQ平台那几行代码,而是出在“别人能连进你”这个环节上。玩红警2这种老游戏,本质上是点对点连接,主机玩家把你的电脑当成一个服务器,别人要访问你,就得经过一层叫“NAT”的网络设备,也就是路由器。路由器默认是关门的,建主就相当于在门上开了个招待窗口,但恰恰是这一步被堵死了。
最常见也最好查的原因,是Windows自带的防火墙或第三方杀毒软件在悄悄作怪。这玩意儿对老游戏特别不友好,红警2的联机端口是固定的,类似于你在房里专门给客人留了个传话的管道,防火墙一看这管道没人登记过,直接给你拿水泥封上。别人发来的连接请求,你的电脑根本没收到,自然建不了图。解决方法倒不复杂,去控制面板把防火墙关掉试一次,或者更稳妥点,在里面把游戏目录里的Ra2.exe和Game.exe添进白名单。我刚工作那会儿用公司笔记本在宿舍建主,死活不行,关了防火墙立刻就好,当时还嘀咕是不是宿舍网管搞鬼,后来发现是系统自带那个拦路虎。
排除了软件拦截,还有一道坎,就是路由器背后的“端口映射”问题。现在很多人家里拉的宽带都是光猫一体机,再桥接一个自己的路由器,相当于两堵墙。就算你关了防火墙,外面的人也敲不开第二道门。你要是会用路由器的管理界面,可以进去找找“虚拟服务器”或“端口映射”这类选项,把红警2用的那个端口直接指向你家电脑的内网IP。不过说实话,大多数玩这个游戏的老哥们早就不记得路由器密码了,或者压根不知道光猫还有这个功能,所以这个办法在现实中没那么好使。
那有没有更省事的路子?有。QQ对战平台后来更新了几版,增加了“组网”功能,像是在你和你朋友之间搭了根专用的虚拟网线。如果平台带有类似“局域网联机”模式的辅助,用那个模式建房成功率会高很多。它的原理是绕开了公网IP互通的难题,相当于把数据从平台服务器中转了一下。要是你也遇到上述情况,可以优先挑这种游戏大区或者支持自动组网的房间去试。我记得有段时间平台里红警2分区就分了“网通”和“电信”,其实就是为了缓解跨运营商之间的延时而设的,不过现在宽带环境好了些,这个影响没有以前明显。

再有一个被忽略的细节,是游戏主程序本身的问题。很多老玩家手头是网上随便下的免安装汉化版,文件被人改过,各种版本混杂。主机建立地图后,会自动广播给同房间的玩家,如果对方是英文原版而你用的是后来魔改的扩展版,版本号校验不通过,对方那边也会显示无法加入。有个很笨但有效的土办法,找几个都带了尤里的复仇原版镜像的朋友,大家卸载了重装,用同一个版本的联机补丁,建主和加入基本就稳了。我那时候跟着战队的人联机,他们分享的都是同一个网盘链接的文件,就是为了避免这种版本上的不一致。
万一以上办法都试了还是不行,还有一个物理层面的玄学:让朋友用手机热点开个WiFi,你连上去后再建房试试。原理是手机热点往外发数据时,NAT方式往往更宽松,对老游戏的支持反而比家庭里的双路由环境好。这招我帮朋友解决过好几次,代价是手机流量消耗有点快,但红警2那点数据量倒是不愁。
说到底,红警2这个游戏到底还值不值得这么折腾,每个人心里有杆秤。有人图的是那一下基洛夫飞艇压过来时的压迫感,有人馋的是开局七个兵营爆动员兵的爽快,甭管哪一种,要是连好友进不来,这股子劲儿就散了。如今QQ对战平台还在维护这个老游戏已经算难得,很多当年的队友早就把青春留在了那些短暂加载的画面里。不过你要是真有上头的朋友还在坚持,拿这篇文章里的几个招去试着捣鼓一下,没准下次建图不用再对着空房间发呆了。