当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

Win7系统下传奇GOM引擎从零架设完整流程

热度:
先把杀毒和防火墙关掉,或者把D:\MirServer加白名单。Win7下Defender虽然不如Win10激进,但360、管家、毒霸经常把LoginGate、M2Server、PlugClient里的dll静默隔离,表现就是网关闪退、M2秒退、报缺文件。关完再动手,能省一半排错时间。

一、系统与运行库准备

Win7建议用64位旗舰版或专业版,内存4G起步,8G更稳。先装运行库:

VC++2005、2008、2010、2012、2013、2015-2019的x86和x64各装一遍;
.NETFramework3.5和4.x都启用;
解压用Bandizip或WinRAR,别用系统自带解压,长文件名容易丢。

老引擎缺VC运行库的表现是启动一闪而过,事件管理器里报0xc000007b,不是配置问题。

二、文件摆放和路径

服务端解压到D盘根目录:

D:\MirServer

客户端解压到:

D:\LegendClient

规则只有一条:纯英文、无空格、无特殊符号、无中文。

D:\传奇服务端、D:\MirServer、E:\游戏\MirServer这三种都会埋坑,BDE读路径时最容易炸。解压完确认目录里至少有这些:

GameCenter.exe或GomEngine.exe
DBServer
LoginSrv
LoginGate
SelGate
RunGate
Mir200
Mud2

Mud2\DB里要有StdItems.DB、Magic.DB、Monster.DB,缺一个DBServer都起不来。

三、装DBC2000建HeroDB

GOM/HERO端基本都依赖DBC。装之前右键安装包选“以管理员身份运行”,Win7也建议勾兼容模式选WindowsXPSP3。

安装默认路径C:\ProgramFiles(x86)\CommonFiles\BorlandShared\BDE,别改。

装完打开BDEAdministrator(控制面板切小图标能找到,找不到就去开始菜单Borland文件夹):

左侧Databases右键New,类型选STANDARD,OK;
把STANDARD1重命名成HeroDB,大小写按HeroDB写;
右边PATH点浏览,指到D:\MirServer\Mud2\DB(有的端是D:\MirServer\DBServer\DB,以实际放DBF文件的文件夹为准);
必须精确到DB文件夹,不能只指到Mud2;
Ctrl+S保存,关窗口选Yes。

Win7常见两个坑:

BDE打不开或保存不了,右键bdeadmin.exe属性,管理员身份+XP兼容模式;
M2启动报210D(BorlandDatabaseEngine初始化失败),是BDE内存地址冲突。注册表定位SHAREDMEMLOCATION,值改成0x5BDE,删C盘根目录PDOXUSRS.NET锁文件,重启电脑。

再给D:\MirServer整个目录右键属性→安全,给当前用户和Everyone完全控制权限。DB文件夹只读或权限不够,DBServer会加载失败但又不报明显错误。

四、引擎配置向导

进D:\MirServer,右键GameCenter.exe管理员运行。点配置向导:

游戏服务端目录:D:\MirServer
数据库名称:HeroDB
服务器名称:自定义,比如单机测试一区
游戏服务器IP:单机填127.0.0.1,不勾动态IP
登录端口:默认7000
角色网关:默认7100
游戏网关:默认7200

端口以端内实际配置为准,不是所有端都完全一样。一路下一步,保存配置。

保存完别急着点启动,先进Mir200目录看!Setup.txt,确认里面IP字段是127.0.0.1、DB名是HeroDB。有些老端向导没写干净,手动对一遍。

五、启动顺序

手动起比一键启动好排错,顺序固定:

DBServer.exe——黑窗刷出HeroDB连接成功、各表加载完
LoginSrv.exe——账号服务
LoginGate.exe——监听7000
SelGate.exe——角色网关
RunGate.exe——游戏网关
M2Server.exe——最后起,加载地图、怪物、NPC、脚本

M2窗口刷完最后停在“游戏服务器启动成功”或者等待连接状态,没有红字刷屏,就算通了。

哪个窗口闪退就盯哪个的日志。M2秒退优先查:DBC没配好、VC库缺、Mud2\DB文件损坏、Key.lic没放Mir200。

所有黑窗都别关,关掉一个模块就断一段。

六、端口占用排查

Win7下端口被占很常见,迅雷、酷狗、IIS、上次没关干净的M2都爱占7000。

管理员命令行:

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

看到LISTENING且PID不是你的网关,任务管理器按PID结束进程。结束不掉就改端口:

改Mir200\!Setup.txt的ServerPort
改LoginGate.ini、SelGate.ini、RunGate的Config.ini
三处一起改,列表文件同步改

改完防火墙高级设置放行新端口,别只改配置不放开防火墙。

七、列表文件和登录器

单机建list.txt,ANSI编码(别存UTF-8,会读空),内容:

单机测试一区127.0.0.17000

或者用竖线格式:

单机测试一区127.0.0.17000
8000

浏览器能直接打开这个txt看到纯文本,列表就算生效。

打开服务端自带的登录器配置器(GOM用MakeGameLogin,别下万能登录器):

主列表填list.txt的地址;
客户端路径指D:\LegendClient;
PAK设置里导入pak.txt,密码全绿;
微端模式单机先不勾,纯本地补丁;
生成exe放到客户端根目录D:\LegendClient。

登录器和引擎必须同代。GOM登录器连GEE端、不同分支互套,必黑屏或脚本报错。

八、客户端补丁

把服务端里带的补丁文件夹(Data、Map、Wav、Sound、Pak相关)复制到客户端根目录合并覆盖。覆盖前先备份客户端原Data文件夹。

GOM端重点看NewopUI.Pak有没有进Data,没这个文件进游戏界面是黑的但能看见人物。Pak.txt里每一行密码必须和登录器配置器里一致,错一条对应那块资源就加载不出来。

补丁文件夹名记一下,比如叫Patch2026,后面微端要用。

九、进游戏验证

双击客户端里的登录器,直接输账号密码注册(部分端用@register账号密码)。

建角色用简单名zs001,别纯数字纯英文,很多端默认禁。

进游戏挨个测:

能跑图、能打怪
NPC能对话、能买药
背包能捡东西、能穿装备
技能有伤害有特效
仓库能存取
传送回城正常

任何一项异常,先记M2红字,再回头查对应模块。

十、黑屏和常见故障速查

进游戏纯黑屏
客户端周年版本不对,GOM用15周年以上完整客户端,别用新官方客户端;Data补丁没覆盖;NewopUI.Pak缺失。

装备透明/地图黑块
PAK密码错,回登录器配置器看pak.txt哪行红了;Resources目录名不对。

能注册进不了游戏
7100/7200没通,SelGate/RunGate没起,或者端口被占。

NPC没头像
NpcDef里外观ID错或坐标踩墙;对话没反应是脚本格式不兼容,新版XML脚本老引擎不认,转TXT。

插件报Code:0
PlugList.txt里写了dll但PlugClient目录没这个文件,删掉那行;换插件必须服务端和登录器两侧PlugList一起改。

M2报210D
BDE初始化失败,按前面注册表改SHAREDMEMLOCATION那套处理。

十一、Win7专属几个坑

UAC开着的时候BDE配置保存不了,控制面板→用户账户→改通知设置为从不通知,或者每次都右键管理员运行bdeadmin。
DBServer起不来先看DBServer\Log\DBError.txt,比瞎猜快。
客户端Cache目录会缓存旧资源,改了补丁不生效就删客户端根目录Cache和MicroCache再登。
引擎控制器一定要管理员身份起,否则插件加载失败、网关绑定端口被拒。
Win764位下DBC2000用1.15或1.20都行,复古端用1.15,高清端用1.20,版本不对DBF读出来是乱码。

十二、外网才需要补的环节

单机127.0.0.1跑通之后再考虑外网,别一上来配公网:

配置向导里勾动态IP或填公网IP;
路由器映射7000、7100、7200,用微端再加8000;
防火墙入站规则放行这几个端口;
list.txt里IP换成公网;
!addrtable.txt、!serverinfo.txt里的IP和端口和向导对齐;
用手机热点测,别在同局域网验证。

十三、日常维护习惯

每次动Magic.DB、StdItems.DB前复制一份原文件备份;
引擎、登录器、插件版本锁死,不随便升单个组件;
M2日志红字是排障第一线索,别无视;
加新补丁先本地测,再上外网;
微端资源更新后登录器资源版本号加一,强制玩家重新拉。

排错顺序固定走:路径纯英文→DBC指向Mud2\DB→端口没占用→Key配套→补丁进客户端Data→登录器同引擎→管理员起M2。哪一步前正常就在那一步停手,不用全套重来。

Win7架设这个组合,90%的问题集中在三处:DBC没配好或权限不够、端口被占、补丁和登录器不匹配。把这三块按上面流程锁死,剩下才是脚本和数据库深层问题。
[顶部]