老游戏联机总失败?IPXWrapper 帮你把"局域网"按钮重新点亮
【免费下载链接】ipxwrapper项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper
你有没有过这样的时刻:某个周末心血来潮,翻出《红色警戒2》的光盘,兴冲冲拉上当年的老同学,结果打开游戏点那个"局域网"选项,屏幕纹丝不动,像一扇锁死的门。换了三台电脑、试了各种"兼容模式",依旧无解。
别急着怀疑游戏文件损坏。问题很可能出在协议上——而今天要聊的 IPXWrapper,正是专门为这种场景而生的免费开源工具:它能在现代 Windows 上为老游戏重新提供 IPX/SPX 协议支持,让那些依赖局域网联机的经典作品重获新生。
不是游戏坏了,是它和老系统"语言不通"
先讲个故事帮你理解原理。九十年代到新千年早期的游戏,联机大多靠 IPX/SPX 协议"对话"。这套协议在当时是局域网对战的事实标准,就像那一代游戏共同使用的方言。可微软从 Windows 10 开始,彻底移除了对 IPX/SPX 的内置支持,系统只讲 TCP/IP 这一门"普通话"了。
于是局面变成了:你的游戏张口就是 IPX,而系统只听得懂 TCP/IP。双方鸡同鸭讲,"局域网"按钮自然毫无反应,游戏大厅空空如也,多人选项灰得发亮。不是你操作错了,是中间缺了一位翻译官。
IPXWrapper 的聪明之处:当一个安静的翻译官
IPXWrapper 就是这位翻译官。它的思路非常克制:不修改游戏,不重装系统,只在游戏和网络之间插一层透明的翻译层。
这层翻译由四个 DLL 文件构成:核心的ipxwrapper.dll负责协议转换,wsock32.dll和mswsock.dll拦截游戏发出的 Winsock 调用,dpwsockx.dll则专门服务于依赖 DirectPlay 的老游戏。游戏以为自己在发 IPX 数据包,实际上这些数据早已被封装成 UDP 包,通过标准网络端口(默认 54792)顺畅传输到对面,再由对方的 IPXWrapper 还原成 IPX 格式。
整个过程对游戏完全透明——它甚至不知道自己"换了个翻译"。
第一次搭建:四步就能开局
整套安装流程,比你想的简单得多:
- 获取文件:克隆或下载项目(
git clone https://gitcode.com/gh_mirrors/ip/ipxwrapper),拿到四个 DLL 和配置工具ipxconfig.exe。 - 放置 DLL:把四个 DLL 复制到游戏可执行文件的同一个目录下,这一步是成败关键。
- 导入注册表:按系统位数选择——32 位 Windows 运行
directplay-win32.reg,64 位运行directplay-win64.reg。 - 配置网络:运行
ipxconfig.exe,选择要用的网络接口和传输模式,保存即可。
也可以跳过图形工具,直接在游戏目录里放一个ipxwrapper.ini文件,效果相同且会覆盖注册表设置:
; 启用数据包合并,减少小包数量、提升吞吐 coalesce packets = yes ; 启动时自动为游戏创建防火墙例外 firewall exception = yes ; 排错时开启调试日志,解决后记得关掉 ; logging = debug过来人的三条弯路,你未必会信
我踩过的坑,希望你别再踩一遍。
弯路一:DLL 放错地方。翻译官必须在场才能翻译。这四个 DLL 必须与游戏的.exe同目录,放进"游戏安装文件夹"的上级目录都算白放。
弯路二:多网卡下没指定主接口。默认情况下 IPXWrapper 会在所有网卡上工作——如果你的电脑同时连着有线网和 WiFi,而两台联机电脑分别挂在不同的网络上,就会"串台"连不上。请在ipxconfig里把"Primary interface"指定为你真正想用的那块网卡。
弯路三:防火墙悄悄拦路。在配置里加上firewall exception = yes并以管理员身份运行游戏,IPXWrapper 会自动添加例外;如果图省事,也可以手动放行 UDP 54792 端口。
进阶玩法:把 DOSBox 里的老伙计也拉进来
基础配置跑通后,你还可以玩出更多花样。
想和 DOSBox 里的 DOS 游戏联机?在ipxconfig中选择 "DOSBox UDP encapsulation" 模式,填上 DOSBox IPX 服务器的地址和端口(默认 213),就能实现 Windows 游戏与 DOS 游戏的跨平台对战,也能借助服务器在互联网上联机。
想接真实 IPX 设备?如果你的软件需要和只认 IPX 帧的老设备通信,安装 WinPcap 驱动后选择 "Real IPX encapsulation" 即可。
嫌网络卡顿?在双方都升级到 0.7.1 以上版本后开启coalesce packets,IPXWrapper 会把短时间内的小包合并成大包,明显改善高包量场景的表现。遇到疑难杂症,把日志级别调到debug或trace重放一遍问题,多半能找到线索。
三种模式怎么选?看这张表就够了:
| 模式 | 适用场景 | 前置条件 | 特别注意 |
|---|---|---|---|
| IPX over UDP(默认) | 局域网内直连 | 无 | 支持 SPX 连接 |
| DOSBox UDP 封装 | 与 DOSBox 游戏联机、跨互联网 | 一个 DOSBox IPX 服务器 | 不支持 SPX |
| 真实 IPX 封装 | 与老式 IPX 设备通信 | 安装 WinPcap 驱动 | 不支持 SPX |
快问快答
它支持哪些游戏?项目维护者实测可运行的游戏包括《红色警戒2》《暗黑破坏神》《魔兽争霸2》《主题医院》《横扫千军》《魔法门之英雄无敌3》《Carmageddon》等二十余款,凡是依赖 WinSock 1.x 或 8.0 之前 DirectPlay 的程序都有机会。
默认端口是多少?局域网直连模式为 UDP 54792;DOSBox 服务器模式默认 213。注意网上流传的"47624"并非本项目端口,别被误导。
ipxwrapper.ini和注册表谁说了算?只要 ini 文件与 DLL 放在同一目录,它就优先于注册表配置,排查问题时要记着这一点。
去叫上你的老战友吧
技术不该成为回忆的障碍。当你在《红警2》里顺利建起第一间房间,听到久违的开场音效时,你会明白这半小时的折腾有多值得。IPXWrapper 免费、开源、无需复杂注册,剩下的只是选一个晚上,叫上当年的队友,把那些写满青春的房间,一间间重新点亮。
【免费下载链接】ipxwrapper项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考