单机传奇设置127.0.0.1网关绿灯却无法注册账号登录无响应排查修复教程

来源: 作者: 点击:
网关指示灯显示绿色,只代表登录网关程序正常运行、端口处于监听状态,不代表网关和主引擎之间通讯正常,账号注册、登录流程是网关转发请求到M2引擎处理,链路中间任意一环异常,都会出现能看到服务器、灯是绿色,但是注册和登录没有任何反馈的情况,按照顺序逐项排查。
先查看网关程序窗口的日志输出,打开LoginGate,看里面滚动的记录,点击登录之后,正常情况会出现客户端连接进来的记录,接着转发账号信息到M2。如果点注册或者登录,网关日志里完全没有新增记录,说明登录器发出去的请求根本没有抵达网关。先核对登录器列表里面的网关端口,很多版本登录网关和游戏网关是两个独立端口,登录列表填的是登录网关端口,游戏网关端口负责进入地图加载角色,两个端口不要混淆。登录网关端口填写错误,网关虽然绿灯,接收不到账号提交的数据。
网关日志有连接记录,但是出现转发失败、连接游戏网关断开这类提示,就是登录网关和M2之间的通讯通道不通。打开M2引擎,找到引擎设置里的网关参数,确认引擎绑定的登录网关IP和端口,部分版本引擎里面写死了网关连接密码,网关配置页也要填写相同的内部通讯密码,密码不一致,网关和引擎无法建立内部通信,账号提交之后引擎接收不到数据,自然不会返回注册成功或者登录结果。这个密码和登录器连接端口无关,是网关与引擎之间的内部验证密钥,很容易被忽略。
接下来检查M2引擎自身状态,绿灯只是网关状态,M2有可能加载脚本失败、数据库连接失败。查看M2主窗口日志,启动的时候如果提示数据库连接失败、人物库加载失败、Quest脚本加载报错,引擎没有正常就绪,就算网关正常,也无法处理账号注册和登录请求。数据库方面,确认DBC或者配套数据库服务已经正常启动,数据库名称、账号、密码和Mir200里面的配置文件一致,路径有中文、数据库文件损坏,都会加载失败。脚本加载报错大多是文件编码问题,脚本文件需要ANSI编码,编码不对引擎跳过加载,功能直接失效。
登录器自带的列表也有可能存在问题,有些打包好的登录器,列表里面除了IP和登录网关端口,还附带游戏网关的地址信息,哪怕登录网关是127.0.0.1,游戏网关配置错误,提交账号之后会卡在中转环节。可以重新打开登录器配置工具,新建一条本地列表,只填写单机地址127.0.0.1,核对登录网关端口,保存后重新生成登录器,替换旧登录器再测试,不要直接使用别人打包好的内嵌列表,部分内嵌列表内置了其他地址,不会跟随你修改的IP生效。
防火墙和安全软件拦截是高频原因,网关绿灯只是程序启动监听成功,本地防火墙或者防护软件可以拦截网关和M2之间的内部数据包。单机环境下,把整套服务端目录加入信任列表,关闭防火墙测试,部分防护软件不会直接终止网关程序,只会拦截网关转发给引擎的数据,表现就是网关正常亮绿灯,但是数据中转中断,注册登录无反馈。
还有一种情况是版本的账号网关和引擎版本不配套,上传的服务端包里面网关和M2不是一套组件,单独替换过网关或者引擎文件,两者内部通讯协议不兼容。网关可以正常监听端口显示绿灯,但是和引擎之间的交互协议对不上,账号消息发过去之后引擎无法解析,不会做出任何回应。遇到这种情况,不要单独更换网关,使用服务端压缩包内原本配套的网关和引擎,不要混用别的版本组件。
然后检查账号注册的实现方式,部分版本注册功能不是引擎自带注册,而是依靠Quest脚本实现注册NPC、网页注册脚本。这类版本,直接在登录器注册框提交账号,本身就没有效果,登录器自带注册按钮是无效的,需要进入游戏登录界面之后,在游戏内的注册NPC提交账号,或者打开配套的注册网页。可以看服务端说明文档,确认这个版本支持哪一种注册方式,很多新手直接点登录器注册按钮,但是脚本没有对接登录器注册接口,点击之后没有任何反馈。
端口占用也会造成隐性故障,网关显示绿灯,看着端口监听成功,实际上有别的程序占用了游戏网关端口,M2绑定游戏网关端口失败,日志里可能提示端口被占用但是没有显眼报错。打开网关和M2的日志,搜索端口相关提示,出现bind failed就是端口占用,修改对应端口,登录器列表里面的端口同步修改,修改完成之后,全部关闭网关、引擎,重新启动整套服务。
客户端补丁和主程序版本不匹配也会出现这类现象,客户端提交登录数据包的格式和引擎预期的数据包格式不一样,引擎收到数据包之后丢弃,不返回信息。就算网关收到连接,也不会给到登录反馈,这种情况一般会伴随版本不匹配提示,少数版本没有弹窗,直接静默无响应。核对客户端是否是这个服务端原配客户端,不要拿别的版本客户端来连接。
测试的时候可以分步验证,先看网关日志有没有客户端接入记录,有接入记录,问题就在网关和M2之间;完全没有接入记录,问题在登录器列表、端口填写、防火墙拦截。每次修改配置之后,必须完全关闭LoginGate和M2,全部退出进程,再重新按顺序启动,配置修改不会热加载,不重启不会生效。不要多次重复打开多个网关实例,多开网关会造成端口冲突,日志混乱,排查难度增加。
如果前面几项全部核对完毕依旧没有响应,可以查看M2里面的账号管理设置,部分版本关闭了引擎自带账号注册功能,只允许后台手动添加账号,这种情况下登录器注册按钮完全无效,只能打开M2菜单,在账号管理面板手动新增账号,手动添加账号之后再尝试登录。手动添加账号能够登录,就说明是注册功能的脚本或者开关没有开启,引擎本身登录链路是正常的。