传奇外网架设四大故障速查:创建人物失败不开门PAK密码错误脚本错误修复实录

来源: 作者: 点击:
一、创建人物失败
表现:输完角色名点确定无反应、提示“创建失败/Error=4”、老号能登新号建不出。
排查与修复:
1. DBServer未开创建权限。打开 DBServer.exe → 选项 → 基本设置 → 勾“允许创建新人物/允许建立新角色”→保存重启。
2. HeroDB/DBC配置错。BDE Administrator里 HeroDB 的 PATH 必须指向 MirServer\Mir200\Mud2\DB 或 DBServer\FDB,别名大小写严格 HeroDB;SQLite/MySQL版核对 DBConfig.ini 库名账号密码,服务未启动先起服务。
3. !Setup.txt 限制。Mir200\!Setup.txt 内 CanCreateUser=1、MaxUserPerAccount≥1、UserNameMinLen/MaxLen 合理(2—12),ServerIP 与网关一致。
4. 数据目录损坏/满额。Mud2\DBServer\FDB、Mud2\Logsrv\IdDB、Mir200\Envir\DataBase 内 .db/.idx 损坏或 Access 库逼近2GB,停服备份后替换纯净库或压缩修复。
5. 角色名非法。含空格、特殊符、纯数字、超长,M2参数设置改过滤规则;QuestDiary\QFunction-0.txt 或 LoginQuest.txt 里有过期拦截(CheckDate/Break/SendMsg6)注释掉重读。
6. 启动顺序错。必须 DBServer → LoginSrv/LoginGate → SelGate → M2Server,反序会导致写库失败。
7. 外网写权限。服务端根目录→属性→安全→当前账户勾“完全控制”,尤其 Mud2、UserData、DBServer\Data。

二、不开门(点开始游戏无响应/一直连接服务器)
表现:登录器能出列表,点进入卡“正在连接…”、不加载角色选择界面。
排查与修复:
1. LoginSrv/!addrtable.txt 与 !ServerAddr.txt 服务器名、IP、端口(默认7000登录网关、7100游戏网关)必须与 !Setup.txt 的 ServerName/IP 完全一致,外网填公网IP并在路由器/云安全组放行 7000—7300 TCP。
2. 登录网关 LoginGate\Mirgate.ini、SelGate、RunGate 端口互撞,netstat -ano | findstr 7000 查占用,改端口同步改列表与 !Setup.txt。
3. 服务器名三处不一致:!Setup.txt 的 ServerName、list.txt 第二字段、客户端补丁 ftp.ini 必须完全相同(含空格大小写)。
4. M2未真正起完。看 M2Server 日志是否卡地图加载、StdItems.DB加载失败、DBC连不上,先修DBC再起门。
5. 动态IP/云服。ADSL用户在 !addrtable.txt 更新IP;云服本地能连外网不能连=安全组没放端口。
6. 网关 Config.ini 误开 BlockNewID/BlockCreateID,关掉。

三、PAK显示密码错误
表现:登录器配置器加载 pak.txt 时红色“密码错误/文件不存在”,进游戏黑屏、装备问号、UI缺资源。
排查与修复:
1. pak.txt 首行路径不对。记事本开登录器目录 pak.txt,把里面客户端绝对路径(如 D:\热血传奇\Resources\Data)全替换成你当前客户端真实路径,盘符大小写一致。
2. 密码不匹配。版本自带 pak.txt 密码被改过,用 WIL编辑器/PAK查看器 打开对应 .pak 试常用密码(gameofmir、www.gameofmir.com、版本发布页给的密码)核对,改对后保存重生成登录器。
3. NewopUI.Pak 缺失/错版。把服务端登录器目录的 NewopUI.Pak 拷到客户端 Data 覆盖,pak.txt 第一行密码与之对齐。
4. 更新登录器后没重解包。换了登录器配置器必须重新放 PAK 文件并重新解压,别复用旧解压缓存。
5. Key/微端不一致。服务端 UpdateServer 与登录器配置器用同一套 Key 文件、同一份 pak.txt 密码;微端端口与列表微端端口对齐,防火墙放行。
6. 混用引擎组件。GOM/GEE/Blue 的 Pak 格式不通用,登录器、服务端、客户端必须同引擎同版本。

四、脚本错误
表现:进游戏弹“脚本错误 [MapQuest/QuestDiary/Market_Def XXX行]”、NPC点不开、M2控制台报错。
排查与修复:
1. 看M2报错定位文件行号。重点查 Mir200\Envir\QuestDiary\、Market_Def\、MapQuest.txt、NpcGen.txt,常见错:缺 #IF/#ACT/#ELSEACT、引号不闭合、变量未定义、标签 [@XXX] 重复、Break 位置错。
2. 编码问题。引擎要求 UTF-8 无 BOM,记事本存的 UTF-8 带 BOM 头会炸首行,用 Notepad++ 转 UTF-8 无 BOM 重存。
3. 相对路径/反斜杠错。脚本里调用 Envir\QuestDiary\xxx.txt 必须文件真实存在,配置路径用双反斜杠 \\。
4. 插件未开。M2→插件管理,版本用到的商业/功能插件(ESP、封挂、合击、连击)没勾启会报调用失败,按版本说明开齐。
5. 引擎过旧。0328/0538 等老包跑新脚本语法直接错,换 1108 或对应 GEE 新包覆盖引擎文件重配。
6. 死循环拖垮M2。QuestDiary 里定时脚本死循环致 CPU 占满,角色创建/开门也跟着失败,删异常脚本段重启。

通用收尾:服务端放纯英文路径(D:\MirServer)、装齐 VC++/DirectX/.NET 运行库、引擎主控以管理员身份跑、登录器与客户端版本号(1.76/1.80/合击)严格对齐、外网端口全放行。按“建人失败→DBServer+HeroDB+!Setup”、“不开门→LoginSrv+端口+服务器名”、“PAK错→pak.txt路径密码+NewopUI”、“脚本错→报错行+编码+插件+引擎版”四条线逐一对照,外网四害基本一次清完。