传奇客户端从注册到进入游戏,需经过“账号网关→登录网关→角色网关→游戏网关”四层核心链路,各网关分工明确且数据互通。外网架设的关键是理清网关依赖关系,精准配置IP字段,并通过合理的端口映射或DMZ主机实现外网访问,以下是完整技术解析。
一、先搞懂:客户端连接全流程与网关关系
1.四层网关链路(以GOM/GEE引擎为例)
客户端从注册到进游戏的核心流转路径:
底层依赖:所有网关最终都需连接数据库网关(DBServer.exe),确保账号、角色数据读写正常。
数据流向:前序网关仅负责“数据中转验证”,最终由游戏网关与核心引擎建立持续连接,支撑游戏内操作。
2.各网关核心功能与关联逻辑
网关名称
核心功能
依赖关系
对外交互角色
账号网关
处理账号注册、密码验证、数据存储
直接连接数据库网关
客户端登录器
登录网关
校验账号状态(是否封禁、在线)
依赖账号网关,关联角色网关
客户端登录器
角色网关
读取角色列表、创建/删除角色
依赖登录网关,关联游戏网关
客户端角色选择界面
游戏网关
传输地图、怪物、玩家交互数据
依赖角色网关,连接核心引擎
客户端游戏界面
数据库网关
管理账号/角色数据读写
被所有网关依赖
服务端内部模块
二、核心配置:各网关IP与端口设置(附文件路径)
所有网关配置文件均位于服务端根目录(默认D:\MirServer),IP设置需区分“内网IP”(服务端本机地址,如192.168.1.100)和“外网IP”(路由器公网地址,如118.117.190.237)。
1.账号网关(LoginSrv)——注册与账号验证核心
文件路径:D:\MirServer\LoginSrv\Config.ini
关键配置字段:
[Network]
ListenIP=0.0.0.0//监听本机所有IP,固定填0.0.0.0
ListenPort=7001//对外端口,避开7000(易冲突)
DBAddr=127.0.0.1//数据库网关地址,本地架设填127.0.0.1
DBPort=6000//数据库端口,与DBC2000配置一致
IP设置逻辑:仅需保证DBAddr指向数据库网关,ListenIP固定为0.0.0.0,无需填写外网IP。
2.登录网关(LoginGate)——登录请求入口
文件路径:D:\MirServer\LoginGate\Config.ini
关键配置字段:
[Server]
ServerName=热血传奇//服务器名称,需与登录器一致
ServerAddr=118.117.190.237//填写外网IP,供客户端连接
ServerPort=7001//需与账号网关ListenPort一致
[Client]
GateAddr=0.0.0.0//监听本机所有IP
GatePort=7101//对外端口,避开7100
IP设置逻辑:ServerAddr是核心——客户端登录器首先连接此外网IP+GatePort(7101),再由登录网关转发至账号网关。
3.角色网关(SelChrGate)——角色数据交互
文件路径:D:\MirServer\SelChrGate\Config.ini
关键配置字段:
[Network]
ListenIP=0.0.0.0
ListenPort=7101//需与登录网关GatePort一致
GameSrvAddr=192.168.1.100//填写服务端内网IP
GameSrvPort=7201//与游戏网关端口对应
IP设置逻辑:GameSrvAddr指向服务端内网IP,因角色网关与游戏网关属服务端内部通信,无需暴露外网IP。
4.游戏网关(GameGate)——进入游戏的最后链路
文件路径:D:\MirServer\GameGate\Config.ini
关键配置字段:
[MainSrv]
ServerAddr=192.168.1.100//服务端内网IP
ServerPort=5000//核心引擎通信端口(内部端口,无需映射)
[Gate]
ListenIP=0.0.0.0
ListenPort=7201//对外端口,避开7200
IP设置逻辑:ServerAddr连接核心引擎(M2Server.exe),ListenPort接收角色网关的数据,是进入游戏的关键端口。
5.核心引擎与数据库网关——底层支撑
数据库网关(DBServer):
文件路径:D:\MirServer\DBServer\!addrtable.txt
配置:添加服务端内网IP(如192.168.1.100),确保所有网关能连接数据库。
核心引擎(M2Server):
无需手动填外网IP,通过Mir200\!runaddr.txt自动读叁务端内网IP,与游戏网关通信。
三、外网访问:DMZ主机设置(替代端口映射,避冲突)
1.为什么不推荐直接映射7000/7100/7200?
这类端口属于常用端口段,可能与小区宽带、网吧的其他服务(如即时通讯、视频流)冲突,导致网络异常。推荐用自定义端口+DMZ主机方案,仅开放必要端口。
2.实操示例:TP-LINK路由器DMZ设置
假设:
服务端内网IP:192.168.1.100
路由器管理地址:192.168.1.1
外网IP:118.117.190.237(可通过路由器WAN口状态查看)
步骤1:绑定服务端内网IP(避免IP变动)
登录路由器管理界面,进入“DHCP服务器→静态地址分配”;
填写服务端电脑的MAC地址(通过ipconfig/all查看),绑定内网IP为192.168.1.100;
保存设置,重启服务端电脑使固定IP生效。
步骤2:启用DMZ主机(开放核心端口)
进入“高级设置→DMZ主机”,勾选“启用DMZ主机”;
填写绑定的内网IP:192.168.1.100;
进入“安全设置→防火墙”,添加端口放行规则:
端口范围
协议
备注
7001
TCP
账号/登录网关端口
7101
TCP
角色网关端口
7201
TCP
游戏网关端口
8080
TCP
微端更新端口(可选)
保存设置,重启路由器。
步骤3:登录器配置(客户端连接关键)
创建list.txt登录器列表文件,填写:
热血传奇外网服|118.117.190.237|7101|8080|0
格式说明:服务器名称|外网IP|登录网关端口|微端端口|备用标识
客户端登录器加载此列表后,即可通过外网IP:7101连接服务端。
四、网关启动顺序与连接验证
1.正确启动顺序(必按此流程)
数据库网关(DBServer.exe)——先启动底层数据服务;
账号网关(LoginSrv.exe)——再启动账号处理模块;
登录网关(LoginGate.exe)——开放客户端登录入口;
角色网关(SelChrGate.exe)——加载角色数据服务;
游戏网关(GameGate.exe)——准备游戏场景连接;
核心引擎(M2Server.exe)——启动游戏主程序。
2.连接验证步骤
本地验证:用127.0.0.1:7101登录,测试注册、创建角色、进入游戏是否正常;
内网验证:同一局域网内另一台电脑用192.168.1.100:7101登录,排除内网通信问题;
外网验证:用手机热点(非局域网)登录,测试外网访问是否通畅。
五、常见问题:配置后连不上?3类排查
网关端口冲突:
用netstat-ano|findstr"7101"(Windows命令)查看端口是否被占用,若占用则修改网关配置中的端口(如改为7102),同步更新路由器规则与登录器列表。
IP填写错误:
登录网关的ServerAddr必须填外网IP,角色/游戏网关的GameSrvAddr必须填内网IP,混淆会导致链路中断。
DMZ未生效:
检查路由器WAN口是否获取公网IP(非10.x.x.x、172.16.x.x等内网保留段),若为内网IP需联系运营商开通公网权限。
六、关键提醒:动态IP解决方案
家庭宽带重启路由器后外网IP会变动,可通过动态DNS工具(如花生壳)绑定域名:
路由器中启用“动态DNS”,绑定花生壳域名;
将登录器列表中的外网IP替换为域名(如mirserver.vicp.net:7101);
服务端网关配置中的ServerAddr仍填外网IP,无需修改(动态DNS会自动同步IP变动)。
一、先搞懂:客户端连接全流程与网关关系
1.四层网关链路(以GOM/GEE引擎为例)
客户端从注册到进游戏的核心流转路径:
底层依赖:所有网关最终都需连接数据库网关(DBServer.exe),确保账号、角色数据读写正常。
数据流向:前序网关仅负责“数据中转验证”,最终由游戏网关与核心引擎建立持续连接,支撑游戏内操作。
2.各网关核心功能与关联逻辑
网关名称
核心功能
依赖关系
对外交互角色
账号网关
处理账号注册、密码验证、数据存储
直接连接数据库网关
客户端登录器
登录网关
校验账号状态(是否封禁、在线)
依赖账号网关,关联角色网关
客户端登录器
角色网关
读取角色列表、创建/删除角色
依赖登录网关,关联游戏网关
客户端角色选择界面
游戏网关
传输地图、怪物、玩家交互数据
依赖角色网关,连接核心引擎
客户端游戏界面
数据库网关
管理账号/角色数据读写
被所有网关依赖
服务端内部模块
二、核心配置:各网关IP与端口设置(附文件路径)
所有网关配置文件均位于服务端根目录(默认D:\MirServer),IP设置需区分“内网IP”(服务端本机地址,如192.168.1.100)和“外网IP”(路由器公网地址,如118.117.190.237)。
1.账号网关(LoginSrv)——注册与账号验证核心
文件路径:D:\MirServer\LoginSrv\Config.ini
关键配置字段:
[Network]
ListenIP=0.0.0.0//监听本机所有IP,固定填0.0.0.0
ListenPort=7001//对外端口,避开7000(易冲突)
DBAddr=127.0.0.1//数据库网关地址,本地架设填127.0.0.1
DBPort=6000//数据库端口,与DBC2000配置一致
IP设置逻辑:仅需保证DBAddr指向数据库网关,ListenIP固定为0.0.0.0,无需填写外网IP。
2.登录网关(LoginGate)——登录请求入口
文件路径:D:\MirServer\LoginGate\Config.ini
关键配置字段:
[Server]
ServerName=热血传奇//服务器名称,需与登录器一致
ServerAddr=118.117.190.237//填写外网IP,供客户端连接
ServerPort=7001//需与账号网关ListenPort一致
[Client]
GateAddr=0.0.0.0//监听本机所有IP
GatePort=7101//对外端口,避开7100
IP设置逻辑:ServerAddr是核心——客户端登录器首先连接此外网IP+GatePort(7101),再由登录网关转发至账号网关。
3.角色网关(SelChrGate)——角色数据交互
文件路径:D:\MirServer\SelChrGate\Config.ini
关键配置字段:
[Network]
ListenIP=0.0.0.0
ListenPort=7101//需与登录网关GatePort一致
GameSrvAddr=192.168.1.100//填写服务端内网IP
GameSrvPort=7201//与游戏网关端口对应
IP设置逻辑:GameSrvAddr指向服务端内网IP,因角色网关与游戏网关属服务端内部通信,无需暴露外网IP。
4.游戏网关(GameGate)——进入游戏的最后链路
文件路径:D:\MirServer\GameGate\Config.ini
关键配置字段:
[MainSrv]
ServerAddr=192.168.1.100//服务端内网IP
ServerPort=5000//核心引擎通信端口(内部端口,无需映射)
[Gate]
ListenIP=0.0.0.0
ListenPort=7201//对外端口,避开7200
IP设置逻辑:ServerAddr连接核心引擎(M2Server.exe),ListenPort接收角色网关的数据,是进入游戏的关键端口。
5.核心引擎与数据库网关——底层支撑
数据库网关(DBServer):
文件路径:D:\MirServer\DBServer\!addrtable.txt
配置:添加服务端内网IP(如192.168.1.100),确保所有网关能连接数据库。
核心引擎(M2Server):
无需手动填外网IP,通过Mir200\!runaddr.txt自动读叁务端内网IP,与游戏网关通信。
三、外网访问:DMZ主机设置(替代端口映射,避冲突)
1.为什么不推荐直接映射7000/7100/7200?
这类端口属于常用端口段,可能与小区宽带、网吧的其他服务(如即时通讯、视频流)冲突,导致网络异常。推荐用自定义端口+DMZ主机方案,仅开放必要端口。
2.实操示例:TP-LINK路由器DMZ设置
假设:
服务端内网IP:192.168.1.100
路由器管理地址:192.168.1.1
外网IP:118.117.190.237(可通过路由器WAN口状态查看)
步骤1:绑定服务端内网IP(避免IP变动)
登录路由器管理界面,进入“DHCP服务器→静态地址分配”;
填写服务端电脑的MAC地址(通过ipconfig/all查看),绑定内网IP为192.168.1.100;
保存设置,重启服务端电脑使固定IP生效。
步骤2:启用DMZ主机(开放核心端口)
进入“高级设置→DMZ主机”,勾选“启用DMZ主机”;
填写绑定的内网IP:192.168.1.100;
进入“安全设置→防火墙”,添加端口放行规则:
端口范围
协议
备注
7001
TCP
账号/登录网关端口
7101
TCP
角色网关端口
7201
TCP
游戏网关端口
8080
TCP
微端更新端口(可选)
保存设置,重启路由器。
步骤3:登录器配置(客户端连接关键)
创建list.txt登录器列表文件,填写:
热血传奇外网服|118.117.190.237|7101|8080|0
格式说明:服务器名称|外网IP|登录网关端口|微端端口|备用标识
客户端登录器加载此列表后,即可通过外网IP:7101连接服务端。
四、网关启动顺序与连接验证
1.正确启动顺序(必按此流程)
数据库网关(DBServer.exe)——先启动底层数据服务;
账号网关(LoginSrv.exe)——再启动账号处理模块;
登录网关(LoginGate.exe)——开放客户端登录入口;
角色网关(SelChrGate.exe)——加载角色数据服务;
游戏网关(GameGate.exe)——准备游戏场景连接;
核心引擎(M2Server.exe)——启动游戏主程序。
2.连接验证步骤
本地验证:用127.0.0.1:7101登录,测试注册、创建角色、进入游戏是否正常;
内网验证:同一局域网内另一台电脑用192.168.1.100:7101登录,排除内网通信问题;
外网验证:用手机热点(非局域网)登录,测试外网访问是否通畅。
五、常见问题:配置后连不上?3类排查
网关端口冲突:
用netstat-ano|findstr"7101"(Windows命令)查看端口是否被占用,若占用则修改网关配置中的端口(如改为7102),同步更新路由器规则与登录器列表。
IP填写错误:
登录网关的ServerAddr必须填外网IP,角色/游戏网关的GameSrvAddr必须填内网IP,混淆会导致链路中断。
DMZ未生效:
检查路由器WAN口是否获取公网IP(非10.x.x.x、172.16.x.x等内网保留段),若为内网IP需联系运营商开通公网权限。
六、关键提醒:动态IP解决方案
家庭宽带重启路由器后外网IP会变动,可通过动态DNS工具(如花生壳)绑定域名:
路由器中启用“动态DNS”,绑定花生壳域名;
将登录器列表中的外网IP替换为域名(如mirserver.vicp.net:7101);
服务端网关配置中的ServerAddr仍填外网IP,无需修改(动态DNS会自动同步IP变动)。

