一、先把这两件事的关系搞清楚
你遇到的其实是同一个问题的两个表现:LogServer 起不来,后面的网关和 M2 要么跟着起不来,要么起来也是残缺状态。角色登录、存档、物品记录都要经过日志服务器,它一旦缺席,客户端选完角色、读档那一刻就会卡住或者立刻断开,看起来就像“进去跟掉线似的”。所以不要把它当成可有可无的组件取消掉,取消只是把报错藏起来了,真正的故障还在。
二、LogServer 一打开就弹英文确定框的原因
这个提示框通常是程序在初始化时找不到日志写入目标,弹出一个确认框然后直接退出。常见原因按出现频率排序:
日志目录不存在
打开 LogServer 所在目录,找到 Config.ini、LogServer.ini 或 !Setup.txt 这类文件,里面有一项是 LogPath 或 Path,指向一个文件夹。如果那个文件夹被删了、没解压出来,或者路径写的是相对路径而你又从别的目录启动了程序,就会报这个错。解决办法是手动在指定位置建一个空的 Logs 文件夹,再把路径改成绝对路径,例如 D:MirserverLogServerLogs。
路径里有中文、空格或特殊符号
传奇的服务端程序大多是老版本的 Delphi 写的,对中文路径和空格支持很差。整个服务端必须放在类似 D:Mirserver 这样的纯英文短路径下,桌面、下载文件夹、D盘新建文件夹 都不行。
没有写权限
放在 C 盘、Program Files、OneDrive 同步目录,或者压缩包解压后属性带“只读”,都会导致写不进日志文件。把服务端移到非系统盘,右键服务端根目录取消只读,再对 LogServer.exe 右键以管理员身份运行,属性里勾选 Windows 7 兼容模式。
杀毒软件删了文件或拦截了写入
日志服务器的行为特征容易被误判。把整个 Mirserver 目录加进杀毒软件的白名单,然后重新解压一次被删的文件,最好用 7-Zip 或 WinRAR 解压,不要用系统自带解压。
配置文件本身损坏或为空
如果 ini 文件里 IP、端口、ServerName 这几项是空的,程序也会直接退出。对照同一套引擎包里其他正常的 ini 填写,IP 统一填 127.0.0.1,端口保持默认不要乱改。
端口被占用
日志服务器默认占用一个固定端口(常见 5000 或 5100,具体看你的引擎),如果之前异常退出留下了残留进程,或者有其他程序占用了这个端口,它就会启动失败。重启电脑后再开服务端,或者在配置里换一组端口并同步修改 M2 那边的对应设置。
三、为什么主控制器会卡在这里不动
主控制器的启动逻辑是按顺序拉子进程,等上一个回报状态才走下一个。LogServer 弹出确认框等于进程异常退出,控制器收不到正常信号,后面的登录网关、角色网关、游戏网关、M2 就全部停在原地。这就是你看到的“点下确定就不运行了”。这也说明你的服务端本身并没有真正启动成功,后面那些看似运行的窗口其实只是没走到报错那一步而已。
四、正确的启动顺序和验证方法
单独双击 LogServer.exe,看它是否不再弹窗,窗口标题或状态栏显示正在监听、连接数正常。
启动 DBServer,确认物品库、技能库加载完成无 Exception。
依次启动登录网关、角色网关、游戏网关。
最后启动 M2Server,观察控制台有没有红色报错,特别是关于连接日志服务器失败的提示。
全部正常后再用主控制器一键启动。
每一步都独立验证过,比直接点一键启动更容易定位问题。
五、去掉 LogServer 后进游戏像掉线的原因
除了前面说的日志链路缺失,还有几类更常见的实际原因,需要逐一排查:
游戏网关没真正起来
网关窗口可能被防火墙拦掉了,或者因为依赖日志服务器而处于半死状态。先在防火墙里把所有引擎程序放行,或者直接关闭防火墙测试一次。
IP 配置不一致
单机环境全部填 127.0.0.1,不要填局域网 IP 也不要填外网 IP。检查 GameCenter 配置、!Setup.txt、各网关的 Config.ini、登录器配置里的 IP 是否完全一致,端口是否一一对应。只要有一处写成 192.168.x.x,就会出现能登录但进不去游戏的情况。
客户端与服务端版本不匹配
用了精简客户端、微端,或者补丁没有覆盖完整,协议对不上就会在选角色或进入地图那一刻断开。换成完整客户端,把版本自带的补丁全部覆盖进去,登录器的资源路径指向客户端根目录。
引擎组件混用
登录网关、游戏网关、M2 来自不同的发布包,识别码不一致会导致握手失败,服务端显示已启动但客户端连不上。统一用同一套引擎包覆盖替换,然后重新生成登录器。
数据库没挂上
如果 DBServer 那边还有加载错误,角色和背包数据读不到,网关会直接断开连接。这个问题必须先修好,否则调其他设置都是白费。
六、几个容易忽略的细节
ServerIndex 编号重复:各个网关的 ini 里都有序号字段,重复会导致互相顶掉,表现为时好时坏。
磁盘空间不足:日志写不进去的同时,解压出来的文件也可能是残缺的。
残留进程:每次测试前在任务管理器里清掉所有 Mir、GameCenter、DBServer 相关进程,否则端口永远冲突。
保留一份干净的备份:每次改动前复制一份,避免越改越乱无法回退。
七、快速定位的思路
先让 LogServer 单独跑通,这是所有问题的起点。它不弹窗了,再看 M2 控制台有没有报错;M2 没报错了,再用配套登录器测试。哪一步卡住就回到对应的段落处理,不要跳过日志服务器直接去调端口和 IP,那样只会把一个问题变成三个问题。
传奇单机架设LogServer日志服务器报错退出与进游戏掉线的解决办法
来源:
作者:
点击:

