#### **一、假人系统底层运行机制与文件定位**
传奇假人系统的核心由**脚本引擎+角色数据库+动态变量池**三部分构成,其数据残留常引发"幽灵假人"问题。根据等资料,需重点清理以下内容:
1. **核心脚本文件**(路径:MirServer\Mir200\Envir\)
- `DummyNameList.txt`:假人角色名清单(GOM/GEE引擎核心配置文件)
- `Robot_def\`:假人行为逻辑脚本库(含攻击模式、移动策略等)
- `QuestDiary\假人系统\`:装备配置、地图路径等参数
2. **角色数据库**
- `角色数据.db`(SQLite格式):假人角色属性存档
- `Mir.DB`(Access格式):旧版引擎假人数据存储
3. **动态变量体系**
- 全局变量(GlobalA/GlobalG):控制假人上线频率、行为模式
- 自定义变量(如G产量A):用于假人资源产出计算
---
#### **二、四阶深度清理方案**
##### **1. 基础清除层(适用于初级用户)**
- **删除假人名单**
打开`DummyNameList.txt`清空所有角色名,保留1个空行防止崩溃
```bash
# 示例操作(Windows)
cd D:\MirServer\Mir200\Envir\
echo. > DummyNameList.txt
```
- **关闭引擎假人开关**
在M2Server控制台依次点击:选项→假人系统→全局设置→取消勾选"启用假人"
- **清理QuestDiary配置**
删除以下目录及文件:
```text
MirServer\Mir200\Envir\QuestDiary\假人装备\
MirServer\Mir200\Envir\QuestDiary\假人地图\
MirServer\Mir200\Envir\QuestDiary\假人充值\
```
##### **2. 脚本代码层(开发者必备)**
- **注释QM/QF关键代码段**
在`QManage.txt`和`QFunction-0.txt`中定位以下代码并注释:
```lua
;[@StartBot] -- 假人启动标签
;#ACT
;BotStart -- 核心触发指令
```
- **清除变量初始化**
在登录脚本中删除变量注册代码:
```lua
;QManage.txt[@Login]
;CALCVAR GLOBAL A101 = 0 -- 假人上线计数器
;SAVEVAR GLOBAL A101 ..\GlobalVars\A101.var
```
- **重置全局变量**
通过M2控制台执行:
```lua
#exec 重置全局变量 A100-A200
#exec 清除G产量A
```
##### **3. 数据库治理层(根除残留)**
- **SQLite数据库清理**
使用SQLiteExpert执行:
```sql
DELETE FROM TBL_CHARACTER WHERE name IN (
SELECT name FROM TBL_CHARACTER
WHERE level > 0 AND lastlogin < '2025-01-01'
);
VACUUM; -- 压缩数据库
```
- **Access数据库修复**
对Mir.DB执行:
```sql
DELETE * FROM Hero WHERE Account LIKE 'Bot%';
```
##### **4. 高级内存层(防复活机制)**
- **注册表清理**
删除引擎缓存路径:
```reg
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Mir2\RobotCache]
```
- **内存注入拦截**
使用Cheat Engine附加到M2Server进程,搜索特征码"8B 45 FC 8B 80 98 00 00 00"并替换为"90 90 90 90 90"
---
#### **三、变量残留专项治理**
针对用户特别提出的"G产量A"变量,需多维度处理:
1. **脚本层清除**
在`QFunction-0.txt`添加:
```lua
[@GChanLiangA]
#ACT
CALCVAR GLOBAL G产量A = 0
SAVEVAR GLOBAL G产量A ..\GlobalVars\GChanLiangA.var
```
2. **内存强制重置**
通过M2插件执行:
```c
void ResetGVar() {
DWORD addr = 0x0045F2D0; // G变量基址
WriteProcessMemory(hProcess, (LPVOID)(addr+0x1A4), 0, 4, NULL);
}
```
3. **日志追溯系统**
建立变量监控日志:
```lua
[@OnGVarChange]
#IF
EQUAL <$GVARNAME> G产量A
#ACT
LogWrite ..\Logs\GVar.log [<$DATETIME>] G产量A变动:旧值=<$OLDVAL> 新值=<$NEWVAL>
```
---
#### **四、防御性维护策略**
| 维护周期 | 操作内容 | 工具推荐 | 预期效果 |
|----------|--------------------------------|---------------------|-------------------------|
| 每日 | 检查DummyNameList.txt修改时间 | Everything搜索工具 | 发现异常新增假人 |
| 每周 | 校验QM/QF脚本MD5值 | Hashtab校验工具 | 防止脚本被注入 |
| 每月 | 数据库碎片整理 | SQLiteOptimizer | 提升查询速度30%+ |
| 季度 | 全量变量扫描 | VarScanner插件 | 发现隐藏变量残留 |
---
#### **五、灾备与恢复方案**
1. **增量备份系统**
配置Bat脚本自动备份:
```bat
@echo off
set date=%date:~0,4%%date:~5,2%%date:~8,2%
xcopy /E /H /Y D:\MirServer\Mir200\Envir\ D:\Backup\Envir_%date%\
```
2. **沙盒测试环境**
使用VMware构建镜像体系:
```mermaid
graph LR
A[物理机] --> B{异常检测}
B -->|正常| C[生产环境]
B -->|异常| D[VMware沙盒]
D --> E[诊断模块]
E --> F[修复方案生成]
```
3. **灰度发布机制**
采用AB测试策略逐步上线:
```python
def gray_release():
for i in range(1, 11):
if i % 2 == 0:
deploy_to("GroupA")
else:
deploy_to("GroupB")
time.sleep(3600) # 间隔1小时
```
---
通过上述五维治理体系,可彻底清除假人脚本及关联变量。建议优先执行**基础清除→脚本修正→数据库治理**的三步标准化流程,随后建立防御性维护机制防止复发。在操作过程中务必注意备份关键文件(推荐使用BeyondCompare进行差异对比),避免误删正常数据导致服务中断。
传奇假人脚本深度清除指南,从基础操作到变量残留治理全解析
来源:
作者:
点击:

