传奇架设LogServer日志服务弹窗报错 单机登录进去类似掉线故障排查

来源: 作者: 点击:
LogServer弹出提示框,文字显示当前文件,你没有需要纪录的日记,点击确定后主控制器进程停止加载,关闭该日志服务后其余组件可正常启动,登录器显示服务状态运行,但进入游戏就出现类似掉线的现象,这类故障根源分为日志服务本身配置错误、服务端文件权限缺失、网关与客户端数据交互异常三类。

LogServer日志服务器的作用是接收游戏各个模块产生的运行日志,保存角色登录、打怪、物品拾取、聊天等记录。报错提示代表程序无法读取或者写入日志存储文件,程序触发异常弹窗,阻塞主控制器的启动流程,主控制器等待该服务加载完成,弹窗不确认就不会继续启动后续网关。

首先检查LogServer对应的配置文件,打开服务端目录下LogServer文件夹,找到LogServer.ini配置文件。查看文件内日志保存路径,路径中不要带有中文、空格和特殊符号,很多版本解压放在桌面、中文命名文件夹,会直接造成日志文件创建失败。配置内的日志文件名称,日志保存目录参数,如果目录不存在,程序尝试新建日志文件失败,就弹出该提示。手动打开文件夹,确认Logs文件夹是否存在,不存在就手动新建同名文件夹。

其次检查系统文件权限,右键LogServer整个文件夹,选择属性,取消只读属性。操作系统权限不足时,程序无法写入日志记录文件,触发弹窗。使用管理员身份运行主控制器和LogServer程序,普通用户权限运行程序,会出现文件写入被拦截的情况。关闭杀毒软件和安全防护工具,部分防护程序会隔离日志生成的log后缀文件,阻止程序创建日志文档。

完成日志服务处理之后,分析关闭LogServer之后,登录器显示运行,进入游戏就如同掉线的问题。游戏登录流程里,网关、数据库、人物服务虽然启动,但是部分引擎的人物数据校验、网络报文交互依赖日志服务的消息转发。关闭日志服务,游戏核心进程不会直接报错,但是客户端和服务端之间的数据包交互出现中断,角色可以进入地图,操作指令无法正常回传,表现为人物原地不动,无法移动、放技能,外观和掉线效果一致。

核对引擎网关的配置,打开网关配置文件,查看网关连接地址和端口,确认网关内填写的LogServer通信地址和端口和LogServer.ini内设置保持一致。端口冲突会造成连接失败,LogServer占用端口被其他程序占用,服务启动异常,网关无法建立连接,关闭日志服务后网关缺少消息接收通道,客户端指令无法正常提交。

数据库校验也是重要排查点,打开DB数据库工具,检查人物数据库、物品数据库是否完整,数据库索引损坏,会出现登录成功但是交互失效。人物进入游戏场景,读取基础模型成功,但是每次操作提交数据写入失败,表现类似掉线。核对客户端补丁和服务端版本匹配情况,客户端资源不匹配,部分数据包解析异常,也会出现同类现象。

分步处理操作顺序,先关闭所有服务端程序,删除Log目录下面所有旧的log日志文件,旧日志文件损坏会直接导致程序加载时报错。修改LogServer.ini内存储路径,改成纯英文短路径,例如D:\mirserver\LogServer\Logs,保存配置文件。右键主控制器,选择以管理员身份运行,重新全套启动服务,观察弹窗是否消失。

如果修改配置之后,LogServer依旧弹出提示,可选择更换同引擎配套的LogServer程序文件,版本不匹配的日志服务程序,会出现配置正常但是无法生成日志的问题,从同版本完整资源包提取原版LogServer替换。

启动完成后,在主控制器界面查看网关状态,确认网关显示已连接,而不是等待连接。登录游戏测试,观察人物移动、拾取物品、释放技能是否正常。若LogServer修复完成,网关连接正常,游戏内操作依旧异常,检查防火墙设置,单机环境下本地回环端口放行,127.0.0.1端口没有被拦截。

还有一类情况,服务端资源本身存在残缺,资源打包的时候缺少日志模块依赖的dll文件,缺少组件文件会造成LogServer启动报错,就算跳过日志服务,核心网络通信模块缺少对应组件,客户端交互中断,出现登录后掉线的现象,需要核对服务端目录内的dll文件是否齐全。

排查完成之后,日常单机架设使用,不建议直接在主控制器取消日志服务,日志文件可以记录后续的报错信息,遇到其他问题可以通过日志快速定位故障,长期关闭日志服务,很多隐藏的报错不会有任何提示,后续出现其他故障很难排查。