传奇客户端从注册账号到进入游戏,需依次连接LoginSrv(登录服务器)、SelChrSrv(角色选择服务器)和GameSrv(游戏主服务器)。所有通信均通过固定端口进行,外网玩家访问时必须在路由器上正确映射这些端口,并确保服务端各配置文件中的IP指向公网地址。以下是完整流程及配置细节。
一、客户端连接顺序与对应服务端程序
注册/登录阶段:客户端首先连接LoginSrv.exe,验证账号密码;
角色选择阶段:登录成功后,连接SelChrSrv.exe 获取角色列表;
进入游戏阶段:选择角色后,连接GameSrv.exe 加载地图与数据。
三个程序必须同时运行,且各自监听的端口需对外暴露。
二、服务端关键配置文件及IP设置位置
所有IP配置均位于服务端根目录下的.ini文件中,具体如下:
LoginSrv.ini(登录服务器配置)
[Server]
ServerIndex=0
GatePort=5600 ; 网关监听端口(用于接收客户端连接)
ListenPort=7000 ; 客户端直接连接此端口进行登录
此处无需填写IP,但客户端Mir2.cfg中的ServerAddr必须指向公网IP。
SelChrSrv.ini(角色选择服务器)
[Server]
ChrSelPort=5500 ; 角色选择端口
同样不直接写IP,但需确保LoginSrv能将客户端重定向至此端口。
M2S.ini(主服务器配置,GameSrv读取)
[Share]
MapFile=MapMapInfo.txt
[Server]
ServerName=LegendServer
GatePort=5100 ; 游戏网关端口
GameSrv通过此文件启动网关监听。
!Setup.txt(客户端连接信息,位于客户端目录)
ServerAddr=123.123.123.120
ServerPort=7000
此IP必须为公网IP,端口对应LoginSrv的ListenPort。
三、路由器端口映射规则(以TP-Link为例)
需映射以下三个端口,协议均为TCP:
外部端口 内部IP(服务端局域网IP) 内部端口 对应程序
7000 192.168.1.100 7000 LoginSrv
5500 192.168.1.100 5500 SelChrSrv
5100 192.168.1.100 5100 GameSrv网关
说明:
若使用多线路或多个GameSrv,每个GameSrv需独立网关端口(如5101、5102),并分别映射;
不需要映射数据库端口(如MySQL的3306),除非远程管理;
所有内部IP必须为服务端主机的固定局域网IP(建议在路由器DHCP中绑定MAC地址)。
四、验证外网连通性步骤
在服务端主机执行:netstat -an | findstr :7000,确认LoginSrv正在监听0.0.0.0:7000;
使用手机4G网络(非同一WiFi)打开“网络调试工具”,测试公网IP的7000、5500、5100端口是否开放;
客户端Mir2.cfg中ServerAddr填写公网IP,启动游戏尝试登录。
五、常见错误排查
卡在“连接服务器”:7000端口未映射或防火墙拦截;
登录后黑屏/无角色:5500端口不通,SelChrSrv未运行或端口错配;
选角色后进不去:5100端口未映射,或M2S.ini中GatePort与映射端口不一致;
提示“服务器已满”:LoginSrv.ini中MaxUser值过小,需调大(如500)。
通过正确配置各服务端程序的监听端口、客户端指向公网IP、并在路由器上映射7000、5500、5100三个核心端口,即可实现外网玩家正常注册、登录并进入游戏。重点在于确保三个阶段的端口全部开放且服务端配置一致。

