####一、核心迁移逻辑与前置准备
迁移传奇数据本质是**数据库文件转移+服务端配置适配**的过程。需重点关注以下三类数据:
|数据类型|存储路径(旧服务器)|新服务器验证点|
|----------------|----------------------------------|------------------------|
|账号数据|`\MirServer\mud2\Logsrv\IdDB\`|用户登录权限及密码校验|
|角色存档|`\MirServer\mud2\DBSrv200\FDB\`|装备/等级/地图坐标|
|行会及沙巴克|`\MirServer\Mir200\GuildBase\`|行会成员/攻城状态|
**前置准备清单**:
1.停止旧服务器所有服务进程(避免数据写入冲突)
2.确认新旧服务器使用相同引擎版本(Hero/GOM/Bule等),不同版本需执行数据库转换
3.准备FTP工具或内网传输通道(推荐FileZilla/SCP)
---
####二、关键数据备份与导出
#####1.**账号与角色数据**
-**导出路径**:
```bash
#账号库
/MirServer/mud2/Logsrv/IdDB/*.dbs
#角色库
/MirServer/mud2/DBSrv200/FDB/*.dbs
```
-**操作要点**:
-使用`DBC2000`打开`HeroDB`验证字段完整性
-若出现`StdItems.DB`编号不一致,需用Navicat执行字段映射
#####2.**行会与沙巴克数据**
-**核心文件**:
```bash
/MirServer/Mir200/GuildBase/guilds/*.txt#行会成员名单
/MirServer/Mir200/Envir/Castle/*.txt#沙巴克配置
```
-**特殊处理**:
-将文件内IP地址批量替换为新服务器IP(VSCode全局替换)
-中文行会名需检查编码格式(必须ANSI)
#####3.**GM权限与日志数据**
-**必要备份项**:
```bash
/MirServer/Mir200/Envir/AdminList.txt#GM名单
/MirServer/Mir200/Log/*.log#操作日志
```
---
####三、新服务器数据导入
#####1.**基础环境部署**
-安装相同版本的DBC2000,配置`HeroDB`路径指向新位置
```reg
#注册表路径示例
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\HeroDB]
"DBQ"="D:\\NewMirServer\\mud2\\DB"
```
-修改所有服务端配置文件中的IP地址(共5处核心文件):
|文件路径|修改字段|
|----------------------------|-----------------------|
|/Mir200/!Setup.txt|IP=新服务器IP|
|/LoginGate/Config.ini|Server1=新服务器IP|
|/RunGate/RunGate.ini|ListenAddr=新服务器IP|
#####2.**数据文件覆盖**
-通过对比工具(BeyondCompare)增量同步:
```bash
#旧服务器->新服务器
/mud2/Logsrv/IdDB/-->/NewMirServer/mud2/Logsrv/IdDB/
/mud2/DBSrv200/FDB/-->/NewMirServer/mud2/DBSrv200/FDB/
```
-执行数据库修复命令:
```sql
CHECKDB('HeroDB'REPAIR_ALLOW_DATA_LOSS)--强制修复损坏数据
```
---
####四、迁移后验证与调试
#####1.**基础功能测试**
|测试项|预期结果|异常处理方案|
|------------------|--------------------------|--------------------------|
|账号登录|可正常输入密码进入选角|检查IdDB文件权限|
|角色装备|背包/穿戴装备无丢失|对比StdItems.DB字段|
|行会功能|成员列表及职位显示正常|检查guilds文件编码|
#####2.**压力测试**
-使用JMeter模拟并发登录(建议50用户起步)
-监控M2Server内存占用(超过2GB需优化脚本)
#####3.**容灾回滚方案**
-创建迁移快照:
```bash
tar-zcvfbackup_20250310.tar.gz/NewMirServer/#全量打包
```
-异常时执行:
```bash
systemctlstop传奇服务&&rm-rf/NewMirServer/&&tar-zxvfbackup_20250310.tar.gz
```
---
####五、高阶场景处理
#####1.**跨引擎迁移(如Hero转GOM)**
-使用数据库转换工具(如LegacyDBConverter)
-关键字段映射关系:
|Hero字段|GOM对应字段|转换规则|
|---------------|-----------------|-------------------|
|ACCOUNTINDEX|LoginID|直接复制|
|ITEMTYPE|StdMode|需查表转换|
#####2.**云服务器迁移**
-阿里云/腾讯云特殊配置:
-安全组开放7000/7100/7200端口
-使用云数据库RDS替换DBC2000(需改写M2Server连接逻辑)
---
####六、迁移工具包推荐
|工具名称|用途|下载源|
|------------------|--------------------------|------------------------|
|DBC2000修复助手|数据库字段校验| |NavicatPremium|数据库可视化操作||数据同步专家|增量文件对比||压力测试终端|多用户并发模拟|
迁移传奇数据本质是**数据库文件转移+服务端配置适配**的过程。需重点关注以下三类数据:
|数据类型|存储路径(旧服务器)|新服务器验证点|
|----------------|----------------------------------|------------------------|
|账号数据|`\MirServer\mud2\Logsrv\IdDB\`|用户登录权限及密码校验|
|角色存档|`\MirServer\mud2\DBSrv200\FDB\`|装备/等级/地图坐标|
|行会及沙巴克|`\MirServer\Mir200\GuildBase\`|行会成员/攻城状态|
**前置准备清单**:
1.停止旧服务器所有服务进程(避免数据写入冲突)
2.确认新旧服务器使用相同引擎版本(Hero/GOM/Bule等),不同版本需执行数据库转换
3.准备FTP工具或内网传输通道(推荐FileZilla/SCP)
---
####二、关键数据备份与导出
#####1.**账号与角色数据**
-**导出路径**:
```bash
#账号库
/MirServer/mud2/Logsrv/IdDB/*.dbs
#角色库
/MirServer/mud2/DBSrv200/FDB/*.dbs
```
-**操作要点**:
-使用`DBC2000`打开`HeroDB`验证字段完整性
-若出现`StdItems.DB`编号不一致,需用Navicat执行字段映射
#####2.**行会与沙巴克数据**
-**核心文件**:
```bash
/MirServer/Mir200/GuildBase/guilds/*.txt#行会成员名单
/MirServer/Mir200/Envir/Castle/*.txt#沙巴克配置
```
-**特殊处理**:
-将文件内IP地址批量替换为新服务器IP(VSCode全局替换)
-中文行会名需检查编码格式(必须ANSI)
#####3.**GM权限与日志数据**
-**必要备份项**:
```bash
/MirServer/Mir200/Envir/AdminList.txt#GM名单
/MirServer/Mir200/Log/*.log#操作日志
```
---
####三、新服务器数据导入
#####1.**基础环境部署**
-安装相同版本的DBC2000,配置`HeroDB`路径指向新位置
```reg
#注册表路径示例
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\HeroDB]
"DBQ"="D:\\NewMirServer\\mud2\\DB"
```
-修改所有服务端配置文件中的IP地址(共5处核心文件):
|文件路径|修改字段|
|----------------------------|-----------------------|
|/Mir200/!Setup.txt|IP=新服务器IP|
|/LoginGate/Config.ini|Server1=新服务器IP|
|/RunGate/RunGate.ini|ListenAddr=新服务器IP|
#####2.**数据文件覆盖**
-通过对比工具(BeyondCompare)增量同步:
```bash
#旧服务器->新服务器
/mud2/Logsrv/IdDB/-->/NewMirServer/mud2/Logsrv/IdDB/
/mud2/DBSrv200/FDB/-->/NewMirServer/mud2/DBSrv200/FDB/
```
-执行数据库修复命令:
```sql
CHECKDB('HeroDB'REPAIR_ALLOW_DATA_LOSS)--强制修复损坏数据
```
---
####四、迁移后验证与调试
#####1.**基础功能测试**
|测试项|预期结果|异常处理方案|
|------------------|--------------------------|--------------------------|
|账号登录|可正常输入密码进入选角|检查IdDB文件权限|
|角色装备|背包/穿戴装备无丢失|对比StdItems.DB字段|
|行会功能|成员列表及职位显示正常|检查guilds文件编码|
#####2.**压力测试**
-使用JMeter模拟并发登录(建议50用户起步)
-监控M2Server内存占用(超过2GB需优化脚本)
#####3.**容灾回滚方案**
-创建迁移快照:
```bash
tar-zcvfbackup_20250310.tar.gz/NewMirServer/#全量打包
```
-异常时执行:
```bash
systemctlstop传奇服务&&rm-rf/NewMirServer/&&tar-zxvfbackup_20250310.tar.gz
```
---
####五、高阶场景处理
#####1.**跨引擎迁移(如Hero转GOM)**
-使用数据库转换工具(如LegacyDBConverter)
-关键字段映射关系:
|Hero字段|GOM对应字段|转换规则|
|---------------|-----------------|-------------------|
|ACCOUNTINDEX|LoginID|直接复制|
|ITEMTYPE|StdMode|需查表转换|
#####2.**云服务器迁移**
-阿里云/腾讯云特殊配置:
-安全组开放7000/7100/7200端口
-使用云数据库RDS替换DBC2000(需改写M2Server连接逻辑)
---
####六、迁移工具包推荐
|工具名称|用途|下载源|
|------------------|--------------------------|------------------------|
|DBC2000修复助手|数据库字段校验| |NavicatPremium|数据库可视化操作||数据同步专家|增量文件对比||压力测试终端|多用户并发模拟|

