传奇服务端架设卡住人的地方通常不在步骤数量,而在几个不起眼的细节:路径含了中文、DBC2000别名忘了点Apply、引擎启动顺序颠倒、IP改了但配置文件漏了一处。这些问题不会给出明确的报错,表现只是M2Server闪退、数据库连接失败或者“游戏不开门”。下面按实际操作顺序拆开,每一步只讲做什么、改哪里、以及不做会出什么后果。
环境预处理在碰服务端之前就要完成。服务端解压到一个全英文、无空格、无特殊符号的路径,`D:\MirServer`是标准做法,放在桌面或含中文的文件夹下,老引擎读取资源时会直接失败,且报错信息往往指向别处,排查成本很高。Windows Defender和第三方杀毒软件会把M2Server.exe、LoginGate.exe当作可疑程序静默隔离或拦截,启动前把整个服务端目录加入排除项,或者测试阶段暂时关闭实时防护。运行库需要补齐VC++ 2015到2022合集以及.NET Framework 4.5以上,缺失msvcp140.dll或msvcr120.dll时引擎不会弹窗提示,双击后直接退出。
DBC2000的配置只有一步关键动作,但这一步没做对,后面全部无效。安装DBC2000后打开控制面板里的BDE Administrator,在左侧Databases区域右键New,类型选STANDARD,名称改成HeroDB,大小写不影响识别,拼写不能错。然后在右侧面板把PATH指向服务端DB文件夹的实际位置,标准路径是`D:\MirServer\Mud2\DB`,服务端放在别的盘符就按实际路径填,不要机械照抄默认值。改完PATH后必须在左侧HeroDB别名上右键执行Apply,不点Apply等于没保存,引擎启动时仍然报“无法连接数据库”或“加载物品数据失败”。64位Windows上如果BDE Administrator打开无响应或创建别名时报错,确认使用的是带SP4补丁的DBC2000版本,并对bdeadmin.exe设置兼容模式运行。部分新版服务端已经改用Access或SQLite,包内没有`Mud2\DB`目录时跳过DBC2000这一步,按说明文档走对应数据库配置。
数据库别名就位后,打开服务端根目录下的引擎控制器,常见名称是GameCenter.exe或GameController.exe。双击后先点配置向导,服务端目录指准,数据库名称填HeroDB,与BDE里的别名一字不差。游戏服务器外网地址在单机测试时填127.0.0.1,局域网联机填本机内网IPv4,外网开区填公网IP。端口保持默认的7000、7100、7200不动,除非确认这些端口已被其他程序占用。配置向导走完后点保存,关闭控制器再重新打开一次,让参数写入生效。
启动顺序是架设过程中最容易颠三倒四的环节。正确的链路是数据库服务先行,登录网关和游戏网关其次,主引擎最后。双击DBServer.exe,黑色命令窗口显示“DBServerStartSuccess”或“数据库启动成功”才算就绪,这个窗口不要关闭,最小化即可。然后启动LoginGate和RunGate,最后启动M2Server.exe。M2Server必须在网关就绪之后启动,否则会因为连接不到网关而报异常或直接闪退。M2Server加载过程约一到两分钟,顶部状态栏显示“游戏开放”才表示服务端真正跑通。控制器上有一键启动按钮时可以用,但出问题后仍然要回到各窗口逐个看状态,不要只依赖一键启动的结果。
服务端跑通不等于客户端能连上,IP和端口还需要两头对齐。服务端侧的IP分散在多个文件里,只改控制器不够。`Mirserver\GateServer\LoginGate\LoginGate.ini`里的ServerAddr、`GateServer\GameGate\MirGate.ini`里的IP字段、`Mir200\!Setup.txt`里带IP字样的行,单机全部保持127.0.0.1,外网或局域网则统一替换成对应地址。`LoginSrv`目录下的`!addrtable.txt`格式比较固定,通常为“游戏名称 外网IP 内网IP 目标IP:登录网关端口”,最后一段的IP必须与网关实际监听地址一致,格式错一个空格或竖线就会导致“游戏不开门”。客户端侧的登录器列表文件`list.txt`按“服务器名称|IP|端口”的格式填写,每行一个区服,编码存为ANSI,UTF-8会导致登录器读不出列表。列表文件放在IIS网站根目录或本地列表服务器程序旁边,登录器配置器里的列表地址指向这个文件,生成登录器后放进客户端根目录实测。
端口放行要同时处理操作系统防火墙和云平台安全组两层。Windows Defender防火墙里为TCP的7000、7100、7200创建入站允许规则,UDP按同样端口补一条。云服务器还需要在控制台安全组里放行对应端口,只关系统防火墙而安全组没开,外网依然连不进来。家用宽带做外网联机时,路由器后台的端口转发需要把外部端口映射到服务端电脑的内网IP,内外端口保持一致。7000、7100、7200这三个是核心,部分引擎的数据库端口是6000或7001,以`!Setup.txt`和网关ini里实际写的为准。端口被占用时用`netstat -ano | findstr :7000`定位占用进程,酷狗、迅雷等软件会抢占7000端口,换端口比杀进程更省事。
架设完成后进不去游戏,不要反复重装服务端,按层排查能省掉大量时间。先看`MirServer\Log`目录下最新的日志文件,搜索Error和Fail,`DBError`指向数据库别名或路径问题,`FileNotFound`指向地图或配置文件缺失,`AccessViolation`多半是引擎版本与登录器不配套。数据库报错时回到BDE Administrator确认HeroDB存在、PATH指向正确、并且执行过Apply;引擎报“加载物品数据失败”时检查`Mud2\DB`下的StdItems.DB和Monster.DB是否完整,文件被占用或损坏时换一份备份替换。网关启动不了或M2Server闪退,先确认启动顺序没有颠倒,再查端口是否被其他程序占用,最后核对登录器是否与引擎版本严格匹配,GOM引擎配GOM登录器,GEE引擎配GEE登录器,混用是网关异常的高频原因。客户端能登录但黑屏或卡加载,检查`NewopUI.pak`是否被放到了客户端目录,以及微端端口8000是否放行。
服务端跑起来之后,GM权限和爆率是两项马上会用到的配置。GM权限优先在M2Server界面操作,点查看、列表信息、管理员列表,填入游戏内角色名,权限等级填10,保存后角色小退重登生效。界面操作不生效或版本没有入口时,打开`Mir200\Envir\AdminList.txt`,按“* 角色名”的格式写入,编码存为ANSI,保存后在M2Server控制菜单里重载管理员列表。爆率修改不碰数据库,进入`Mir200\Envir\MonItems`目录,找到与怪物名称完全一致的TXT文件,格式为“概率 空格 物品名称”,分母改小提高爆率,保存为ANSI后在游戏内执行重载爆率命令,或者重启M2Server让改动生效。
传奇服务端架设全流程:DBC2000配置到网关启动实操
来源:
作者:
点击:

