1.76复古传奇服务端部署黑屏断线排障实录

来源: 作者: 点击:
一、目录与解压

服务端解压到纯英文短路径:

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前全量备份,改崩秒回滚。