传奇3单机已完成改局域网多人联机完整实操

来源: 作者: 点击:
一、先确认局域网环境

主机(跑服务端的电脑)和玩家电脑必须连同一个路由器或同一个WiFi。

 

主机按 Win+R 输入 cmd 回车,执行:

ipconfig

找到 IPv4 地址,一般是 192.168.1.xxx 或 192.168.0.xxx,记下来。下文统一用 192.168.1.100 举例,你实际改成自己查到的。

玩家电脑也执行一次 ipconfig,确认前三位一样,比如都是 192.168.1.xxx,子网掩码 255.255.255.0。

建议把主机内网 IP 固定掉:

控制面板 → 网络和共享中心 → 更改适配器设置 → 右键当前网卡 → 属性 → IPv4 协议 → 使用下面的IP地址:

IP地址:192.168.1.100
子网掩码:255.255.255.0
默认网关:192.168.1.1(看你路由器实际地址)
DNS:114.114.114.114

不固定也行,但路由器一重启 IP 变了,玩家全掉线。

二、先彻底关掉所有服务端程序

改配置前必须把正在跑的进程全关干净:

任务管理器里结束:

3Gates.exe
DBSvr.exe
LoginSrv.exe
EI.exe 或 Legend of Mir 3.exe 或 M2Server.exe
本地列表服务器.exe

别热改配置,改完再按顺序起。

三、服务端要改的配置(核心)

传奇3目录结构各家不太一样,常见根目录叫 Mir3Server、Mud3、Mir3,按你实际目录对号入座。

1. 配置向导改 IP

进服务端根目录,找配置向导(Config.exe 或 Setup.exe 或 引擎配置器)。

基本设置里把:

游戏服务器IP地址:127.0.0.1 改成 192.168.1.100
服务器名称:自定义,比如“传奇3局域网”
端口:登录 7000、角色 7100、游戏 7200,保持默认,别乱改

保存配置。

2. DBSvr 的 !serverinfo.txt

进 Mir3Server\DBSvr 目录,用记事本打开 !serverinfo.txt,把里面所有 127.0.0.1 换成 192.168.1.100。

格式大致是:

;服务器名 IP 端口
GameSrv1 192.168.1.100 5100

3. 3Gates 网关转发(传奇3最关键一步)

进 3Gates 文件夹,运行 3Gates.exe 配置程序。

系统设置里:

选人转发 IP:从 127.0.0.1 改成 192.168.1.100
Rungate 自动转发 IP:从 127.0.0.1 改成 192.168.1.100
勾选“开启转发”

保存退出。这一步漏了,表现就是能登录能建角色,点开始直接黑屏或者秒掉线。

4. SQL 数据库里的网关表(用 SQL 的端才需要)

如果服务端用 SQL Server 存账号,打开 SSMS 连本地库,执行:

USE Account;
UPDATE TBL_SELECTGATEIPS SET FLD_IP='192.168.1.100';
UPDATE TBL_SERVERINFO SET FLD_SERVERNAME='传奇3局域网';

执行完确认影响行数大于0。用 SQLite 的端跳过这步,改 DBPath 指向正确文件即可。

5. Server 目录下的 Config.ini

进 Mir3Server\Server\Config.ini:

ServerIP=192.168.1.100
ExternalIP=192.168.1.100
DBAddr=192.168.1.100
MsgSrvAddr=192.168.1.100

端口保持默认。

6. 注册表项(部分端依赖)

运行服务端自带的:

LoginSvr和DBSvr网关注册.reg

注册完重启一次电脑让注册表生效。注册前可以先跑“清理LoginSvr和DBSvr注册表信息.bat”,输 y 回车清旧残留。

7. 网关监听地址

LoginGate、RunGate、SelGate 的 ini 里,如果有 ListenAddr 或 GateAddr,改成 0.0.0.0(监听所有网卡)比写死内网 IP 更稳:

GateAddr=0.0.0.0
ServerIP=192.168.1.100

0.0.0.0 表示不挑网卡,局域网请求能进来。

四、防火墙和杀软

主机上必须放行端口,不然玩家发请求过来被挡掉。

控制面板 → Windows Defender 防火墙 → 高级设置 → 入站规则 → 新建规则:

规则类型:端口
TCP,特定本地端口:

7000,7100,7200,5100,5000,16000,5500,8000

允许连接,域/专用/公用全勾,名称填 Mir3Lan。

偷懒做法:测试阶段直接关防火墙,打完再开回来加规则。

杀软把 Mir3Server 整个目录加白名单,3Gates.exe、DBSvr.exe、主程序别拦。

五、登录器和列表文件

单机端自带登录器默认只认 127.0.0.1,必须重新生成。

1. 用服务端自带的登录器配置器

添加服务器:

服务器名:传奇3局域网
IP:192.168.1.100
端口:7000
取消“单机模式”“动态IP检测”这类勾选

微端模式单机/局域网都别勾。

生成登录器 exe。

2. 手动改列表文件(没配置器时)

客户端根目录建 list.txt,ANSI 编码保存,写:

传奇3局域网192.168.1.100 7000
0

或者:

1传奇3局域网 192.168.1.100 7000 1
0

格式按你引擎要求来,别存成 UTF-8 带 BOM,否则读出来乱码。

如果用本地列表服务器小程序,把 list.txt 和小程序放同目录,启动小程序,登录器列表地址填:

http://192.168.1.100/list.txt

六、客户端怎么发给玩家

玩家电脑不需要装服务端,只要客户端。

1. 找一台和服务端版本一致的传奇3客户端(Data/Map/PAK 版本必须对)
2. 把生成好的登录器 exe 拷到客户端根目录,和主程序同级
3. 把服务端补丁文件夹里的 Data、Map、Graphics、Wav、Pak 等全部覆盖进客户端根目录
4. 整个客户端文件夹压缩发给玩家,或者局域网共享
5. 玩家解压后双击登录器,列表里出现你的服,输账号密码进游戏

补丁不一致会黑屏、地图缺、装备白板、怪物问号、技能不显示。PAK 密码不对,贴图全读不出。

七、启动顺序(严格按这个来)

1. 先起 SQL Server 服务(用 SQL 的端)
2. 运行网关注册 reg(首次或改了 IP 后,重启过电脑可跳过)
3. 起 3Gates.exe(网关托盘程序,别关)
4. 起 DBSvr.exe(看日志:数据库就绪)
5. 起 LoginSrv
6. 最后起主程序 EI.exe 或 Legend of Mir 3.exe 或 M2Server.exe

主程序窗口出现 Ready / Listening / 地图加载完成 / 怪物刷新正常,再让玩家连。

八、玩家连不进的排错

1. 列表出不来 / 点连接没反应

主机上 cmd 执行:

netstat -ano | findstr "7000"

看监听地址是 0.0.0.0:7000 还是 127.0.0.1:7000。只有 127.0.0.1 说明网关还绑在本机。

玩家电脑 cmd 执行:

ping 192.168.1.100

不通就是网络层问题,检查 WiFi、网段、主机防火墙。

再测端口:

telnet 192.168.1.100 7000

连不上就是防火墙或网关没起。

2. 能出列表但创建角色卡住

DBSvr 没正常连数据库,回去看 DBSvr 日志,确认账号库 IP 和端口对得上,SQL 里 TBL_SELECTGATEIPS 改对了。

3. 能进游戏但马上掉线 / connection closed

RunGate 转发 IP 还是 127.0.0.1,回 3Gates 配置把 Rungate 自动转发改内网 IP,重启网关。

4. 能建角色但点开始黑屏

这是最高频问题,按下面顺序查:

• RunGate 进程在不在,窗口显示没显示 Ready

• 3Gates 里 Rungate 自动转发 IP 改了没

• 客户端 Data/Map 补丁覆盖全了没,缺地图必黑

• PAK 密码对不对,登录器配置器里逐条核对

• 出生地图编号在 MapInfo.txt 里存在不存在

• 防火墙有没有放行 7200

5. 提示版本错误

登录器和客户端不是一套引擎配套,换回服务端原带登录器生成器重新出。

6. 端口占用报错 10048

关掉所有服务端程序,任务管理器结束残留进程,或者重启电脑释放端口。还不行就把登录端口从 7000 改成 7001,全链路同步。

九、同网段多开自测

主机自己可以再开一个客户端,登录器填 192.168.1.100 测一下。能进说明服务端没问题,再让玩家电脑连。别用 127.0.0.1 测,测不出来局域网问题。

十、想跨网络(不在同路由器)才用到的补充

纯局域网不用看这段。

没公网 IP:用 ZeroTier / Radmin VPN 组虚拟局域网,服务端 IP 填虚拟网卡 IP(比如 25.x.x.x),登录器同步改。

有公网 IP:路由器端口映射 7000/7100/7200 到主机内网 IP,登录器填公网 IP。

家用宽带上传小,局域网 5-10 人没问题,人多了卡。

十一、几个最容易漏的点

• 只改了配置向导,没改 3Gates 转发,表现就是能登录但进游戏秒掉

• 只改了 DBSvr 的 txt,没改 SQL 里 TBL_SELECTGATEIPS,建角色卡住

• 网关监听还是 127.0.0.1,netstat 一看就知道

• 防火墙只关了公用没关专用,或者反过来

• 玩家客户端 PAK 密码和服务端不一致,装备全白板

• 登录器还是单机模式生成的,列表写死 127.0.0.1

• 主机 IP 没固定,路由器重启后 192.168.1.100 变成 .105,全员掉线

• 补丁只发了 Data 没发 Map,进游戏地图黑

• 用了官方最新客户端,传奇3老端不兼容,换 10 周年或 13 周年纯净客户端

十二、最小验证动线

1. 关杀软,加白名单
2. ipconfig 拿内网 IP,固定掉
3. 全停服务
4. 配置向导改内网 IP
5. DBSvr 的 !serverinfo.txt 改内网 IP
6. 3Gates 选人转发 + Rungate 转发都改内网 IP,开转发
7. SQL 里 TBL_SELECTGATEIPS 改内网 IP(用SQL的端)
8. 防火墙放行 7000-7200
9. 重新生成登录器,list.txt 写内网 IP
10. 客户端覆盖 Data/Map/PAK 补丁
11. 按顺序起服务:3Gates → DBSvr → LoginSrv → 主程序
12. 主机自测能进,再让玩家连

改完一层就用 netstat 验一次监听,玩家端 ping 一次,比来回换登录器省时间。

传奇3局域网联机本质就三件事:服务端所有 127.0.0.1 换成内网 IP 且网关监听 0.0.0.0,3Gates 转发地址必须跟着改,防火墙放行端口,登录器和客户端补丁版本跟服务端对齐。这三层通了,同 WiFi 下兄弟几个直接进服砍怪。