一、目录与解压
服务端解压到纯英文短路径:
D:\MirServer
不要放桌面,不要带中文、空格、全角符号。解压前关杀软,避免网关dll、Key文件、插件被静默隔离。
客户端单独放:
D:\MirClient
登录器必须放客户端根目录,和Data、Map、Sound同级。只把登录器扔桌面,补丁读不到。
二、数据库层
老Hero类1.76端走DBC2000:
控制面板打开BDE Administrator
新建STANDARD别名,名称HeroDB
PATH指向 D:\MirServer\Mud2\DB,末尾别多反斜杠
Apply后重启电脑再起服务端
DB目录里 StdItems.DB、Magic.DB、Monster.DB 不能是0字节,被杀软删了从原包重新解压。
GOM/GEE类端不依赖DBC,但要装:
Visual C++ 2005-2022 合集,x86和x64都装
DirectX 9.0c
.NET Framework 3.5
缺msvcr、msvcp会M2一闪而过,报0xc000007b。
三、引擎配置向导
打开GameCenter.exe,填:
服务器名:自定义
服务器IP:单机127.0.0.1,外网填公网IP
登录网关端口:7000
角色网关端口:7100
游戏网关端口:7200
微端端口:8000
数据库名:HeroDB
客户端路径:D:\MirClient
配置完点保存,别直接点开始。先看M2底栏有没有红字。
四、启动顺序
手动起按这个依赖关系:
DBServer
LogServer / LogDataServer
LoginSrv
LoginGate
SelGate
RunGate
M2Server
微端 UpdateGate + UpdateServer
用控制器一键启动也一样,跳步直接起M2会报“数据库未就绪”“等待网关超时”。
每次重启先任务管理器结束残留:
M2Server.exe
DBServer.exe
LoginSrv.exe
LoginGate.exe
SelGate.exe
RunGate.exe
旧进程锁端口,新进程起不来。
五、端口监听
管理员CMD:
netstat -ano | findstr "7000 7100 7200 8000 8080"
看LISTENING和PID。被酷狗、迅雷、QQ音乐、虚拟机、上一次没关干净的M2占了,任务管理器按PID结束。
整体改端口就一起偏移到7001/7101/7201/8001,五处同步:
网关ini
M2配置
!Setup.txt
list.txt
登录器配置器
只改一处必连不上。
六、IP七处统一
单机所有配置写127.0.0.1:
!Setup.txt
LoginSrv.ini
!addrtable.txt
LoginGate.ini
SelGate配置
RunGate的Config.ini
登录器列表
外网才换公网IP。RunGate对外广播填公网,内部组件绑内网IP。外网回包到内网地址是“登录成功不开门”的头号原因。
七、黑屏按三层排
进游戏黑屏,不要先怀疑显卡,按顺序查:
1. Map层
服务端 Mir200\Map 里所有 .map 复制到客户端 Map 目录覆盖。MapInfo.txt 里的地图编号和实际 .map 文件名一字不差,包括大小写。M2报 MapFileNotFound 就是这里缺。
2. Data层
客户端 Data 目录检查:
NewopUI.pak
Prguse.wil
Prguse2.wil
Prguse3.wil
ChrSel.wil
Items.pak
SmTiles.wil
Tiles.wil
Objects*.wil
NewopUI.pak是界面底图,缺了直接黑屏带小砖块。
3. PAK层
GOM/GEE靠Pak.txt校验加密补丁。用记事本打开Pak.txt,把老路径批量替换成当前客户端真实路径:
D:\MirClient\Data\xxx.pak
D:\MirClient\Resources\xxx.pak
密码大小写敏感,逐行核对。登录器配置器里每项状态全绿再生成登录器。红叉就是密码错或文件找不到。
装备透明:StdItems.DB的Looks/Shape对不上补丁编号。GOM/GEE自定义装备Looks从10000起,10000=PAK第0帧。
怪物不显示:Appr值算错,MonGen.txt地图号和坐标跟MapInfo不一致。
八、补丁放置规则
补丁文件夹叫Resources或版本专属名,整个文件夹原样复制到客户端根目录:
D:\MirClient\Resources\Data\
D:\MirClient\Resources\Map\
D:\MirClient\Resources\Graphics\
不要打开把里面Data抽出来覆盖客户端原有Data。文件夹名必须和登录器配置器Resources项一字不差。
平铺型补丁(直接Data/Map结构)才解到根目录覆盖。两种结构别混。
九、微端配置
单机完整客户端,登录器配置器取消勾选微端模式。
外网大包才开微端:
UpdateServer基本设置:
客户端路径 D:\MirClient
资源目录名和客户端、登录器三方一致
更新密码两端一致,GOM默认gameofmir,GEE默认GEEM2
微端端口8000,和UpdateGate、列表文件三方一致
UpdateGate目录放一份qqwry.dat,缺这个网关起不来。
玩家端清MicroCache文件夹再进,避免命中旧缓存。
十、脚本红字
M2黑窗报脚本错误,查:
Mir200\Envir\QuestDiary
Mir200\Envir\Market_Def
NPC脚本文件
常见坑:
中文全角引号
if / #act 不配对
if 没 #endif
坐标越界
GOTO跳不存在的标签
最近改了哪个NPC就先回退那个文件。全量排错前备份Envir。
十一、建号即掉线
能选区、能建角色但一点创建就断:
DBServer没起或没连上
Mir200目录被设只读,角色名写不进
登录器列表IP写127.0.0.1但外网玩家在连
PAK密码校验失败
处理:取消Mir200只读,DBServer确认连接成功,外网列表写公网IP,PAK密码逐行对。
十二、登录器生成
登录器用服务端同包配置器:
GOM端用GOM配置器
GEE端用GEE配置器
HERO/BLUE用各自专用登录器
不混用万能登录器。列表地址填:
http://127.0.0.1/list.txt
list.txt用ANSI编码,格式:
测试区127.0.0.1 7000 8000
176
浏览器先开列表地址能出内容再进游戏。UTF-8带BOM老引擎不认,会列表空白。
Key.lic从服务端Mir200复制到客户端对应目录,同源同版本。
十三、外网发布
防火墙入站放行TCP:
7000 7100 7200 8000 80 8080
云服务器安全组再放一遍。家用宽带做端口映射,内外端口一致,目标填本机内网IP。
大内网(WAN口10.x/100.x/172.16-31.x)映射无效,用frp穿透。动态IP绑DDNS,列表写域名不写死IP。
netsh复位(装过加速器/VPN后常用):
netsh winsock reset
netsh int ip reset
ipconfig /flushdns
重启。
十四、1.76复古内容校准
纯复古服务端别堆系统:
经验倍数默认1,爆率按原版表
无会员、无切割、无赞助称号、无英雄合击(除非走合击分支)
装备上限按原版:裁决、骨玉、龙纹、狗书、嗜魂法杖
尸王殿矿区挖墙,石墓阵按原路,祖玛阁七进七出
怪物属性、技能延迟、负重按老设定
M2里清掉@刷装备@调等级隐藏GM命令,PlugList只留配套插件,不堆功能dll。
MakeItem.txt、MonItems目录别乱改倍数,爆率一虚就不是1.76味。
十五、标准自测顺序
1. 服务端解压D:\MirServer,关杀软
2. DBC建HeroDB,路径指Mud2\DB
3. 装VC++合集、DX9、.NET 3.5
4. 引擎向导IP端口配好,保存不急起
5. 按DB→Log→LoginSrv→Gate→M2顺序起
6. netstat确认7000/7100/7200监听
7. 客户端D:\MirClient放完整1.76底包
8. 补丁按结构覆盖,Resources名三方一致
9. Pak.txt路径密码全绿
10. 同包配置器生成登录器放客户端根
11. list.txt ANSI编码,浏览器能开
12. 本机127进游戏,看UI/地图/NPC/装备全显示
13. 外网再放端口、绑公网IP、开微端
十六、现象速查
M2一闪而过:运行库缺、端口被占、路径中文
卡登录界面:LoginGate没起、7000没监听
能选区建号就掉:DBServer没连、Mir200只读、PAK密码错
黑屏小砖块:NewopUI缺、PAK密码错
地图黑地:Map缺文件、微端没拉到
装备透明:Looks值错、物品pak密码错
NPC不显示:Resources/Npc目录缺、pak没挂
进图秒回角色页:RunGate没起、7200没监听、对外IP错
外网能登进不去图:8000没映射、安全组没放
列表空白:编码不是ANSI、Web没起
微端重复下载:没开资源版本校验,每次改版本号
花屏:分辨率太高、DPI没关、客户端版本不对
排障核心就一句:先保网关全活、端口监听、数据库通,再保客户端底包对、补丁结构对、PAK密码绿。1.76复古服务端稳不稳,看M2底栏有没有红字,看进图三分钟会不会黑屏,看爆率是不是原版味。每次动Mir200、Envir、Pak.txt、Mud2\DB前全量备份,改崩秒回滚。

