如何用 IPXWrapper 玩 Diablo、Warcraft II 等老游戏局域网联机:新手避坑完整指南
【免费下载链接】ipxwrapper项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper
IPXWrapper 是一个免费的开源工具,它让 Diablo、Warcraft II 这类依赖 IPX/SPX 协议的老游戏,在 Windows 10/11 上重新实现局域网联机。只需把 4 个 DLL 文件放进游戏目录,双击一个注册表文件,再简单配置一下网卡,老游戏的"局域网对战"菜单就能重新用起来了。
为什么 Win10/Win11 上老游戏打不开局域网联机?
从 Windows Vista 开始,微软逐渐移除对IPX/SPX 网络协议的支持,到了 Windows 10/11 已经完全没有了。而 Diablo、Warcraft II、Carmageddon 等 90 年代末到 2000 年代初的老游戏,它们的局域网对战全部基于 IPX 或 DirectPlay(8 之前版本)实现。
所以问题不是你的网卡坏了,而是操作系统不再认识这套老协议。
IPXWrapper 的思路是"软件模拟":它用现代 Windows 都支持的 UDP 通信打底,在用户层完整模拟 IPX/SPX 的行为(通过伪装 WinSock 和 DirectPlay 组件),对游戏来说就像系统原生支持 IPX 一样。
根据 readme.txt,它支持使用 WinSock 1.x 和/或 DirectPlay(8 以前版本)的软件。
一键安装:把 4 个 DLL 放进游戏目录
安装过程非常简单,官方 Quick Start 只要求做两件事:
- 复制 4 个 DLL 文件到游戏所在目录(和游戏主程序 .exe 放在一起):
ipxwrapper.dll—— 核心模拟库wsock32.dll—— 伪装 WinSock 入口mswsock.dll—— 伪装 WinSock2 入口dpwsockx.dll—— 伪装 DirectPlay IPX 服务提供者
- 双击导入 DirectPlay 注册表文件,让游戏能枚举到"IPX Connection For DirectPlay":
- 32 位 Windows:directplay-win32.reg
- 64 位 Windows:directplay-win64.reg
⚠️ 每个需要联机的游戏目录都要放一套 DLL,注册表只需导入一次。
最快配置方法:用 ipxconfig 选对网卡
IPXWrapper 默认会在所有网卡上收发 IPX 数据包。如果你的电脑同时连着 Wi-Fi 和有线、或有多块虚拟网卡(虚拟组网软件常见),多网卡同时开启可能互相干扰。
推荐做法:
- 运行游戏目录里的
ipxconfig.exe图形配置工具(源码见 src/ipxconfig.cpp) - 在Primary interface里选择你实际用于联机的网卡
- 禁用其他网卡,避免串包
- 部分游戏在局域网创建界面里也会让你"选择网络适配器",记得选对应的网卡
🎮 局域网联机小贴士:确保两台电脑在同一个子网内,且都已完成上面的安装步骤。
新手避坑清单:5 个常见问题与解决
1️⃣ 防火墙拦截了数据包
Windows 防火墙默认可能拦截 UDP 通信。最简单的办法是在ipxconfig里勾选自动创建防火墙例外选项(对应 ini 里的firewall exception = yes),配置样例见 ipxwrapper.ini.example。
2️⃣ 跨公网/隔路由联机卡顿、丢包
如果两台机器隔得较远(跨 WAN),大量小数据包容易丢失。IPXWrapper 0.7.1 起支持数据包聚合(coalescing),把大量小包合并成大包发送,显著改善吞吐:
coalesce packets = yes注意:需要所有电脑都使用 0.7.1 及以上版本。
3️⃣ 联机失败想排查原因?
开启调试日志,日志会写到游戏目录下的ipxwrapper.log:
logging = debug想看最详细的 API 调用轨迹可以用logging = trace,但会明显拖慢游戏速度,排完问题记得改回来(日志选项见 ipxwrapper.ini.example)。
4️⃣ 为什么游戏里选不了 IPX 方式?
确认你双击的是与系统位数匹配的 .reg 文件,并且dpwsockx.dll已放到游戏目录。注册表内容参考 directplay-win64.reg。
5️⃣ 配置不想写注册表?
只要在游戏目录放一个名为ipxwrapper.ini的文件,就会直接加载该文件,注册表里的设置将被忽略——方便为不同游戏使用不同配置。
进阶玩法:跨公网联机与真实 IPX 协议
🌐 通过 DOSBox 服务端跨互联网联机
选择 ipxconfig 里的"DOSBox UDP encapsulation"选项并填入 DOSBox IPX 服务端的地址和端口后,IPX 数据会通过 DOSBox 服务端中转,实现:
- 两台电脑跨公网(Internet)联机
- Windows 游戏与 DOSBox 里运行的 DOS 游戏互相对战
⚠️ 注意:此模式下不支持 SPX 连接,部分依赖 SPX 的游戏会受影响。
📡 收发真正的 IPX 帧(Real IPX)
如果你的软件需要真实的 IPX 以太帧(例如连接只懂 IPX 的老设备),先安装 WinPcap,再在 ipxconfig 中选择"Real IPX encapsulation"。此模式同样不支持 SPX,项目内已附带 WinPcap 头文件(winpcap/include/)。
已验证可用的游戏清单
根据官方 readme.txt 的兼容性报告,以下游戏已确认可在 IPXWrapper 下联机:
| 游戏 | 游戏 |
|---|---|
| Diablo(暗黑破坏神) | Total Annihilation |
| Warcraft II | Carmageddon / II |
| Command & Conquer: Red Alert 2 | Heroes of Might and Magic III |
| Theme Hospital | Twisted Metal 2 |
| Sid Meier's Alpha Centauri | Star Wars Jedi Knight: Dark Forces II |
| Need For Speed III: Hot Pursuit | Delta Force 2 |
| Rising Lands | 其他十余款见 readme |
参考资料
- 官方说明与快速上手:readme.txt
- 配置文件样例:ipxwrapper.ini.example
- 版本更新记录(了解新功能如数据包聚合):changes.txt
- 图形配置工具源码:src/ipxconfig.cpp
- 核心库设计(IPX 包结构等):src/ipxwrapper.h
按上面的步骤做完,Diablo 的"网络对战"和 Warcraft II 的"局域网游戏"就会重新出现在你的菜单里——老游戏的联机时代,回来了。
【免费下载链接】ipxwrapper项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考