一、客户端登录全流程:先连谁,后连谁
客户端从点击登录到进游戏,数据流严格遵循“网关链”顺序,每一步连接的IP和程序都不同。
1. 第一步:连接登录网关(LoginGate)
◦ 连接程序:LoginGate.exe(登录网关)。
- 作用:客户端通过登录器输入账号密码,最先连接此程序进行身份验证和注册。
- 默认端口:7000。
2. 第二步:连接角色网关(SelGate)
◦ 连接程序:SelGate.exe(角色选择网关)。
- 作用:登录验证通过后,客户端跳转到角色列表界面,此阶段数据传输通过该网关。
- 默认端口:7100。
3. 第三步:连接游戏网关(RunGate)
◦ 连接程序:RunGate.exe(游戏网关)。
- 作用:选择角色进入游戏后,所有的移动、打怪、聊天等实时交互数据均通过此网关。
- 默认端口:7200。
底层依赖:上述三个网关在启动前,必须先启动 DBServer.exe(数据库服务)和 LoginSrv.exe(账号服务),但这两个服务不直接对外连接,仅网关调用。
二、外网IP设置:4个必须修改的文件
假设你的公网IP是 123.123.123.123,内网IP是 192.168.1.100。单机架设时这些文件里全是 127.0.0.1,开外网必须全部替换。
1. !addrtable.txt(最易出错)
◦ 路径:MirServer\LoginSrv\!addrtable.txt
◦ 修改逻辑:此文件告诉客户端“游戏数据从哪个IP来”。格式必须严格:服务器名 127.0.0.1 公网IP:7100。常见错误是只改前面IP,后面仍留 127.0.0.1,导致外网玩家卡门。
- 示例:我的传奇 127.0.0.1 123.123.123.123:7100
2. ServerList.txt(登录列表)
- 路径:MirServer\LoginGate\ServerList.txt
◦ 作用:登录器读取的服务器列表。
- 示例:[我的传奇] IP=123.123.123.123 Port=7000
3. MirGate.ini(网关配置)
- 路径:分别位于 LoginGate、SelChrGate、RunGate 文件夹内。
◦ 修改项:找到 ServerAddr、GateAddr 等参数,将 127.0.0.1 改为公网IP。
- 示例(LoginGate.ini):ServerAddr=123.123.123.123
4. M2Server参数(游戏主控)
- 操作:启动M2后,点击【选项】→【参数设置】→【网络设置】,将“服务器IP”改为公网IP,游戏端口保持7200。
三、路由器端口映射:最少映射3个端口
外网数据要穿透你的路由器到达服务端电脑,必须在路由器里做“端口转发”(虚拟服务器)。以TP-Link路由器为例,假设服务端电脑内网IP是 192.168.1.100。
进入路由器管理页(通常 192.168.1.1)→ 转发规则 → 虚拟服务器,添加以下规则:
服务端口 内部端口 协议 内部IP地址 对应程序
7000 7000 TCP/UDP 192.168.1.100 LoginGate.exe
7100 7100 TCP 192.168.1.100 SelGate.exe
7200 7200 TCP 192.168.1.100 RunGate.exe
操作要点:
• 外部端口和内部端口填一致即可。
• 7000端口建议协议选“ALL”或“TCP+UDP”,确保登录顺畅。
• 保存后最好重启路由器。
四、完整外网配置实例(GOM引擎)
假设场景:公网IP 123.123.123.123,内网IP 192.168.1.100。
1. 修改配置文件
◦ !addrtable.txt:写入 我的传奇 127.0.0.1 123.123.123.123:7100
◦ ServerList.txt:写入 我的传奇 123.123.123.123 7000
◦ MirGate.ini(三个网关文件夹内):将所有IP项改为 123.123.123.123
2. 路由器映射
◦ 添加三条规则,将7000、7100、7200端口全部指向 192.168.1.100。
3. 登录器配置
◦ 生成登录器时,服务器IP填 123.123.123.123,端口填 7000。将此登录器发给朋友即可。
五、高频报错排查
• 不开门/连接失败:检查 !addrtable.txt 格式是否正确,以及路由器7000端口是否映射成功。
• 进入游戏黑屏:通常是7200端口未映射,或RunGate网关内的IP设置错误。
• 角色加载失败:7100端口未开放,或SelGate网关未启动。
只要保证“配置文件IP=公网IP”且“路由器3个端口全开”,外网即可正常连接。

