一、引擎选型与版本边界判定
HERO / HeroM2:走 DBC2000 + HeroDB,适配十周年/十三周年客户端,wil/wix 原生资源为主,复古 1.76、合击、单职业闭眼选,老版本在 Win10/11 需兼容模式或虚拟机;不支持原生微端,要微端需换新版 HeroM2 或转 GOM/GEE。
GOM:兼容 Win10/11,吃 pak + Resources 分层补丁,动态微端完整,十六周年以上客户端,中大型版本、新界面、单文件大补丁首选。
GEE:自带微端更新服务(UpdateServer + MirUpdateGate),Resources/Data/ResInfo.txt 体系,官方新客户端兼容好,线路管理、外网分流比 GOM 细,新手联机推荐。
BLUE / LegendM2 / 3K:Hero 系派生,脚本兼容好,插件多,但微端能力看具体分支。
引擎与登录器、补丁包必须同系,GOM 登录器配 GEE 版本必黑屏,GEE Pak.txt 格式不兼容 GOM 密文。
二、目录规范与 DBC2000 / HeroDB 绑定
服务端解压 D:\MirServer(纯英文、无空格、无中文);客户端 D:\MirClient(16-18 周年完整客户端)。
DBC2000 安装 → 控制面板 BDE Administrator → Object → New → STANDARD → 重命名 STANDARD1 为 HeroDB(大小写严格)→ PATH 指向 D:\MirServer\Mud2\DB(内含 StdItems.DB、Magic.DB、Monster.DB)→ Ctrl+S 保存。路径错、别名拼错、PDOXUSRS.NET 占用 → M2 启动报 Database Error。GOM/GEE 新版若内嵌库环境,仍要核对 Mud2\DB 文件存在。
三、公网 IP、动态 IP 与网关配置核心文件
引擎配置向导(GameCenter.exe):外网填公网 IP;动态公网勾“动态 IP 地址”;数据库名 HeroDB;端口 7000(LoginGate)/ 7100(SelGate)/ 7200(RunGate)默认不动。
手写复核文件(漏改必“不开门”):
• Mir200\!Setup.txt → ServerIP / ExtIP / GateAddr / DBAddr(DBAddr 留 127.0.0.1 别动)
- LoginSrv\!AddrTable.txt → 格式:区名 Line1 内网IP 公网IP 公网IP:7100
• DBServer\!ServerInfo.txt / !AddrTable.txt → 同公网 IP 对齐
- LoginGate\Config.ini / RunGate\Config.ini → GateAddr=0.0.0.0 或内网 IP,ServerAddr=内网 IP,Port 对应
• !ServerTable.txt → 1 内网IP 7200 公网IP 7200(外网进图连谁全看这条)
四、端口矩阵与映射 / 安全组放行
必放行 TCP:7000、7100、7200(多 RunGate 续 7300/7400)、6000(DBServer)、8000(微端网关)、8008(UpdateServer)、80/8080(列表 HTTP)。云服务器控制台安全组 + Windows 高级防火墙入站规则双处放行 0.0.0.0/0。家用宽带进路由器 → 虚拟服务器/端口转发 → 外端口=内端口,内部 IP 绑服务端内网 IP;WAN IP 是 100.64.x / 10.x 是大内网,必须找运营商换公网或走 DDNS/穿透。CMD 验证:netstat -ano | findstr :7000 查占用,telnet 公网IP 7000 通否。
五、标准启动顺序与进程联动
DBServer → LoginSrv → LoginGate → SelGate → RunGate → LogServer → M2Server(GameCenter 点启动)。先起 M2 后起网关 → 角色网关读不到在线列表、输账号回登录界面。M2 日志“所有服务启动成功”“网关连接成功”才算通。带微端:M2 启完再起 UpdateServer(资源缓存完)→ MirUpdateGate(小电脑灯亮)。
六、微端体系(GOM/GEE 外网黑屏头号原因)
UpdateServer 基本设置:客户端路径 = 完整客户端根目录;资源目录名 = Resources / Patch(与登录器、Pak.txt 完全一致);更新密码自定义(GOM 默认 gameofmir,GEE 默认 GEEM2)。
Pak.txt:从服务端“登录器”目录复制出来,记事本全文档替换原路径为 D:\MirClient,拷回 UpdateServer 目录 → 查看 → 载入 pak 密码 → 状态全绿。密文自动生成,手改密文必黑。
MirUpdateGate:微端地址填 UpdateServer IP,微端端口填 UpdateServer 网关连接端口,线路列表必须含“默认”。
登录器配置器:纯微端模式、更新密码同 UpdateServer、Resources 目录名同客户端、列表格式 区名|公网IP:7000|公网IP:8000。生成 exe 放客户端根目录。三层名称(客户端补丁目录 / UpdateServer 资源目录 / 登录器 Resources 名 / Pak.txt 引用)不一致 → 进图黑屏、装备透明、NPC 消失。
七、列表文件与登录器发布
list.txt(ANSI 编码防乱码):
HERO:测试一区123.45.67.89
7000
GOM微端:测试一区 123.45.67.89 7000 123.45.67.89 8000 1.0
传 HTTP 空间(MIME text/plain),浏览器直开可见文本。登录器配置器主列表填 URL,网关密码填 !Setup.txt 的 LoginGatePass,版本匹配。玩家客户端补丁(Data/Map/Resources/Sound)必须与服务端 Envir、MapInfo、Pak.txt 对应。
八、脚本调试与 M2 报错定位
进游戏后 NPC 不对话、任务不触发、捡物无反应 → 看 M2 红色 Script Error:
• Undefined variable → A..Z/G.. 变量前缀用错或未声明
- Script dead loop → #IF 后无 #ACT/#ELSEACT,或 WHILE 无限
• Cannot find label @xxx → [@xxx] 标签拼错,改完 M2 → 控制 → 重读 NPC 脚本
- Item not found → CheckItem/GiveItem 名与 StdItems.DB 不一致
• Map not found / LoadMapFail → Mir200\Map\*.map 缺文件或 MapInfo.txt 编号不匹配
- [@TakeOn17]/[@TakeOff18] 不触发 → 装备 Shape/StdMode 没对齐、槽位越界
改 Envir 脚本不必重启全服,重读即可;改 !Setup.txt / 网关配置必须重启对应进程。
九、外网典型故障速查
• 列表空白:list.txt MIME 错、HTTP 空间未生效、URL 拼错
• 输账号回登录界面:!AddrTable.txt / !ServerTable.txt 未填公网、7100 未映射、动态 IP 未勾
- 卡“正在连接服务器”:7000 未放行、网关绑死 127.0.0.1、安全组漏规则
• 进图黑屏能跑:Resources 目录名错、Pak.txt 路径未改、PAK 密码错、Map 缺文件
- M2 闪退:VC++ 运行库缺、HeroDB 指向错、Mir200 授权 dll 缺失、路径含中文
• 微端不更新:8000/8008 未映射、登录器微端密码错、UpdateServer 未起、线路无“默认”
- 外网能进内网不能进或反之:网关未绑 0.0.0.0、动态 IP 模式未开导致回包发内网
• 攻城/沙城逻辑错:CastleMapList.txt 与 MapInfo 不一致、SabukW.txt 未重载
十、家用动态 IP 与 DDNS 处理
光猫重启公网 IP 变 → 列表写死 IP 次日失效。路由器挂 DDNS(花生壳/阿里云解析),登录器列表填域名;或引擎勾动态 IP 模式 + 列表 HTTP 动态生成;纯好友联机用 ZeroTier / 内网穿透替代端口映射。DMZ 主机仅临时测试,长期开着等于全端口裸奔给公网。
整套外网链路串起来:选引擎 → D:\MirServer 英文根 + HeroDB 指 Mud2\DB → 配置向导填公网/动态 IP → 手写复核 !Setup.txt / !AddrTable.txt / !ServerTable.txt / Gate ini → 安全组放 7000/7100/7200/8000 → DBSrv→LoginSrv→Gate→M2 顺序起 → UpdateServer 载 Pak.txt(路径绝对、密码全绿)→ MirUpdateGate 绑微端 → list.txt 走 HTTP → 登录器密码/版本/Resources 对齐。任一层 IP、端口、路径、密码、目录名错位,表现层就是回登录、卡连接、黑屏三类表象,反查顺序:网关日志 → M2 日志 → Pak.txt → 列表文件 → 网卡 NAT。
传奇外网架设疑难杂症全解析:引擎选择到脚本调试实战完整链路
来源:
作者:
点击:

