从零开始学传奇服务端架设与开区实战教程

来源: 作者: 点击:
准备一台Windows机器,系统用Windows Server 2016或2019,本机练习可以用虚拟机。硬盘留50G以上,服务端解压到非系统盘根目录,路径必须纯英文、无空格、无中文,例如D:\MirServer。传奇服务端本质是引擎程序加数据文件加脚本资源,常见引擎有GOM、GEE、HERO、BLUE,不同引擎的登录器和补丁不能混用。

先确认拿到的端是完整包。解压后根目录至少要看到Mir200、DBServer、LoginSrv、LoginGate、SelGate、RunGate,以及引擎控制器GameOfMir.exe或GameCenter.exe。HERO/BLUE老引擎还需要Mud2\DB目录;GOM/GEE新版可用ACC或内嵌数据库,能省掉DBC2000这一步。缺目录就重新下完整版,别拿残缺包硬修。

数据库按引擎类型处理。HERO/BLUE装DBC2000,控制面板打开BDE Administrator,新建STANDARD类型别名,名字固定填HeroDB,PATH指向D:\MirServer\Mud2\DB,保存退出。GOM/GEE如果端里用的是ACC,直接在引擎控制器里把数据库类型切到ACC,指到Mir200\Data即可。装完别急着启动,先检查路径有没有中文和空格,这是新手翻车第一现场。

打开引擎控制器点配置向导。服务器名称自己填,服务端目录填D:\MirServer。IP部分:本机单机全填127.0.0.1;外网开区填服务器公网IP,动态IP勾动态IP模式。登录网关端口默认7000,游戏网关7100、7200,微端8000,端口保持默认最稳,改了就要同步改登录器、网关、映射和防火墙。数据库名HERO填HeroDB,GOM填ACC路径。一直下一步保存到生成配置。

启动顺序不能乱。先起DBServer,看日志出数据库就绪;再起LoginSrv账号服务;接着LoginGate登录网关、SelGate角色网关、RunGate游戏网关;最后起M2Server主引擎。M2右下角出"游戏服务器启动完成"且没有红色报错,说明端跑起来了。所有网关窗口都别关,关一个就断一类连接。HERO引擎控制器启动后不会自动缩,手动最小化。

客户端单独装一份纯英文路径,比如E:\Mir2Client,用和服务端匹配的周年客户端,版本号不对会卡在验证版本。把服务端Mir200里带的Data、Map、Wav、Resources、NewopUI.Pak、Pak.txt按版本说明覆盖进客户端根目录。Pak.txt用记事本打开,把里面旧路径全局替换成E:\Mir2Client再保存。GOM补丁不要塞进HERO客户端,反过来也一样,补丁和引擎必须同系。

登录器用端内配套的登录器配置器重新生成,别直接用端里现成的exe。打开配置器,导入引擎Key,主列表备列表填自己的列表地址:单机用http://127.0.0.1或本地txt,外网填公网IP或域名加7000端口。列表文件格式按引擎来,GOM有GOM的列表结构,HERO有HERO的结构,不能套用。微端模式按需勾选,填微端IP和8000端口;纯客户端模式勾Data、Map检测。点保存配置再生成登录器,把生成的exe放进客户端根目录。

外网开区要做三道门。第一道是引擎配置,AddrTable.txt和!ServerInfo.txt里的IP换成公网IP,网关绑定IP填0.0.0.0而不是内网IP,否则外网连不进来。第二道是路由器或云服务器安全组,放行登录7000、角色7100、游戏7200、微端8000,协议TCP和UDP都放,只放TCP会丢包。第三道是Windows防火墙高级设置,入站规则加Legend,允许7000-7300。家用宽带是动态公网IP的,光猫重启IP就变,要么勾动态IP模式配域名列表,要么做DDNS。

微端不是必须,但外网玩家不想下载几G完整客户端时基本都靠它。启动UpdateServer微端程序,改UpdateGate配置,IP填公网,端口8000,PAK密码和客户端补丁密码保持一致。把补丁包传进微端资源目录,玩家进游戏边玩边拉资源。PAK密码不对会卡进度条、黑屏、装备透明,这一步必须核对。

版本内容在开区前调完。Envir目录下的MonGen.txt管怪物刷新时间和坐标,Rate相关配置管经验爆率,QuestDiary管任务脚本,Market_def管NPC买卖和脚本触发。爆率文件按物品分类改百分比,别一上来全服满爆,也别照抄别的端数值。战士职业相关的技能、攻速、烈火倍数、逐日范围在Magic.txt和引擎参数里调,合击版本还要看英雄技能和主号联动。内置挂机点可以靠泡点地图、自动捡物脚本、挂机安全区配合实现,脚本写在机器人定时器或QuestAction里。

GM权限先进M2Server,查看-列表信息-管理员列表,角色名加进去设等级10,重启M2生效。常用命令:@调整等级 角色名 等级、@刷 物品名 数量、@MapMove 地图名、@recall 角色名、@刷怪 怪物名 数量。具体命令以M2里游戏命令-管理命令页为准,不同引擎略有差异。

开区前必须做安全清洗。端里自带的AdminList.txt、UserCmd.txt先翻开看,删掉不认识的GM账号和奇怪命令。全局搜QuestDiary和Market_def里的Gmexecute、CALL、机器码判定、隐藏管理员检测,后门经常藏在多层CALL里。登录器自己重生成,别发端里原带那个,原带登录器可能绑旧列表、跳广告页。数据库端口不要直接暴露公网,安全组只开登录器和微端端口。

测试分两轮。第一轮本机用127.0.0.1进,建号、建角色、跑图、打怪、爆装、穿装备、放技能、NPC对话、仓库存取、交易、行会、师徒全部过一遍。第二轮用手机流量或外网机器进,验证列表读取、注册、登录、进图延迟、微端加载、掉线重连。观察服务器CPU、内存、上行带宽曲线,2核4G机器先压50人在线测稳定性,再按硬件往上加。

日常运营把备份排上。HeroDB的DB文件夹每天打包,Mir200\Envir和Mir200\Data每周整包备份,角色数据、账号表、爆率配置单独存一份。合区前先处理账号前缀和角色重名,备份RoleData,不然合完区串号。版本迭代前先停M2再改脚本,改完用文本比对工具看改动点,避免一行错全服报错。

网站部分可选。要发登录器就装IIS,加一个简单站点,把登录器压缩包传进wwwroot,列表txt也放这。没备案域名用IP加88端口访问,别用80。列表地址写成"区服名公网IP
7000",微端那行单独配8000。多开分区就往列表文件加行,重启LoginGate刷新,不用重生成登录器。

卡点排查记几条硬的:DBC路径错报数据库连不上;端口被占用报地址绑定失败,netstat看占用;补丁版本不对黑屏装备隐身;PAK密码错卡进度条;网关绑了内网IP外网进不来;动态IP没配域名列表,重启光猫后全服掉线;HeroDB别名拼错M2起不来;客户端周年版本和服务端不匹配卡验证版本。

架完一轮之后,真正决定区能不能活的是数值和节奏。1.76复古把爆率压低、地图分层、BOSS轮换;1.80火龙类把火龙殿、装备进阶、转生门槛先跑通;超变和合击重点测伤害公式和英雄同步。散人能靠打怪回本、装备有流通、挂机不空转,比堆充值入口重要得多。开区前自己开两个号打三天,把经济系统跑通再放人进去。