很多人以为单机游戏的天性就是一个人关在屋里闷头玩,其实只要把网络环境或者游戏协议处理干净,多台电脑完全可以一起联机。我自己一开始就被坑过,买了一份支持局域网的老游戏,跟室友坐同一个路由器下,却怎么都搜不到对方房间。后来才知道,是Windows防火墙把游戏广播包拦住了,在防火墙设置里给游戏程序添加允许规则后,问题立刻消失。所以遇到连不上,先别急着怀疑软件,先检查防火墙和网络配置文件。
解决局域网连接问题的常规操作是这样的:把电脑的网络配置文件从“公用网络”改到“专用网络”,然后在Windows安全中心的防火墙里为游戏主程序设置入站和出站规则。如果游戏需要特定端口,去路由器管理界面找到“端口映射”或“转发规则”,把UDP和TCP端口分别映射到两台电脑的内网IP上。绝大多数老游戏联机使用的是UDP协议,端口范围在1000到9000之间,具体可以在游戏文档或Steam社区看别人提供的经验。给两台电脑设置静态IP也是必要的,因为DHCP自动分配一旦变化,游戏里保存的IP地址就失效了。
如果游戏只有单人模式,或者没有局域网选项,就需要引入虚拟局域网工具。这类工具会在每台电脑上创建一块虚拟网卡,把所有加入同一网络的设备组成一个二层网络,彼此能直接访问。我推荐用ZeroTier或Tailscale,二者都以用户态加密和UDP穿透为主。ZeroTier在中国大陆的节点延迟相较Tailscale低一些,但需要自己创建网络并加入管理。Tailscale基于WireGuard协议,设备认证简单,同一个账号下的设备自动加入协同网络。实际测试中,我在北京家里和上海朋友联机《帝国时代2决定版》,ZeroTier的Ping值约为25毫秒,游戏全程没有掉线,而用Hamachi时延迟经常跳到150毫秒以上,甚至出现不同步报错。Hamachi免费版限制5台设备和最长4小时在线,且频繁重连,不推荐用于正经游戏。
对于完全没有联机功能的单机游戏,另一条路是用串流软件把画面和操作权共享出去。Parsec和Steam远程同乐是典型代表。Parsec用H.264视频编码,压缩延迟在5到10毫秒之间,加上网络往返延迟,总延迟大约等于“50毫秒加显示设备延迟”。它需要主机上行带宽至少15Mbps,推荐30Mbps,客户端下行带宽要求类似。实测在千兆光纤下运行《双人成行》这类原生支持远程同乐的游戏,画面清晰度基本无损。但Parsec有一个问题:它只能让另一台电脑看到并控制主机的画面,不能各自独立运行游戏世界,所以本质上等同于“坐在一起分享一块屏幕”,不是真正的多机联机。
如果游戏本身有多人协议,但发布商已经关闭官方服务器,比如很多十年前的老游戏,那联机补丁就派上了用场。以Goldberg模拟器为例,它把游戏原本调用的Steam联机API替换成本地局域网回环,使游戏误以为自己是正版在线模式。使用这类补丁时必须确保游戏版本完全一致,并且补丁里的steam_appid.txt和游戏原文件对应。补丁不会影响游戏中的单机流程,但很多杀毒软件会误报,因为补丁涉及程序注入。需要注意,联机补丁并不能为没有网络模块的游戏增加联机能力,像勇者斗恶龙11这种纯单机RPG,再怎么补丁也没法联机。

网络设备同样影响体验。之前我用路由器无线连两台电脑,玩《求生之路》时偶尔瞬移,后来换成一台几十块钱的千兆交换机,用网线把两台电脑和交换机接好,延迟降到0.2毫秒,瞬移彻底消失。如果是无线,务必使用5GHz频段并让电脑靠近路由器,2.4GHz在复杂环境干扰严重,尤其是在客厅放一个微波炉时,游戏会直接断连一分钟。不过也有的路由器QoS(带宽管理)会影响游戏小包,可以在路由器设置里关闭流控功能,让游戏数据包优先。
存档冲突是老游戏联机最容易掉进去的坑。有些游戏把存档写进系统或用户目录,联机启动时会识别为同一设备,导致打开进度时出现“正在使用”的锁。解决办法是每台电脑使用不同的Windows用户名,或者使用游戏配置文件里的profile名称区分。如果游戏只有单人存档,那么联机模式下通常以房主存档为准,另