ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

IPXWrapper 搭配 DOSBox 实现互联网联机:UDP 封装教程与 SPX 限制详解

2026/9/19 3:06:02 拓冰建站 浏览量
IPXWrapper 搭配 DOSBox 实现互联网联机:UDP 封装教程与 SPX 限制详解 IPXWrapper 搭配 DOSBox 实现互联网联机UDP 封装教程与 SPX 限制详解【免费下载链接】ipxwrapper项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapperIPXWrapper 是一款让新版 Windows 重新支持 IPX/SPX 网络协议的开源工具。本教程带你用它搭配 DOSBox 的 IPX 服务器通过 UDP 封装IPX over UDP把老游戏送上互联网联机并详细讲解为什么这种模式下 SPX 连接不可用。一、为什么老游戏需要 IPXWrapper《暗黑破坏神》《星际争霸》《毁灭战士》等 90 年代游戏使用 Novell 的 IPX/SPX 协议联机而现代 Windows 早已移除该协议支持。IPXWrapper 通过一组 DLL 文件在用户态模拟出 IPX/SPX 环境让 WinSock 1.x 和 DirectPlay 8 之前的游戏照常运行。它默认在局域网内用 UDP 收发 IPX 包此外还提供两种封装方式本教程重点讲DOSBox UDP 封装封装模式适用场景SPX 支持默认 UDP 直连局域网联机✅ 支持DOSBox UDP 封装互联网联机 / Windows 与 DOS 互通❌ 不支持Real IPX 封装WinPcap对接只认 IPX 的旧设备❌ 不支持三种模式的限制说明见 readme.txt。二、最快安装步骤1 分钟上手将 IPXWrapper 提供的4 个 DLL复制到游戏所在目录与游戏 exe 同级根据你的系统导入注册表32 位 Windowsdirectplay-win32.reg64 位 Windowsdirectplay-win64.reg双击运行游戏目录中的ipxconfig.exe即可打开图形化配置界面源码见 src/ipxconfig.cpp如果有多块网卡建议把Primary interface首选接口固定为用于联机的网卡避免与其他网络冲突。三、DOSBox UDP 封装完整配置教程 工作原理双方或多方不直接交换 IPX 包而是都连接到一台运行DOSBox IPX 服务器的主机由它负责转发。这既能实现互联网联机也能让 Windows 游戏和 DOSBox 里的 DOS 游戏互相联机。第 1 步启动 DOSBox IPX 服务器在一台可以公网访问的机器上服务器、家庭 NAS 均可准备一个 DOSBox 配置文件写入[ipx] ipxtrue [autoexec] ipxnet startserver 213这里的213是 IPX 服务的 UDP 端口可自定义。启动后看到IPX: Connected to server.即表示服务器就绪。这个流程与本项目测试套件中的 tests/lib/IPXWrapper/DOSBoxServer.pm 完全一致。第 2 步在 ipxconfig 中连接服务器打开ipxconfig.exe封装方式选择DOSBox UDP encapsulationDOSBox UDP 封装填入DOSBox IPX server address服务器地址公网 IP 或域名填入DOSBox IPX server port默认 213需与服务器一致建议勾选防火墙例外选项让 Windows 防火墙自动放行相关配置项会写入注册表HKCU\Software\IPXWrapperdosbox_server_addr、dosbox_server_port解析逻辑在 src/config.c运行时与服务器建连、分配虚拟 IPX 地址的接口处理在 src/interface.c。第 3 步用 ipxwrapper.ini 免图形配置可选把配置文件命名为ipxwrapper.ini并放在ipxwrapper.dll旁边即可覆盖注册表设置适合服务器批量部署。参考 ipxwrapper.ini.example; 启用 DOSBox IPX 服务器 dosbox server address 你的服务器地址 dosbox server port 213 ; 所有电脑需升级到 0.7.1 以上 coalesce packets yes ; 启动时自动创建 Windows 防火墙例外 firewall exception yes第 4 步开启包合并降低丢包强烈建议互联网延迟较高时游戏产生的大量小包容易丢。IPXWrapper 0.7.1 新增的packet coalescing包合并会把短时间内的多个小包攒成一个大包发送明显提升吞吐、减少丢包。图形界面DOSBox 封装选项区的复选框配置文件coalesce packets yes注意所有参与联机的电脑都必须使用 0.7.1 及以上版本见 changes.txt 的 0.7.1 更新记录四、SPX 限制详解为什么 DOSBox 模式下不能用 SPX这是新手最常踩的坑官方文档原文即SPX connections are not supported when using this option。1. 什么是 SPXSPX 是 IPX 之上的面向连接传输协议类似 IP 之上的 TCP少数老游戏用它做联机同步。2. 三种模式下的 SPX 差异默认 UDP 直连模式SPX 可用。IPXWrapper 把 SPX 实现为 TCP 之上的薄封装层——本机的 SPX服务器直接以真实 TCP 端口监听连接经地址查找包SPXLOOKUP与对端直接建立实现见 src/winsock.c。DOSBox 模式 / Real IPX 模式SPX 直接不可用。原因在于这两种模式下所有流量都要封进发给 DOSBox 服务器 / 以太网帧的UDP 包里而 UDP 是无连接的无法承载面向连接的 SPX 流。源码中当应用尝试创建 SPX 套接字时会明确拒绝Application attempted to create an SPX socket, this isnt supported when using DOSBox encapsulation对应代码位于 src/winsock.c返回WSAEPROTONOSUPPORT错误码。3. 对玩家意味着什么绝大多数 IPX 联机游戏暗黑、星际、命令与征服等只走 IPX不可靠数据报走 DOSBox 服务器完全没问题个别依赖 SPX 的游戏无法走互联网联机只能在同一局域网用默认 UDP 模式联此时 SPX 经 TCP 直连无需服务器如果游戏在 DOSBox 模式下报错协议不受支持先确认它是否真的依赖 SPX再考虑换用局域网模式五、排错与常用文件清单遇到联机失败按这个顺序排查 服务器端口是否被防火墙/路由器拦截Windows 勾选防火墙例外 路由器端口转发️ 两边ipxwrapper.ini或 ipxconfig 中的服务器地址、端口是否一致️ 多网卡机器是否指定了正确的 Primary interface 打开 debug 日志定位logging debug会拖慢游戏排错完记得改回核心文件速查安装说明与兼容游戏列表readme.txt配置文件示例ipxwrapper.ini.example封装类型定义含 DOSBox 状态机src/interface.hSPX 套接字创建限制src/winsock.cDOSBox 联机集成测试tests/30-dosbox-ipx.tSPX 局域网测试tests/40-ip-spx.t版本更新记录changes.txt六、总结互联网联机 DOSBox IPX 服务器UDP 213 端口 双方 IPXWrapper 选择 DOSBox UDP 封装记得开启coalesce packets yes全员升级 0.7.1显著改善网络体验SPX 只支持局域网直连模式走 DOSBox / Real IPX 封装时SPX 会被直接拒绝配置可用图形界面ipxconfig.exe或随 DLL 放置的ipxwrapper.ini后者更方便批量管理按以上步骤操作你就可以和朋友在互联网上重开一局《暗黑破坏神》或《星际争霸》了。【免费下载链接】ipxwrapper项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考