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

传奇342魔法内网连接服务器失败与登录端口对应详解

热度:
一、先说结论:登录器端口对应哪个

输入账号密码点登录,报“连接服务器失败”,这一步客户端最先连的是登录网关LoginGate。

登录器配置里的“服务器IP”和“网关端口/登录端口”,必须对应服务端LoginGate实际监听的地址和端口。

42魔法端默认关系:

登录器登录端口→LoginGate监听端口,默认7000
角色选择阶段→SelGate监听端口,默认7100
进游戏后实时数据→RunGate监听端口,默认7200

你点登录就失败,只看第一个:登录器端口=LoginGate的GatePort,不是SelGate,也不是RunGate,更不是M2内部端口。

二、去服务端查LoginGate真实端口

进服务端目录,找LoginGate文件夹,不同整合包文件名略有差异:

LoginGate\Config.ini
LoginGate\LoginGate.ini
LoginGate\MirGate.ini
GateServer\LoginGate\Config.ini

用记事本打开,找这段:

[LoginGate]
ServerAddr=127.0.0.1
ServerPort=5500
GateAddr=0.0.0.0
GatePort=7000

或者有的版本写成:

ListenAddr=0.0.0.0
ListenPort=7000

关键看GatePort/ListenPort后面那个数字。

假设读出来是7000,那么登录器就必须填7000。
如果有人改过,比如写成7001、7100、7200,登录器就跟着填那个数,两端必须一字不差。

注意区分两个端口:

ServerPort=5500是LoginGate内部连LoginSrv的端口,跟登录器无关
GatePort=7000是给客户端连的端口,登录器只认这个

很多人把ServerPort当登录端口填进登录器,必报连接服务器失败。

三、登录器这边怎么填

用服务端自带的登录器配置器重新生成,别手改老登录器。

配置项:

服务器名:跟LoginSrv里区名一致
服务器IP:
本机自己玩:127.0.0.1
局域网别的电脑连:填服务端主机内网IP,比如192.168.1.100
网关端口:填LoginGate的GatePort,默认7000
关微端
关动态IP
关在线更新

列表文件(ServerList.txt/list.txt/Mir3.ini)里格式:

内网测试127.0.0.1
7000

或

内网测试127.0.0.170000

第三个字段就是端口,必须和GatePort相同。编码用ANSI,别存UTF-8BOM。

四、LoginSrv里的地址表也要对

进LoginSrv目录,打开!addrtable.txt,42魔法常见格式:

区名Title1内网IP外网IP外网IP:7100

内网单机示例:

传奇342魔法Title1127.0.0.1127.0.0.1127.0.0.1:7100

局域网示例(主机IP是192.168.1.100):

传奇342魔法Title1192.168.1.100192.168.1.100192.168.1.100:7100

末尾那个7100是SelGate端口,不是登录端口,别改成7000。
前面IP段必须和LoginGate、Mir200配置同网段。

再开LoginSrv\Logsrv.ini看:

[Server]
ServerAddr=127.0.0.1
ServerPort=5500
DBServer=127.0.0.1
DBPort=6000

内网多机就把127.0.0.1换成主机内网IP。

五、Mir200主配置

打开Mir200\!Setup.txt或Mir200\Config.ini:

ServerIP=0.0.0.0
GateAddr=0.0.0.0
DBAddr=127.0.0.1
DBPort=6000

单机用127.0.0.1也行,局域网建议GateAddr写0.0.0.0,表示监听所有网卡。

六、三个网关监听地址核对

LoginGate\Config.ini

GateAddr=0.0.0.0
GatePort=7000

SelGate\Config.ini或SelGate.ini

ListenAddr=0.0.0.0
ListenPort=7100
ServerAddr=127.0.0.1

RunGate\Config.ini

ListenAddr=0.0.0.0
ListenPort=7200
Server1=127.0.0.1

0.0.0.0表示接受本机和局域网连接;如果写死127.0.0.1,别的电脑连不进来。

七、启动顺序别漏进程

42魔法端组件比普通端多,漏一个就卡登录:

1.数据库服务(SQL或DBServer),先起,看“数据库连接成功”
2.DBServer.exe
3.LoginSrv.exe(账号服务)
4.LoginGate.exe(登录网关,必须起)
5.SelGate.exe(角色网关)
6.RunGate.exe(游戏网关,可能多个)
7.M2Server.exe/GameSrv.exe最后起

任务管理器确认LoginGate.exe进程在。
窗口一闪退,通常是GateAddr绑了不存在的IP,或端口被占。

八、验证端口真的在监听

服务端那台电脑,cmd执行:

netstat-ano|findstr"7000"

正常应该看到:

TCP0.0.0.0:70000.0.0.0:0LISTENINGPID

看最后一列PID,任务管理器里对应到LoginGate.exe就对。

如果没这行:

LoginGate没起
GatePort改了但登录器没同步
端口被别的程序占了

查占用:

netstat-ano|findstr":7000"

按PID在任务管理器结束占用进程,或者把LoginGate端口改成7001,登录器同步改7001。

九、防火墙和杀软

Windows防火墙入站规则放行:

TCP7000
TCP7100
TCP7200
TCP5500
TCP6000

把LoginGate.exe、SelGate.exe、RunGate.exe、LoginSrv.exe、M2Server.exe全部加允许。

杀软把整个服务端目录加信任,网关exe经常被静默拦截,进程起来了但端口不监听。

十、本机能进、别人进不了

本机用127.0.0.1能登,局域网朋友连不上,问题在:

1.服务端GateAddr写死127.0.0.1
改成0.0.0.0或主机内网IP

2.登录器列表还是127.0.0.1
给别人用的登录器必须填主机内网IP:192.168.1.100

3.主机防火墙没放行
关防火墙测一次,能进再细化规则

4.朋友电脑不在同网段
ping192.168.1.100通不通,不通先解决局域网

十一、登录器协议不对也会报这错

42魔法端必须用同包自带的登录器配置器生成登录器。
拿别的传奇3版本万能登录器、或者热血传奇GOM登录器硬套,握手协议不对,表现就是“连接服务器失败”,但端口其实是对的。

判断方法:

换回服务端原包里给的登录器
或者用原包MakeLogin.exe重新生成
客户端版本号对齐,1.45端配1.45客户端

十二、快速对照表

问题现象→优先查的位置

点登录立刻失败→LoginGate没起/GatePort和登录器端口不一致
能读列表但登不进→登录器端口错、LoginGate未监听
本机可以别人不行→GateAddr绑127、列表IP没改内网
登录后卡角色界面→SelGate7100没起或配置错
能选角色进游戏闪断→RunGate7200问题
M2起来了但网关闪退→IP绑错、端口占用、防火墙

十三、最小可通配置(内网单机)

LoginGate\Config.ini

[LoginGate]
ServerAddr=127.0.0.1
ServerPort=5500
GateAddr=0.0.0.0
GatePort=7000

登录器列表

传奇342魔法127.0.0.1
7000

!addrtable.txt

传奇342魔法Title1127.0.0.1127.0.0.1127.0.0.1:7100

Mir200\!Setup.txt

ServerIP=0.0.0.0
GateAddr=0.0.0.0
DBAddr=127.0.0.1

启动顺序:DB→LoginSrv→LoginGate→SelGate→RunGate→M2

netstat确认7000在监听,登录器端口填7000,基本就能过登录。

十四、改完必须做的动作

改任何端口配置后:

1.全关服务端所有黑窗口
2.任务管理器结束残留LoginGate、SelGate、RunGate、M2Server进程
3.重新按序启动
4.重新生成登录器(别用老登录器缓存)
5.清客户端Cache目录
6.再登录

只改配置不重启网关,LoginGate还是按旧端口监听,登录器怎么填都连不上。

核心就一句话:登录器“网关端口”填LoginGate的GatePort,默认7000,以你服务端Config.ini里实际数值为准,IP填服务端主机可达地址,三个网关端口各管各的阶段,别串。
[顶部]