#### **一、问题本质分析**
根据你的描述,**单机运行正常,内网分机能注册但登录失败**,核心矛盾集中在**服务端网关通信受阻**或**客户端网络策略配置错误**。结合无线局域网环境(无线路由器+双笔记本),需从以下四层排查:
1. **服务端多IP绑定异常**(尤其是LoginGate、RunGate、DBServer)
2. **路由器端口转发规则遗漏**(7000-7300端口未开放)
3. **Windows防火墙/杀毒软件拦截跨设备通信**
4. **登录器列表文件与分机网络环境不兼容**(内网IP未固化或域名解析失败)
---
#### **二、服务端配置修正**
##### **1. 关键文件IP地址校对**
- **路径**:`D:\MirServer\`各子目录配置文件
- **操作步骤**:
- **LoginSrv配置**:
打开`LoginSrv\!serverinfo.txt`,确保`ServerIP=192.168.1.101`,而非`127.0.0.1`或外网IP。
```text
; 示例
[Server]
ServerIP=192.168.1.101
```
- **DBServer配置**:
修改`DBServer\!addrtable.txt`,将`所有分区IP`替换为`192.168.1.101`,避免分区通信断链。
```text
; 原错误配置(导致分机无法同步角色数据)
传奇内网 127.0.0.1 192.168.1.101 192.168.1.101:7100
; 修正后
传奇内网 192.168.1.101 192.168.1.101 192.168.1.101:7100
```
- **RunGate配置**:
检查`RunGate\Config.ini`,确认`GateIP=192.168.1.101`,端口默认`7200`(需与登录器列表一致)。
##### **2. 引擎控制台(M2Server)关键设置**
启动服务端后,进入**M2Server → 选项 → 参数设置 → 环境设置**:
- **主IP地址**:设为`192.168.1.101`
- **动态IP支持**:勾选(防止无线局域网IP漂移导致断连)
---
#### **三、路由器与网络环境优化**
##### **1. 端口转发规则设置**
- **登录端口**:7000(LoginGate)
- **角色网关**:7100(SelGate)
- **游戏通信**:7200(RunGate)
- **数据库端口**:7300(DBServer)
**操作示例(以TP-LINK路由器为例)**:
1. 登录路由器管理页面(通常为`192.168.1.1`)
2. **高级设置 → NAT转发 → 虚拟服务器**
3. 添加四条规则:
| 内部端口 | 外部端口 | IP地址 | 协议类型 |
|----------|----------|--------------|----------|
| 7000 | 7000 | 192.168.1.101| TCP/UDP |
| 7100 | 7100 | 192.168.1.101| TCP/UDP |
| 7200 | 7200 | 192.168.1.101| TCP/UDP |
| 7300 | 7300 | 192.168.1.101| TCP/UDP |
##### **2. 无线局域网稳定性提升**
- **信号干扰排查**:
使用`WiFi Analyzer`工具检测信道拥堵情况,建议切换至5GHz频段(若路由器支持)。
- **IP地址固化**:
在路由器DHCP设置中,将主机的`192.168.1.101`与分机的IP(如`192.168.1.102`)绑定MAC地址,避免IP冲突。
---
#### **四、客户端与登录器适配**
##### **1. 列表文件精准配置**
- **路径**:分机客户端根目录下的`serverinfo.txt`或`serverlist.txt`
- **内容格式**:
```text
内网测试区|192.168.1.101|7000|1|192.168.1.101|0
```
- **字段解释**:
`服务器名称|IP:端口|备用IP|分区标识|...`
- **避坑点**:
禁用域名(如`127.0.0.1`),直接使用内网IP,避免DNS解析失败。
##### **2. 分机补丁与引擎兼容性**
- **必备文件**:
将主机`MirServer\LoginGate`下的`LoginGate.exe`和`Config.ini`复制到分机客户端,覆盖原文件。
- **登录器版本同步**:
使用与主机服务端匹配的**统一版本登录器**(如GOM1108、HERO等),避免协议不兼容。
---
#### **五、系统级权限与安全策略**
##### **1. 防火墙高级放行规则**
- **操作路径**:
`控制面板 → Windows Defender 防火墙 → 高级设置 → 入站规则`
- **新建规则**:
允许TCP/UDP端口`7000-7300`的所有连接,作用域设置为`192.168.1.0/24`(覆盖整个内网)。
##### **2. 禁用IPv6协议栈**
- **原因**:
部分传奇引擎对IPv6支持不稳定,可能导致内网通信降级。
- **操作步骤**:
```powershell
# 管理员权限运行
netsh interface teredo set state disabled
netsh interface ipv6 set global randomizeidentifiers=disabled
```
---
#### **六、终极验证与调试工具**
##### **1. 网络连通性测试**
- **分机执行**:
```cmd
telnet 192.168.1.101 7000
telnet 192.168.1.101 7200
```
- **预期结果**:
显示空白窗口(表示端口开放);若提示“无法连接”,则端口转发或防火墙配置有误。
##### **2. 引擎日志实时监控**
- **路径**:
`MirServer\Log\`下的`LoginGate.log`、`RunGate.log`
- **关键信息捕捉**:
查看分机尝试登录时的`Connection from 192.168.1.102 accepted`记录,若无则说明分机请求未到达服务端。
---
#### **七、高频问题补充方案**
- **现象**:分机登录后卡在“正在连接游戏服务器...”
**解决**:
修改`Mir200\Setup.txt`中的`DynamicIPMode=1`,开启动态IP支持。
- **现象**:分机提示“服务器维护中”
**解决**:
检查`DBServer\!serverinfo.txt`中的`Status=0`(0为正常,1为维护)。
---
### **总结**
内网联机失败的本质是**服务端多模块IP绑定不全**或**客户端网络策略未穿透内网隔离**。通过精细化配置端口转发、固化IP、同步登录器版本及放行防火墙规则,可彻底解决“能注册不能登录”的问题。若仍存异常,建议使用`Wireshark`抓包分析分机与服务端的握手过程,定位协议层中断点。

