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

传奇世界开服一条龙:从单机搭建到外网稳定运营实操

热度:
先把杀毒、防火墙关掉,或者把D:\WolServer、D:\LegendClient加白名单。网关、M2、插件dll经常被静默隔离,表现就是黑窗闪退、报缺文件、网关起不来。调试阶段直接关最省事,跑通之后再单独加例外。

一、准备文件和环境

需要四样东西:

完整服务端,解压到D:\WolServer(传奇世界端常用WolServer,传奇端用MirServer)
配套传奇世界客户端,解压到D:\WolClient
DBC2000安装包
VC++运行库合集(2005到2022的x86/x64都装)

服务端解压完检查根目录,至少要有这些:

GameCenter.exe或引擎控制器
DBServer
LoginSrv
LoginGate
SelGate
RunGate
Mir200
Mud2或DB目录

Mud2\DB或WolServer\DB里要有StdItems.DB、Magic.DB、Monster.DB,缺一个DBServer都起不来。文件小于2GB的端基本缺地图和音效,先换完整版。

路径规则只有一条:纯英文、无空格、无中文、无特殊符号。D:\传世服务端、D:\WolServer全都会埋坑。

Win10/Win11装DBC2000时右键安装包属性,兼容模式勾WindowsXPSP3,勾管理员运行。VC运行库没装的话,老引擎会报0xc000007b或者直接秒退,不是配置问题。

二、配置DBC2000建HeroDB

装完DBC2000,控制面板切小图标,找BDEAdministrator(蓝色小鱼图标),右键管理员运行。

左侧Databases右键New,类型选STANDARD,确定。把新建的别名改成HeroDB,大小写按这个写。

右侧PATH点浏览,指到:

D:\WolServer\DB

或者

D:\WolServer\Mud2\DB

以实际能看到DBF文件的那个文件夹为准。必须精确到DB那一层,不能只指到WolServer或Mud2。

Ctrl+S保存,关窗口选Yes。

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

HeroDB这个名字必须和服务端配置向导里的数据库名一致,拼错一个字母M2就报数据库连接失败。

部分新端用MySQL或LiteSQL,不用DBC,按端里说明配。MySQL要确认服务起来、账号密码对、库表已导入,3306端口改掉并设强密码,别用默认配置裸奔。

三、引擎配置向导

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

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

端口没冲突就别改。一路下一步,点生成配置文件。

生成完别急着启动,进Mir200看!Setup.txt,确认ServerIP、ServerAddr都是127.0.0.1,DB名是HeroDB。有些老端向导没写干净,手动对一遍。

四、启动顺序(不能乱)

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

1.DBServer.exe
黑窗刷出数据库连接成功、各表加载完
2.LoginSrv.exe
账号服务就绪
3.LoginGate.exe
监听127.0.0.1:7000
4.SelGate.exe
角色网关7100
5.RunGate.exe
游戏网关7200
6.LogServer.exe
日志服务
7.M2Server.exe
最后起,加载地图、怪物、NPC、脚本、元神数据

M2窗口刷完停在“游戏引擎启动成功”或“中州地图加载完成”,没有红字刷屏,就算通了。所有黑窗白窗都别关,关掉一个模块就断一段。

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

端口被占很常见,管理员命令行查:

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

看到LISTENING且PID不是你的网关,任务管理器按PID结束。迅雷、酷狗、QQ、IIS、残留M2都爱占这些端口。结束不掉就改端口,改!Setup.txt和各网关ini,三处一起改,列表文件同步改。

五、端口和IP全链路对齐

这是不开门的最高频原因。下面这些地方IP和端口必须完全一致:

Mir200\!Setup.txt的ServerAddr、ServerIP、登录端口、游戏端口
LoginSrv配置里的addr和端口
LoginGate.ini的GateAddr、Port
SelGate.ini、RunGate.ini的ServerIP、GateAddr
DBServer的DBIP
登录器列表文件里的IP和端口

只改M2不改网关,会选区掉线;只改网关不改登录器,会连接服务器失败;只改登录器不改服务端,列表能读但进不去。

六、列表文件和登录器

单机建list.txt,用Notepad++存成ANSI编码,别存UTF-8(带BOM会读空列表)。

内容格式:

传世测试一区127.0.0.17000
0

带微端才写第四段微端端口,单机一般不写微端:

传世测试一区127.0.0.17000
8000

把list.txt放到能HTTP访问的地方。单机用登录器配置器自带的本地列表服务器小程序加载,浏览器开http://127.0.0.1/list.txt能看到纯文本就算生效。本地file://路径网页登录器不认。

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

基本设置:
游戏名称填区名,和Setup.txt里ServerName一字不差
主列表填http://127.0.0.1/list.txt
客户端路径手填D:\WolClient,或勾自动搜索
单机取消勾选微端模式

PAK设置:
导入pak.txt,看每一行状态。绿色“密码正确”才正常,红色“文件不存在”是路径错,红色“密码错误”是密码不对。

pak.txt里原作者的旧盘符要批量替换成实际路径,比如把E:\旧端\Data全换成D:\WolClient\Data。替换时输入完整路径,别只替换盘符字母。

点生成登录器,把exe放到D:\WolClient根目录。别用官方登录器,协议不对连不上。

七、客户端补丁覆盖

把服务端自带的补丁包按原结构拷进客户端根目录:

Data(NewopUI.pak、Prguse.pak、装备/界面PAK)
Map(地图文件)
Wzl/Wil/Wzx(精灵模型)
Sounds/Wav(音效)
Resources(微端用)

关键点:

补丁是整个文件夹原样复制到客户端根目录,不是把里面文件抽出来散放
补丁文件夹不能多层嵌套
NewopUI.pak必须进Data目录,缺了进游戏中州黑屏
客户端版本要和服务端匹配,1.76端用1.80客户端会黑屏花屏,传世一般用配套完整客户端

覆盖前先备份客户端原Data文件夹,出问题能回滚。

八、进游戏验证

双击客户端里的登录器,列表出“传世测试一区”,直接输账号密码注册(部分端用@register账号密码)。

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

进游戏挨个测:

能跑中州、落霞岛
能打怪、能放技能有特效
NPC能对话、能买药、能学技能
背包能捡东西、能穿装备
元神能出、能合体(传世特有)
仓库能存取
传送回城正常
F12内挂能开

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

九、GM权限和基础调参

M2控制台里点查看→游戏管理员列表,把角色名加进去,给最高权限,保存。

常用指令:

@make物品名数量(刷装备)
@level等级
@mob怪物名数量
@传送地图号
@调整爆率在M2功能设置里改

爆率文件在Mir200\Envir\MonItems下,按怪物名对应。经验倍率在M2游戏参数里调。NPC对话改Market_Def,任务脚本改QuestDiary,改完部分能重载不用重启。

十、从单机切到外网

本机跑通之后再考虑外网,别一上来配公网。

外网要改的地方:

配置向导里IP填公网IP或勾动态IP(用DDNS域名也行)
路由器或云服务器安全组放行TCP7000、7100、7200,用微端再加8000
防火墙高级设置给LoginGate、SelGate、RunGate、M2Server、UpdateGate加例外
各网关配置文件里监听地址外网环境填0.0.0.0,别只绑127.0.0.1
!addrtable.txt、!serverinfo.txt里的IP和端口和向导对齐
list.txt里IP换成公网IP或域名
登录器配置器里列表地址、微端地址全部外网化,不能有127.0.0.1残留
重新生成登录器分发

家用宽带先查WAN口IP和浏览器查到的公网IP是否一致,不一致就是大内网没公网IP,映射无效,得用花生壳、FRP、SakuraFrp做TCP穿透。

动态公网IP每天变,绑DDNS域名,不然第二天列表全死。

十一、微端外网配置(补丁大的版本必做)

微端涉及三个程序联动:UpdateServer(资源服务)+UpdateGate(微端网关)+登录器微端参数。

UpdateServer里:
微端端口默认8000
更新密码自定义,记下来
Resources目录填补丁文件夹名,和登录器配置器里一致
PAK密码导入pak.txt,全部显示正确

UpdateGate里:
监听地址0.0.0.0
端口8000
分组建默认、电信、网通三个

登录器配置器微端页:
微端IP填公网IP
微端端口8000
更新密码和UpdateServer完全一致

列表文件格式带微端:

传世测试一区公网IP7000
8000

外网安全组放行8000,防火墙加例外。微端不更新常见原因就五个:端口不对、密码不对、PAK密码错、防火墙拦、程序32/64位不匹配。

十二、日常维护和防攻击

定期备份D:\WolServer整个目录,重点备Mir200\Envir(脚本)、Mud2\DB(数据)
改StdItems.DB、Magic.DB前复制一份原文件
引擎、登录器、插件版本锁死,不随便升单个组件
M2日志红字是排障第一线索,Log目录定期清,避免写满磁盘
MySQL版本改掉3306默认端口,root密码12位以上含大小写数字符号
云服务器安全组只放行必要端口,别全开0-65535
网关长期运行会隐性挂起,外网服建议写个守护脚本,检测进程掉了自动拉起
改完配置重启对应网关,改DB要重启M2
客户端Cache、MicroCache定期清,避免旧资源冲突

十三、常见故障速查

进游戏黑屏
补丁没覆盖、NewopUI.pak缺失、客户端版本不对、PAK密码错。

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

M2报210D
BDE初始化失败,注册表改SHAREDMEMLOCATION为0x5BDE,删C盘PDOXUSRS.NET锁文件,重启。

外网点开始没反应
网关监听还绑着127.0.0.1,改成0.0.0.0;列表里还有本地地址残留;微端没起或微端端口没映射。

技能放了卡死
MagIdx指向空特效,或QFunction脚本死循环。

NPC没头像或对话没反应
Market_Def里外观ID错,或脚本格式不兼容。

装备透明/地图黑块
PAK密码错某几行,回登录器配置器看哪行红。

元神出不来
M2功能设置里元神开关没开,或脚本没加载HeroFunc相关段。

十四、排错固定顺序

路径纯英文无中文
DBC指向DB文件夹,HeroDB名字一致
VC运行库装全,杀软加白名单
端口没占用,netstat查一遍
配置向导IP全127.0.0.1,不勾动态IP
启动顺序DBServer→LoginSrv→LoginGate→SelGate→RunGate→LogServer→M2Server
M2无红字
补丁进客户端根目录,NewopUI.pak在Data里
PAK密码全绿,资源目录名一致
登录器同引擎同版本,单机关微端
清客户端缓存再登

哪一步前正常就在那一步停手,不用全套重来。

开服一条龙的本质就是把“服务端—数据库—网关—登录器—客户端”五层全部对齐。单层没问题不代表能跑,任何一层IP、端口、密码、版本对不上都会表现成玄学故障。按上面顺序一步步锁死,单机半小时内能进门,外网再加端口映射和微端,一天内可以稳定开区。

版本内容调优是后面的事:爆率、经验、装备属性、NPC功能、活动脚本,全在Mir200\Envir下改。先保证能稳定开门、不闪退、不丢数据,再谈玩法设计。
[顶部]