单机传奇架设完整流程与排错实战笔记

来源: 作者: 点击:
一、准备文件和环境

先准备四样东西:

1.服务端版本包,解压后能看到Mir200、DBServer、LoginSrv、LoginGate、SelGate、RunGate、GameCenter.exe这些目录和文件。
2.热血传奇完整客户端,十周年或十三周年以上,别用阉割版。
3.DBC2000,老Hero/Blue引擎必装;GOM/GEE一键端如果内置Access或MySQL可跳过。
4.VC++运行库合集、DirectX9.0c,Win10/Win11先装好。

杀毒和WindowsDefender实时防护先关,把服务端目录和客户端目录加白名单。M2Server.exe、LoginSrv.exe、各网关exe、登录器生成出来exe经常被误删,删了就各种连不上、黑屏、闪退。

目录规划,必须纯英文、无空格、无中文:

D:\MirServer服务端
D:\MirClient客户端

路径里别放桌面长路径,别用“传奇服务端”这种中文名。引擎读路径很死,中文路径会直接导致数据库报错、补读不到。

二、DBC2000建库(Hero/Blue引擎必做)

1.双击DBC2000安装包,一路下一步,装完别急着开。
2.控制面板切大图标,找BDEAdministrator。
3.左侧Databases右键New,类型选STANDARD。
4.名字改成HeroDB,大小写按版本习惯,多数端认HeroDB。
5.右侧PATH指向真实数据库目录:

D:\MirServer\Mud2\DB

以解压出来实际放DB文件的目录为准。
6.点左上箭头或Object→Apply保存,关掉BDE。

验证:重新打开BDE,点HeroDB能展开看到表里数据,说明库通了。报Unknownalias是名字错,报Cannotopen是路径错或DB目录空。

GOM/GEE新端如果配置向导里数据库直接选.mdb或内置库,可以跳过这步。

三、引擎控制器配置

进D:\MirServer,找GameCenter.exe或GameOfMir.exe,右键管理员身份运行。

点配置向导:

游戏服务端目录:D:\MirServer
数据库名:HeroDB
服务器名称:自定义,比如单机测试
外网IP:127.0.0.1
内网IP:127.0.0.1
不要勾动态IP

端口保持默认:

登录网关7000
角色网关7100
游戏网关7200

一路下一步,最后保存配置。

手动再核几个文件,向导不一定写全:

Mir200\!Setup.txt或Setup.txt

ServerAddr=127.0.0.1
GateAddr=127.0.0.1
ServerIP=127.0.0.1

LoginSrv\!addrtable.txt

区名127.0.0.1127.0.0.1127.0.0.1:7000

LoginGate目录ini:

ListenAddr=127.0.0.1
Port=7000

SelGate目录ini:

ServerAddr=127.0.0.1
Port=7100

RunGate目录ini:

Server1=127.0.0.1
Port=7200

所有IP统一127.0.0.1,别写0.0.0.0,别写192.168.x.x,单机就锁本地回环。

四、客户端补丁覆盖

服务端里找补丁包,通常叫Data、Map、Wav、UI、Resource、Wzl、Wil、PAK这些。

解压时直接平铺到客户端根目录:

D:\MirClient\Data
D:\MirClient\Map
D:\MirClient\Wav

不要解压出一层“版本名\Data”再塞进去,否则pak.txt和资源索引对不上,进游戏黑屏、白块、问号。

PAK加密版本,打开登录器配置器的PAK管理,看密码状态。密码不对就填服务端给的PAK密码批量处理;pak.txt里旧路径用记事本批量替换成D:\MirClient\Data。

客户端版本要和服务端对得上。1.76端配老客户端,合击端配对应周年客户端,微端版配微端客户端。版本错位是黑屏和装备问号的主因。

五、生成单机登录器

用服务端自带的登录器配置器,别拿别家引擎万能登录器硬套。GOM用GOM配置器,GEE用GEE配置器,Hero用配套统一登录器。

配置项:

服务器名:和引擎里区名一致
IP:127.0.0.1
端口:7000
客户端路径:D:\MirClient
关微端
关在线更新
关动态IP
网关密码留空或填服务端实际密码

生成登录器exe,放到D:\MirClient根目录,和Mir.exe同级。

本地列表方式:客户端根目录放list.txt,内容按引擎格式,常见写法:

单机测试127.0.0.170000

编码用ANSI,别存UTF-8BOM,否则列表乱码或空白。

六、启动顺序(铁律)

乱序必连不上,严格按这个来:

1.DBServer.exe
看日志:数据库连接成功、DB就绪。
2.LoginSrv.exe
账号服务起来。
3.LoginGate.exe
监听7000,显示Ready/Listening。
4.SelGate.exe
角色网关,监听7100。
5.RunGate.exe
游戏网关,监听7200。
6.M2Server.exe
加载地图、怪物、NPC、技能、脚本,最后无红字报错。

用GameCenter一键启动也行,底层还是这个顺序。所有黑窗口都不能关,最小化即可。

启动前任务管理器结束残留dbserver、m2server、rungate、logingate进程,避免上一次没关干净抢端口。

七、进游戏验证

双击客户端里的登录器。

账号密码随便输,单机端一般自动建号,或看版本说明里的默认账号。

选区,建战士/法师/道士,进比奇或银杏小村。

正常表现:

地图能加载不黑屏
NPC名字正常
装备图标不白块、不问号
技能有特效有音效
打怪能掉物
M2窗口无红字刷屏
切地图不闪退

八、常见故障排查

1.M2闪退

补VC++运行库和DX9
路径去中文去空格
管理员身份运行
兼容模式Win7或XPSP3
看Mir200同目录Log/ErrorLog.txt
PlugList.txt里第三方dll先全注释,只留引擎自带插件

2.报UnknowndatabasealiasHeroDB

BDE里没建HeroDB,或名字大小写不对。重新建,Apply保存。

3.Cannotopendatabase

PATH没指到真实DB目录,或Mud2\DB是空的。确认里面有StdItems.DB、Magic.DB之类文件。

4.提示端口被占用

cmd查:

netstat-ano|findstr"7000"
netstat-ano|findstr"7100"
netstat-ano|findstr"7200"

按PID在任务管理器里找凶手,常见酷狗、迅雷、QQ音乐、IIS、虚拟机、上次没关干净的M2。

能关就关,关不掉就改端口:LoginGate.ini改7000系,SelGate.ini改7100系,RunGate.ini改7200系,同时改!addrtable.txt、!Setup.txt、登录器列表,三处必须同步。

5.能建号点开始黑屏

九成补丁问题:

补丁没完整覆盖
PAK密码错
pak.txt路径和实际不符
客户端版本和服务端不匹配
Data缓存坏了,清客户端Data/Cache重进

6.连接服务器失败/列表空白

所有IP不是127.0.0.1
端口和LoginGate对不上
列表文件编码不是ANSI
登录器和引擎不配套
防火墙拦了网关exe,全部允许

7.进游戏装备显示问号

物品补丁缺失,stateitem、Items相关wil/wzl/pak没覆盖进客户端Data。核对物品编号和DB不冲突。

8.NPC不显示/怪物不刷新

NPC脚本路径错,检查Mir200\Envir\NPCs和Market_def
Monster.DB损坏,换原版
刷怪点配置错,看MapInfo和SpawnPoint

9.杀软误删

隔离区恢复M2Server.exe、LoginSrv.exe、各网关exe、登录器,整个目录加信任。

10.Win10/Win11拦截

BDEAdministrator、GameCenter、各网关、登录器全部右键管理员运行。DBC2000装C盘默认目录更稳。

九、启动前检查清单

DBC里HeroDB存在且PATH正确
服务端路径全英文无空格
所有IP全127.0.0.1
7000/7100/7200端口没冲突
客户端版本和服务端对齐
Data+Map+Wav+UI补丁整包覆盖
PAK密码和pak.txt路径核对过
登录器用配套配置器生成
六个服务端进程全在
杀软加白
管理员权限运行

十、进游戏后调版本

能跑图再动内容:

爆率:Mir200\Envir\MonItems
经验倍率:!Setup.txt里Experience相关
GM权限:M2里管理员列表加账号,等级10
刷装备:@刷物品名数量
NPC脚本:Mir200\Envir\NPCs和Market_def
地图刷新:Envir\MapInfo、SpawnPoint
技能魔法:Magic.DB和Magic.skill脚本

改脚本前备份原文件,编码用ANSI,别带全角符号,不然M2加载报语法错。

按上面流程,完整整合端一小时内能从解压走到进游戏砍鸡。卡住先查三件事:数据库通没通、网关全没全起、补丁覆盖没覆盖全,这三处吃掉九成故障。
[顶部]