当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇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或LegendofMir3.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端口
GameSrv1192.168.1.1005100

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的端才需要)

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

USEAccount;
UPDATETBL_SELECTGATEIPSSETFLD_IP='192.168.1.100';
UPDATETBL_SERVERINFOSETFLD_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表示不挑网卡,局域网请求能进来。

四、防火墙和杀软

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

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

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

700071007200510050001600055008000

允许连接,域/专用/公用全勾,名称填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.1007000
0

或者:

1传奇3局域网192.168.1.10070001
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.先起SQLServer服务(用SQL的端)
2.运行网关注册reg(首次或改了IP后,重启过电脑可跳过)
3.起3Gates.exe(网关托盘程序,别关)
4.起DBSvr.exe(看日志:数据库就绪)
5.起LoginSrv
6.最后起主程序EI.exe或LegendofMir3.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执行:

ping192.168.1.100

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

再测端口:

telnet192.168.1.1007000

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

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

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

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

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/RadminVPN组虚拟局域网,服务端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下兄弟几个直接进服砍怪。
[顶部]