### 一、核心排查流程图
```mermaid
graph TD
A[登录器无服务器] --> B{网络连通性}
B -->|本地检测| C[检查127.0.0.1回环]
B -->|外网检测| D[IP端口扫描工具]
C --> E{服务端配置}
E -->|IP错误| F[修正!Setup.txt]
E -->|端口占用| G[修改端口范围]
D --> H{列表文件}
H -->|本地列表路径| I[检查serverlist.txt]
H -->|远程列表URL| J[验证JSON格式]
J --> K{登录器兼容性}
K -->|生成器版本| L[匹配引擎类型]
K -->|协议加密| M[关闭强加密]
```
---
### 二、分步解决方案
#### **1. IP地址与端口配置验证**
- **关键配置文件路径**:
- `MirServer\Mir200\!Setup.txt` → `ServerAddr=127.0.0.1`
- `MirServer\LoginSrv\Logsrv.ini` → `DynamicIPMode=1`
- `MirServer\DBServer\!ServerInfo.txt` → `IP=127.0.0.1`
- **操作步骤**:
1. 使用文本编辑器全局搜索所有`IP=`字段,确保均为`127.0.0.1`(单机)或公网IP(外网)。
2. 若使用路由器,在`LoginSrv.ini`中设置`DynamicIPMode=1`并重启服务端。
- **端口扫描工具验证**:
1. 下载**PortQry**工具,执行命令:
```bash
portqry.exe -n 127.0.0.1 -e 7000 # 检测登录端口
portqry.exe -n 127.0.0.1 -e 7100 # 检测角色端口
```
2. 若状态显示`NOT LISTENING`,说明端口未开放,需检查服务端网关程序是否启动。
---
#### **2. 列表文件(serverlist)深度修复**
- **本地列表配置**:
1. 检查登录器同级目录是否存在`serverlist.txt`,内容示例:
```
[我的传奇]
Title=单机测试
IP=127.0.0.1
Port=7000
```
2. 若使用微端,需在登录器生成器中勾选“读取本地列表”。
- **远程列表配置**:
1. 将列表文件上传至网页空间(如免费托管平台[https://pastebin.com](https://pastebin.com))。
2. 在登录器生成器中填写URL(如`[http://xxx.com/list.txt](http://xxx.com/list.txt)`),确保内容为**标准JSON格式**:
```json
{"servers":[{"name":"单机","ip":"127.0.0.1","port":7000}]}
```
---
#### **3. 防火墙与安全软件处理**
- **Windows防火墙放行规则**:
1. 以管理员身份运行CMD,输入:
```bash
netsh advfirewall firewall add rule name="Mir2" dir=in action=allow protocol=TCP localport=7000-7200
```
2. 重启服务端控制器(GameCenter.exe)。
- **杀毒软件信任设置**:
1. 将`MirServer`文件夹加入360、火绒等软件的信任区。
2. 恢复被误杀的网关文件(如RunGate.exe)。
---
#### **4. 登录器生成器版本兼容性调整**
- **引擎与登录器匹配规则**:
| 引擎类型 | 登录器生成器版本 | 核心DLL文件 |
|-------------|-------------------------|---------------------|
| GOM引擎 | 1108/0325 | PlugClient.dll |
| GEE引擎 | 2022.07 | Geem2.dll |
| Blue引擎 | 连击版/合击版 | 无需生成器 |
- **加密协议关闭方法**:
1. 在登录器生成器中取消勾选“启用强加密”或“RSA签名”。
2. 对于GOM引擎,删除`MirServer\Mir200\PlugClient\Wrdule.dat`文件。
---
#### **5. 客户端补丁与PAK密码修复**
- **补丁路径验证**:
1. 检查客户端`Data`文件夹是否包含服务端提供的`NewopUI.Pak`等文件。
2. 在登录器生成器中配置正确的补丁路径(如`D:\传奇客户端\Data`)。
- **PAK密码校对**:
1. 打开`MirServer\登录器配置器\Pak.txt`,确认密码与客户端补丁一致。
2. 使用**WIL编辑器**检查补丁文件是否完整。
---
### 三、进阶问题排查
#### **1. 网关程序日志分析**
- **关键日志路径与关键词**:
- `MirServer\Log\LoginGate.log` → 过滤“Connection closed”
- `MirServer\Log\RunGate.log` → 过滤“Invalid packet”
- `MirServer\Log\DBServer.log` → 检查“Load Human Error”
- **典型案例**:
若`DBServer.log`提示“角色加载失败”,需删除`FDB`文件夹并重启服务端。
#### **2. 网络环境模拟测试**
- **本地回环测试**:
1. 在同一台电脑上启动服务端和客户端,使用`127.0.0.1`连接。
2. 若成功,说明问题出在外网映射;若失败,需检查端口占用。
- **局域网联机测试**:
1. 在另一台电脑上输入主机IP(如`192.168.1.100`)测试连接。
2. 使用`ping`和`telnet`命令验证网络可达性:
```bash
telnet 192.168.1.100 7000
```
---
### 四、参数对照表与工具推荐
| 问题类型 | 关键参数 | 正常值 | 检测工具 |
|------------------|-------------------------|--------------------|----------------------|
| IP配置错误 | ServerAddr | 127.0.0.1 | 文本编辑器/Notepad++ |
| 端口占用 | LoginGate端口 | 7000 | PortQry/CurrPorts |
| 列表文件失效 | serverlist.txt格式 | 标准INI/JSON | JSONLint验证工具 |
| 加密协议冲突 | PlugClient.dll版本 | 与引擎匹配 | PE文件查看器 |
| 补丁路径错误 | PAK文件路径 | 客户端根目录 | 资源管理器 |
**推荐工具下载**:
- PortQry:微软官方端口扫描工具
- WIL编辑器:传奇补丁编辑工具
- JSONLint:在线JSON格式验证
传奇登录器无法显示服务器的终极排查指南,从配置到网络的全流程解决方案
来源:
作者:
点击:

