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

传奇LogServer日志服务器弹窗报错解析,单机架设登录进去就掉线故障排查

热度:
传奇架设当中LogServer为游戏日志服务器,主要负责记录游戏登录、角色行为、打怪掉落、NPC交互各类运行日志,很多单机架设场景下,启动主控制器,LogServer弹出英文提示框,点击确定程序直接终止,关闭日志服务器勾选之后其余网关可以正常启动,登录器显示服务器状态正常,但进入游戏瞬间直接掉线,这类问题属于引擎配套组件异常,下面把报错诱因、逐项排查步骤、关联故障原理完整梳理。

弹出提示文字“你没有需要纪录的日记”对应的英文弹窗,本质是LogServer组件读取日志配置失败,并不是日志文件缺失这么简单,该程序读取LogConfig.ini配置文件,配置参数出错、文件损坏、路径识别异常,就会弹出确认弹窗,确认之后组件直接退出。主控制器如果勾选自动运行LogServer,该组件报错终止之后,主控制器流程会被卡住,后续网关不会继续自动启动,取消勾选日志服务器,LoginSrv、SelGate、RunGate可以独立运行,登录器读取网关状态显示服务器已经开启,但进入游戏就出现掉线现象。

单机环境下即便禁用LogServer,登录网关、角色网关、游戏网关表面运行,为什么进游戏就掉线。部分引擎版本的游戏主网关RunGate会和LogServer存在进程校验,当检测不到日志服务器进程存在,会触发内部安全限制,角色完成创建点击进入地图瞬间,直接断开客户端连接,登录器状态只是读取登录网关的存活信号,不能代表游戏主网关完全可以正常承载角色进入地图,这就是登录器显示正常,进服如同掉线的根本原因。并不是LogServer单纯写日志功能,部分引擎把它作为附属依赖组件,缺少该进程,游戏网关无法完成完整会话校验。

第一处排查点,检查服务端整体存放路径,MirServer整套文件夹所在路径,全部不能带有中文、汉字、空格、括号以及特殊符号。很多用户习惯把服务端放在桌面,桌面完整路径包含系统中文目录,LogServer对路径识别十分敏感,中文路径会直接导致LogConfig.ini配置读取失败,触发弹窗报错。需要将整套MirServer剪切到磁盘根目录,D:\MirServer为标准路径,转移完成之后,打开引擎控制器,重新读取配置向导,重新确认所有组件的本地路径,保存全部配置,再尝试启动LogServer。

第二处,定位LogServer目录下LogConfig.ini配置文件,路径为MirServer\LogServer\LogConfig.ini。这个文件损坏、编码错乱、内容为空、参数写错,是弹窗高频诱因。可以从同版本完整的服务端包内复制一份原始LogConfig.ini覆盖替换,不要直接编辑原有出错文件。打开这个ini文件核对内部路径参数,日志输出目录指向是否真实存在,日志保存文件夹如果被删除,程序找不到写入目录,同样弹出确定提示。配置文件编码格式必须为ANSI,一旦转为UTF‑8编码,组件读取解析失败,直接弹窗退出,不要使用记事本另存修改编码,编码改动之后组件无法识别参数。

第三处,权限问题,单机Windows系统,MirServer整个文件夹权限不足,LogServer程序没有读写写入日志文件夹的权限。鼠标右键MirServer文件夹,属性安全选项,给当前操作系统用户开启完全控制、读取写入修改权限。部分系统会阻止程序在本地磁盘生成日志文件,权限被拦截之后,LogServer想要创建日志文档失败,弹出确认窗口直接关闭进程。同时关闭第三方安全软件,安全软件会拦截LogServer生成日志文件,隔离组件部分配置,启动就报错弹窗。

第四处,组件文件本身损坏,LogServer.exe程序本体损坏,压缩包解压过程出错,下载、解压的时候文件被破坏。把服务端压缩包全部重新解压一遍,解压前关闭安全类软件,解压过程当中不要中断操作,直接替换LogServer整个子目录。不要单独复制exe,整个LogServer文件夹整体替换,避免dll配套文件缺失,exe文件依赖同目录下的配套动态库,dll文件损坏缺失,同样触发弹窗报错。

第五处,DBC数据库相关核对,HERO引擎环境,打开BDEAdministrator,确认HeroDB数据库实例路径指向正确,路径指向MirServer\Mud2\DB,大小写、斜杠符号不能出错。数据库实例配置错误,不仅仅会影响游戏网关,连带LogServer读取角色相关日志信息失败,出现弹窗。GOM、GEE内置数据库版本,检查引擎控制器内数据库设置,确认数据库路径没有出错,数据库文件没有被安全软件隔离。数据库出现异常,即便取消日志服务器,游戏网关也会出现进图瞬间断线,角色会话无法正常写入。

第六处,主控制器配置向导核对,单机模式全部IP统一设置127.0.0.1,不要填入公网IP。打开配置向导,依次检查登录网关、角色网关、游戏网关、日志服务器,全部组件IP统一为127.0.0.1,端口参数不要冲突。很多情况前面网关IP改成本地回环地址,唯独LogServer内部配置IP还是版本自带的测试外网IP,单机环境无法连接该地址,日志服务器初始化失败弹窗报错。修改完配置向导,点保存,全部网关配置文件会同步更新,保存之后关闭整个主控制器,再重新打开运行整套组件。

处理完LogServer报错之后,还要对应处理进服掉线的连带现象,就算暂时取消日志服务器可以跑其他网关,也不能作为长期运行方案,引擎依赖校验存在,会持续出现进图断开、人物存档异常、捡物无响应等隐性故障。全部组件修复完成之后,完整顺序启动,等待LogServer、LoginSrv、SelGate、RunGate全部窗口显示服务开启成功,不要看到窗口弹出就立刻使用登录器登录,等待三十秒以上,让所有组件完成初始化。

登录器方面核对,登录器必须和当前引擎版本严格匹配,引擎版本和登录器版本不匹配,也会表现为登录器显示服务器在线,创建角色进入地图直接断开。单机测试登录器列表填写127.0.0.1,不要填写外网IP,列表文件存放本地,不需要网页环境。

出现的次要现象,修复LogServer之后依旧偶尔弹窗,检查日志文件夹,旧日志文件数量过多,大量历史日志堆积,程序初始化读取旧日志文件过载。把MirServer\LogServer下所有旧log后缀日志文件全部删除,只保留空目录,重新启动日志服务器。

整体故障逻辑,LogServer弹窗属于组件初始化失败,主控制器流程卡住;手动禁用之后其他网关可以跑,但引擎进程校验缺失日志组件,客户端连接建立完成,请求加载地图角色数据时校验不通过,立刻断开连接,表现为登录器看服务器正常,一进游戏就掉线。优先修正服务端路径、替换日志配置文件、修复组件本体、核对数据库实例、统一全部组件IP参数,让LogServer能够正常启动,就可以消除弹窗和进服断线连锁故障。
[顶部]