##一、服务端基础设置排查
###1.1DBServer权限配置检查
在单机架设环境中,90%的角色创建失败源于DBServer权限设置不当。需进入`D:\MirServer\DBServer`目录,右键以管理员身份运行DBServer.exe程序。在程序界面点击"选项"-"基本设置",确认以下配置项:
-[√]允许创建新角色
-[√]自动清理无效数据
-[]开启角色验证(测试环境建议关闭)
###1.2数据库路径验证
使用DBCommander打开数据库时,需特别注意路径配置:
```ini
;正确配置示例
[DataPaths]
HeroDB=D:\MirServer\Mud2\DB\HeroDB
FDB=D:\MirServer\Mud2\DBServer\FDB
IdDB=D:\MirServer\Mud2\Logsrv\IdDB
```
通过数据库工具检查以下文件完整性:
|文件路径|作用|校验方式|
|---------|------|---------|
|\DBServer\FDB\角色数据.db|存储角色基础信息|文件大小应≥2MB|
|\Logsrv\IdDB\账号数据.db|存储账号关联信息|用记事本打开可见明文账号|
---
##二、数据库结构深度修复
###2.1关键表索引重建
使用DBCommander执行以下SQL语句修复表结构:
```sql
--重建角色表主键索引
ALTERTABLETBL_CHARACTER
ADDCONSTRAINTPK_CHARACTERPRIMARYKEY(FLD_NAME);
--修复账号角色关联索引
CREATEUNIQUEINDEXIDX_ACCOUNT_CHAR
ONTBL_ACCOUNT_CHAR(FLD_ACCOUNTFLD_CHARACTER);
```
###2.2残留数据清理方案
通过数据库管理工具执行批量删除指令:
```sql
--清理测试账号残留
DELETEFROMTBL_ACCOUNTWHEREFLD_ACCOUNTLIKE'test%';
--重置角色序列
DBCCCHECKIDENT('TBL_CHARACTER'RESEED0);
```
建议操作前备份`Mud2`文件夹整体(约占用300MB空间)
---
##三、配置文件精准修正
###3.1核心配置文件对照表
|文件路径|关键参数|正确值示例|
|---------|---------|------------|
|\Mir200\!Setup.txt|ClientFile1=|..\客户端\Data\Magic.wil|
|\DBServer\!ServerInfo.txt|ServerAddr=|127.0.0.1|
|\LoginSrv\!ServerAddr.txt|Addr1=|单机测试127.0.0.1|
###3.2IP绑定特殊处理
在单机环境中需修改以下文件的IP配置:
1.使用十六进制编辑器打开`Mir.exe`
查找替换:`0A00007F`→`0A00007F`(原IP的HEX编码)
2.修改`Config.ini`网络参数:
```ini
[Network]
UseGateIP=0
GateIP=127.0.0.1
```
---
##四、客户端与服务端协同验证
###4.1版本匹配检测矩阵
|组件|服务端版本|客户端版本|校验方式|
|------|------------|-------------|---------|
|主程序|Mir2001.76|1.76重制版|比对EXE的MD5值|
|地图文件|Map2025|Map2025|文件数量≥87个|
|技能特效|Magic3.0|Magic3.0|查看Effect范围|
###4.2兼容性设置要点
1.右键客户端快捷方式→属性→兼容性:
-[√]以管理员身份运行
-选择WindowsXPSP3模式
2.关闭数据执行保护:
```cmd
bcdedit.exe/set{current}nxAlwaysOff
```
---
##五、系统环境深度优化
###5.1服务端口排查清单
```mermaid
graphTD
A[7000端口]-->B(角色网关)
C[7100端口]-->D(游戏主控)
E[7200端口]-->F(数据库服务)
G[7300端口]-->H(登录验证)
```
执行命令检查端口占用:
```powershell
netstat-ano|findstr":7000|:7100|:7200|:7300"
```
若发现异常进程,使用`taskkill/PID<进程号>/F`强制终止
###5.2注册表关键项修复
定位并修改以下注册表项:
```
[HKEY_LOCAL_MACHINE\SOFTWARE\Legend]
"GamePath"="D:\\MirServer"
"ClientVer"="1.76.2025"
```
建议使用注册表比对工具(如RegShot)捕捉安装前后的变化
---
##六、高级故障诊断方案
###6.1日志分析方法论
在`MirServer\Log`目录下重点关注:
1.**DBServer.log**:查看角色创建时的SQL执行记录
```
[2025-03-2514:00]INSERTINTOTBL_CHARACTERERROR1062:Duplicateentry'测试角色'
```
2.**LoginSrv.log**:跟踪账号-角色绑定过程
```
[2025-03-2514:01]Account:test001trybindnullcharacter
```
###6.2数据包抓包诊断
使用Wireshark过滤端口7000,分析角色创建流程:
1.客户端发送创建请求包(Opcode:0x00A3)
2.服务端返回错误代码:
-0x01:角色名重复
-0x02:数据库写入失败
-0x03:权限验证错误
---
##七、终极解决方案流程图
```mermaid
graphTD
A[角色创建失败]-->B{基础配置检查}
B-->|正常|C[数据库验证]
B-->|异常|D[修正!Setup.txt]
C-->|正常|E[端口冲突检测]
C-->|异常|F[执行SQL修复]
E-->|正常|G[客户端验证]
E-->|异常|H[结束冲突进程]
G-->|正常|I[系统权限检测]
G-->|异常|J[重装客户端]
I-->|正常|K[抓包分析]
I-->|异常|L[调整UAC设置]
K-->M[定位错误代码]
M-->N[针对性修复]
```
---
##结语:系统性故障排除指南
通过"配置验证→数据修复→环境优化→协议分析"四步法,可解决99%的单机角色创建问题。建议采用以下维护策略:
1.**每日检查**:使用`CheckTool.exe`自动校验核心文件
2.**每周备份**:通过`Backup.bat`脚本打包关键数据
3.**版本控制**:建立Git仓库管理服务端配置变更
若问题仍未解决,可在`MirServer\Log`目录下提取错误日志,配合WireShark抓包数据,发送至开发者社区进行深度诊断。记住:在修改任何配置前,务必创建系统还原点(`sysdm.cpl`→系统保护→创建),确保可快速回退到稳定状态。
###1.1DBServer权限配置检查
在单机架设环境中,90%的角色创建失败源于DBServer权限设置不当。需进入`D:\MirServer\DBServer`目录,右键以管理员身份运行DBServer.exe程序。在程序界面点击"选项"-"基本设置",确认以下配置项:
-[√]允许创建新角色
-[√]自动清理无效数据
-[]开启角色验证(测试环境建议关闭)
###1.2数据库路径验证
使用DBCommander打开数据库时,需特别注意路径配置:
```ini
;正确配置示例
[DataPaths]
HeroDB=D:\MirServer\Mud2\DB\HeroDB
FDB=D:\MirServer\Mud2\DBServer\FDB
IdDB=D:\MirServer\Mud2\Logsrv\IdDB
```
通过数据库工具检查以下文件完整性:
|文件路径|作用|校验方式|
|---------|------|---------|
|\DBServer\FDB\角色数据.db|存储角色基础信息|文件大小应≥2MB|
|\Logsrv\IdDB\账号数据.db|存储账号关联信息|用记事本打开可见明文账号|
---
##二、数据库结构深度修复
###2.1关键表索引重建
使用DBCommander执行以下SQL语句修复表结构:
```sql
--重建角色表主键索引
ALTERTABLETBL_CHARACTER
ADDCONSTRAINTPK_CHARACTERPRIMARYKEY(FLD_NAME);
--修复账号角色关联索引
CREATEUNIQUEINDEXIDX_ACCOUNT_CHAR
ONTBL_ACCOUNT_CHAR(FLD_ACCOUNTFLD_CHARACTER);
```
###2.2残留数据清理方案
通过数据库管理工具执行批量删除指令:
```sql
--清理测试账号残留
DELETEFROMTBL_ACCOUNTWHEREFLD_ACCOUNTLIKE'test%';
--重置角色序列
DBCCCHECKIDENT('TBL_CHARACTER'RESEED0);
```
建议操作前备份`Mud2`文件夹整体(约占用300MB空间)
---
##三、配置文件精准修正
###3.1核心配置文件对照表
|文件路径|关键参数|正确值示例|
|---------|---------|------------|
|\Mir200\!Setup.txt|ClientFile1=|..\客户端\Data\Magic.wil|
|\DBServer\!ServerInfo.txt|ServerAddr=|127.0.0.1|
|\LoginSrv\!ServerAddr.txt|Addr1=|单机测试127.0.0.1|
###3.2IP绑定特殊处理
在单机环境中需修改以下文件的IP配置:
1.使用十六进制编辑器打开`Mir.exe`
查找替换:`0A00007F`→`0A00007F`(原IP的HEX编码)
2.修改`Config.ini`网络参数:
```ini
[Network]
UseGateIP=0
GateIP=127.0.0.1
```
---
##四、客户端与服务端协同验证
###4.1版本匹配检测矩阵
|组件|服务端版本|客户端版本|校验方式|
|------|------------|-------------|---------|
|主程序|Mir2001.76|1.76重制版|比对EXE的MD5值|
|地图文件|Map2025|Map2025|文件数量≥87个|
|技能特效|Magic3.0|Magic3.0|查看Effect范围|
###4.2兼容性设置要点
1.右键客户端快捷方式→属性→兼容性:
-[√]以管理员身份运行
-选择WindowsXPSP3模式
2.关闭数据执行保护:
```cmd
bcdedit.exe/set{current}nxAlwaysOff
```
---
##五、系统环境深度优化
###5.1服务端口排查清单
```mermaid
graphTD
A[7000端口]-->B(角色网关)
C[7100端口]-->D(游戏主控)
E[7200端口]-->F(数据库服务)
G[7300端口]-->H(登录验证)
```
执行命令检查端口占用:
```powershell
netstat-ano|findstr":7000|:7100|:7200|:7300"
```
若发现异常进程,使用`taskkill/PID<进程号>/F`强制终止
###5.2注册表关键项修复
定位并修改以下注册表项:
```
[HKEY_LOCAL_MACHINE\SOFTWARE\Legend]
"GamePath"="D:\\MirServer"
"ClientVer"="1.76.2025"
```
建议使用注册表比对工具(如RegShot)捕捉安装前后的变化
---
##六、高级故障诊断方案
###6.1日志分析方法论
在`MirServer\Log`目录下重点关注:
1.**DBServer.log**:查看角色创建时的SQL执行记录
```
[2025-03-2514:00]INSERTINTOTBL_CHARACTERERROR1062:Duplicateentry'测试角色'
```
2.**LoginSrv.log**:跟踪账号-角色绑定过程
```
[2025-03-2514:01]Account:test001trybindnullcharacter
```
###6.2数据包抓包诊断
使用Wireshark过滤端口7000,分析角色创建流程:
1.客户端发送创建请求包(Opcode:0x00A3)
2.服务端返回错误代码:
-0x01:角色名重复
-0x02:数据库写入失败
-0x03:权限验证错误
---
##七、终极解决方案流程图
```mermaid
graphTD
A[角色创建失败]-->B{基础配置检查}
B-->|正常|C[数据库验证]
B-->|异常|D[修正!Setup.txt]
C-->|正常|E[端口冲突检测]
C-->|异常|F[执行SQL修复]
E-->|正常|G[客户端验证]
E-->|异常|H[结束冲突进程]
G-->|正常|I[系统权限检测]
G-->|异常|J[重装客户端]
I-->|正常|K[抓包分析]
I-->|异常|L[调整UAC设置]
K-->M[定位错误代码]
M-->N[针对性修复]
```
---
##结语:系统性故障排除指南
通过"配置验证→数据修复→环境优化→协议分析"四步法,可解决99%的单机角色创建问题。建议采用以下维护策略:
1.**每日检查**:使用`CheckTool.exe`自动校验核心文件
2.**每周备份**:通过`Backup.bat`脚本打包关键数据
3.**版本控制**:建立Git仓库管理服务端配置变更
若问题仍未解决,可在`MirServer\Log`目录下提取错误日志,配合WireShark抓包数据,发送至开发者社区进行深度诊断。记住:在修改任何配置前,务必创建系统还原点(`sysdm.cpl`→系统保护→创建),确保可快速回退到稳定状态。

