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

传奇3单机转局域网联机:IP改内网端口7000三网关同步

热度:
单机已经能进游戏,说明DBC、StdItems、M2Server、LoginGate这条链是通的。局域网联机只做一件事:把“仅本机127.0.0.1”换成“同网段内网IP”,让其他电脑能摸到LoginGate的7000端口。42魔法、光通、Legend系路径名略有差异,逻辑完全一致。

一、先定服务器主机内网IP

服务器那台电脑Win+R→cmd→ipconfig,看当前网卡的IPv4,比如192.168.1.100。
同局域网其他机器必须同网段(前三位192.168.1.x一致),互相ping192.168.1.100能通再往下做。建议把服务器IP在网卡IPv4属性里设成静态,避免路由器重拨后IP变了全断。

二、服务端所有127.0.0.1改成内网IP

以下文件都在MirServer\下,用Notepad++批量搜127.0.0.1替换成192.168.1.100,逐一看别漏:

-Mir200\!Setup.txt:ServerIP/ServerAddr/GateAddr/DBAddr/MsgSrvAddr/LogServerAddr全改内网IP;GateAddr也可写0.0.0.0表示监听所有网卡。
-LoginGate\LoginGate.ini(或Config.ini):ServerAddr=192.168.1.100,GateAddr=0.0.0.0,Port=7000不动。
•LoginSrv\Logsrv.ini:DBServer=192.168.1.100,ServerAddr=192.168.1.100。

-LoginSrv\!addrtable.txt:原127.0.0.1127.0.0.1127.0.0.1:7100改成传奇342Magic192.168.1.100192.168.1.100192.168.1.100:7100,末尾是SelGate端口7100。
-LoginSrv\!serveraddr.txt:单行写192.168.1.100。
•SelGate\Config.ini(或SelGate.ini):ServerAddr=192.168.1.100,ListenAddr=192.168.1.100,ListenPort=7100。

-RunGate\Config.ini(或RunGate.ini):ServerAddr=192.168.1.100,ListenAddr=192.168.1.100,ListenPort=7200。
-DBServer\dbsrc.ini:DBAddr/ServerAddr改内网IP,DBPort6000不动。
•若用GameCenter配置向导,游戏服务器地址填192.168.1.100,登录端口7000,重新生成配置后上述文件会被覆盖写回,改完向导别再手改错版本。

端口三件套死值:LoginGate7000/SelGate7100/RunGate7200。开了微端再加8000。

三、登录器与列表文件给局域网客户端

服务端自带的传奇3登录器生成器(MakeLogin.exe/登录器配置器):
-服务器IP:填192.168.1.100(不能填127.0.0.1,127只对服务器本机生效)
•网关端口:7000

•生成exe,把exe+配套ServerList.txt/Pak.txt一起拷到别的机器客户端根目录

手动改列表也行,客户端根目录ServerList.txt或Config\ServerList.txt,ANSI编码,格式:

传奇3局域网|192.168.1.100|7000

竖线分隔,第三列就是LoginGate端口。传奇3某些版是服务器名192.168.1.100:7000空格格式,看你登录器读哪种,生成器导出的那份直接照抄最稳。

四、防火墙与启动顺序

服务器主机防火墙必须放行TCP7000、7100、7200(微端再加8000)。控制面板→高级安全→入站规则→新建规则→端口→TCP→700071007200→允许连接。偷懒就临时关防火墙测,能进再细放开。

启动顺序不变:DBServer→LoginSrv→LoginGate(看黑窗“监听7000”)→SelGate(7100)→RunGate(7200)→M2Server。M2控制台显示正常后,本机先用新IP登录器(填192.168.1.100)自测一次,本机能进说明服务端监听对了,再让同网段其他机器连。

五、同网段连不上的拍错顺序

1.客户端cmdping192.168.1.100不通→网段不对/WiFi跨VLAN/服务器IP变了。
2.ping通但登录器“连接服务器失败”→服务器netstat-ano|findstr7000看LoginGate是否真在听;听了还连不上就是防火墙拦了7000。
3.能登录但选角色卡死→SelGate7100没起或被拦。
4.选完人黑屏→RunGate7200没起,或客户端补丁没覆盖到根目录(局域网客户端也要放一份完整Data/Map,不能空客户端连)。
5.登录器列表空白→ServerList.txt编码不是ANSI、或登录器不是同引擎生成(42魔法登录器不能套传奇2的GOM登录器)。
6.账号不存在→LoginSrv的账号库是单机时建的,局域网连的是同一个DBServer没问题;若你换了DBServer目录才会查不到号。

路由器不用做端口映射,局域网是二层互通,映射是给公网用的,画蛇添足容易把7000转错。DHCP只要保证同网段即可,服务器侧已经静态IP就更稳。

其他机器进游戏后,GM命令、刷装备、QFunction触发和单机完全一致,因为服务端进程没变,只是多几个socket连进来。
[顶部]