Win7和XP之间连星际争霸1的局域网,这事儿说难不难,说简单也藏着不少坑。前阵子翻出老硬盘里的星际1.08版,想跟还在用老笔记本跑XP的朋友搓两把,结果折腾了一晚上才搞定。这里头有些门道,值得好好捋一捋。
首先最要命的版本问题。星际争霸1从1.0到1.16.1,中间隔了好几代协议变更。Win7和XP系统本身没问题,但游戏版本不一致,局域网列表里死活看不见对方房间。我们俩一个装的是1.08,一个是1.15.3,光这一步就卡了半小时。解决办法很粗暴,把两个机器都装成1.16.1版本就行。这个版本是官方最后支持的经典版,网上资源好找,而且对Win7兼容性做了特别优化。
然后是IPX协议这个老古董。XP系统自带IPX/SPX协议,但Win7把这家伙给彻底删了,装驱动都找不回来。没有IPX协议,星际争霸1的局域网模式就瞎了,因为老星际只认IPX不认TCP/IP。只能去网上下一个独立的IPX协议安装包,这东西现在不好找,当年打红警的玩家应该都存着。装的时候记得右键管理员身份运行,不然Win7的UAC拦着不让写注册表。
装好协议只是第一步。Win7的防火墙和系统服务里,还有一个叫“链路层拓扑发现”的东西在捣乱。这玩意儿和IPX协议抢端口,导致游戏刷新房间时偶尔能看到对方,但一加入就超时。干脆在控制面板里把网络发现和文件共享全关了,防火墙对星际争霸这个程序设成允许。反正就是局域网临时用,安全起见关了也无妨。
真进入游戏后还有一坑,就是地图路径。两台机器的用户名不一样,导致地图缓存目录的完整路径不同。比如XP那台是C:\Documents and Settings\Admin\My Documents,Win7这台是C:\Users\小明\Documents。如果非要互相传录像或自定义地图,路径对不上就导入失败。解决方法是手动把地图复制到各自的“我的文档”对应目录下,别指望游戏自动同步。

另一个容易忽略的是分辨率。XP那台老电脑最高只支持1024x768,Win7这台如果强行拉高分辨率,局域网对战时输入延迟会明显增加,鼠标飘得没法操作。把两边都调成800x600窗口模式玩,反而最稳当。我们试过全屏高分辨率,卡得兵都点不动。
最后讲一个玄学但真实的现象:Win7重启后IPX协议偶尔会失效。设备管理器里看网络适配器,属性里勾选的IPX协议明明还在,但游戏就是搜不到房间。把网卡禁用再启用一次,协议就重新生效了。这个现象网上讨论不多,但我自己遇到两次,都靠这招解决的。如果还不行,就把IPX协议卸载重装一遍,五分钟的事儿。
以上都调通之后,建立主机的那台机器最好把游戏内的网络延时显示打开,方便确认双方帧数同步。正常局域网状态下,两台机器延迟显示应稳定在10ms以内。我们实际测下来,XP那台老机器Ping值在15ms左右,Win7这边是8ms,这个差距体感上完全能接受,微操起来和单机没区别。
整个过程折腾下来,最核心的就两点:版本对齐和IPX协议。其他都是细枝末节。要是手头没有独立IPX安装包,还有个备选方案,用现成的第三方联机工具,比如那个叫StarDraft的软件,它能模拟IPX传输。不过软件设置项更多,还不如手动装协议干净。反正自从搞定那次联机之后,我建议周围老玩家都装了个1.16.1绿色整合包,里头自带IPX协议和Win7兼容补丁,一劳永逸。星际争霸1这游戏都二十多年了,还能拉上朋友在局域网里打两把,这份情怀值这点折腾。