GOM引擎外网传奇服务器从零搭建:DBC2000到公网登录器完整实操

来源: 作者: 点击:
一、机器与环境准备
1. 服务器:Windows Server 2012 R2 / 2016 / 2019 或 Win10/11 64位,内存≥4G,盘符留足(服务端+完整客户端+补丁约30G起)
2. 服务端:GOM(GameOfMir)完整版本包解压到 D:\MirServer,纯英文路径无空格无中文,内含 GameOfMir引擎控制器.exe、DBServer、LoginSrv、LoginGate、SelGate、RunGate、LogServer、Mir200、Mud2、登录器文件夹、网站目录
3. 客户端:盛大 13/16/17 周年完整纯净端,解压到 D:\MirClient,同禁中文路径;GOM微端只认 WZL/PAK,10周年以下 WIL 端黑屏
4. 数据库:DBC2000(BDE Administrator);若版本用 Access/SQLite 则跳过 DBC,配置向导选对应库
5. 登录器配套包:版本自带 GOM 登录器配置器 + Key.lic,别混用 GEE/绿盟跨系生成器

二、DBC2000 与 HeroDB 配置(BDE 版必做)
1. 装 DBC2000 → 控制面板切小图标 → BDE Administrator
2. 左侧 Databases 右键 New → 类型 STANDARD → 改名 HeroDB
3. 右侧 PATH 点…选 D:\MirServer\Mud2\DB(目录内必须有 StdItems.DB、Magic.DB、Monster.DB 等)
4. 菜单 Object → Apply / Ctrl+S → 右键 HeroDB → Open,状态显 Open 再关窗
5. Win10/11 右 BDE 管理员身份运行,PATH 多一级少一级都报“DBC连接失败”

三、引擎控制器配置向导(核心IP绑定)
双击 D:\MirServer\GameOfMir引擎控制器.exe → 配置向导:
• 游戏服务端目录:D:\MirServer\

• 数据库名称:HeroDB(Access版填 HeroDB.MDB 路径)

- 服务器名称:自定义区名
• 外网IP:填服务器公网IP;无固定公网/动态IP环境勾“动态IP地址模式”;单机填 127.0.0.1 不勾动态

• 登录网关端口:默认 7000(列表与此必须一致);角色/运行网关 7100/7200 默认不动

- 连续下一步 → 生成新配置文件

四、全量替换配置文件里的内网IP(外网连通关键)
仅填配置向导不够,手动改这些文件里 127.0.0.1 → 公网IP:
• Mir200\!Setup.txt(ServerAddr / MsgSrvAddr / LogServerAddr)

- LoginGate\Config.ini、SelGate\Config.ini、RunGate\Config.ini(ServerAddr / GateAddr)
• LoginSrv\!addrtable.txt、!Servertable.txt

- DBServer\!ServerInfo.txt
动态IP模式可免手改,但网关 bind 0.0.0.0 更稳。

五、端口放行与路由器/云防火墙映射
必须放行 TCP:7000(登录)、7100(角色)、7200(运行)、7300(日志/备用)、8000/8008(微端)
1. Windows 防火墙高级设置 → 入站规则 → 允许 TCP 上述端口;云服务器后台安全组同开
2. 本地路由:转发规则 → 虚拟服务器 → 端口 7000/7100/7200/8000 → 内网IP(ipconfig查到的192.168.x.x)→ TCP → 启用
3. 无公网IP:FRP / 花生壳 / SakuraFrp 做隧道,映射本地 7000/7200 到云服务器端口,列表填云服IP:映射端口

六、启动顺序(乱序必报数据库/网关错)
1. DBServer.exe(显“数据库启动成功 / HeroDB连接成功”)
2. LoginSrv.exe
3. LoginGate.exe(监听7000)
4. SelGate.exe(7100)
5. RunGate.exe(7200)
6. M2Server.exe(Mir200主程,底部显“游戏服务已启动 / DBC连接成功”,无红字)
M2秒退优先查 HeroDB PATH、Mud2\DB 文件缺失、端口被占(netstat -ano | findstr :7000)。

七、列表文件与网站托管
新建 list.txt(ANSI编码,禁UTF-8,否则登录器乱码):
格式:区名公网IP:7000
公网IP:8000 (末段微端IP:端口,不开微端写0)
部署方式二选一:
• 传 IIS 网站目录(D:\MirServer\网站目录),浏览器访 http://域名或IP/list.txt 能出文本

• 用免费列表空间(pkp123等)上传取 http 地址

列表内竖线必须英文,端口与 LoginGate 一致。

八、GOM登录器生成(Key与补丁对齐)
进 D:\MirServer\登录器文件夹 → 运行 GOM登录器配置器(MakeGameLogin.exe 或绿盟GOM版):
1. Key.lic 覆盖两处:登录器文件夹根目录 + D:\MirServer\Mir200,MD5不一致登录器闪退
2. 主/备列表填 http://域名或IP/list.txt
3. 客户端搜索条件:外网微端勾“启用微端模式”;完整客户端分发不勾
4. Resources/补丁文件夹名填版本实际名(Data / Resources / zhanzheng),须与客户端根目录补丁文件夹同名
5. 载入 Pak.txt → 批量替换原作者盘符为 D:\MirClient\Data → 密码段竖线后原样保留 → 读取规则全绿 → 生成 Login.exe
生成物拷到 D:\MirClient 根目录与 mir.exe 同级,禁桌面快捷方式误指旧端。

九、补丁覆盖与黑屏终结
版本包 Data / Map / Sound / Wav / Resources / NewopUI.pak / Items.pak 全量覆盖进 D:\MirClient 根目录,禁嵌套“客户端\补丁\Data”双层结构
必带:Data\NewopUI.pak(界面底包,缺则登录黑屏带砖块);Map\*.map 与 Mir200\Envir\MapInfo.txt 编号对齐;Pak.txt 密码与微端更新密码一致(默认 GameOfMir)

十、微端外网(不选微端可跳过)
1. 微端程序文件夹取 UpdateServer.exe + UpdateGate(MirUpdateGate.exe)
2. 复制 Mir200\qqwry.dat → UpdateGate 目录
3. UpdateServer:客户端路径 D:\MirClient、连接网关公网IP:8000、Resources名同登录器、更新密码 GameOfMir
4. UpdateGate:ServerIP 改公网IP、端口8000、放行防火墙
5. 重启 UpdateServer → Pak.txt 全绿 → 登录器勾微端 → 生成 → 玩家进图边玩边拉资源

十一、外网联机验证与GM
本机双击 D:\MirClient\Login.exe → 注册账号 → 选区建角色 → 土城地砖/NPC/装备全显 → 换异地机(非局域网)装同款登录器+列表 → 进游戏不踢线即通。
GM授权:M2控制台 → 选项 → 管理员列表加角色名;或 Mir200\Envir\AdminList.txt 每行一角色名 → 重启 M2。

十二、高频外网故障速查
• 卡选区/连不上:7000未放行、列表IP仍127.0.0.1、LoginGate未起、云安全组拦端口

- M2红字DBC连接失败:HeroDB PATH错、DB空、未Open、BDE未管理员跑
• 黑屏带砖块:NewopUI.pak缺、客户端<13周年、微端误勾但微端未起

• 装备/NPC白“?”:Pak.txt路径没替、密码错、Items.pak未覆盖

- 登录器闪退:Key.lic只放一处、配置器与引擎版本不配套
• 动态IP玩家连不上:没勾动态IP模式或网关仍bind 127.0.0.1,改0.0.0.0或公网IP

• 端口冲突:netstat查杀占用,多区开服7000/7100/7200逐区+1(7001/7101/7201)

架设闭环:DBC绑库 → 引擎向导绑公网IP → 配置文全替换 → 端口放行 → 顺序起服务 → 列表ANSI托管 → 登录器Key/Pak/Resources三对齐 → 补丁覆盖客户端 → 微端起UpdateServer → 异地机验证。任一环断即外网不可达。