很多新手好不容易把所有服务端程序都启动完成,网关界面都显示正常运行,结果注册完账号点击进入角色创建界面,直接弹出账号不可用、服务器认证失败的提示,反复重启引擎、重新注册账号都解决不了问题。这类故障的成因非常集中,大多是账号数据同步、引擎认证配置、网关参数匹配这几个核心环节出了疏漏,不用重装整个服务端,按从易到难的顺序分步排查,绝大多数问题都能在半小时内彻底解决。
排查之前先做好两个基础确认,避免做大量无用的无效操作。首先查看服务端的登录服务LoginSrv.exe和游戏服务M2Server.exe的运行窗口,确认没有红色的报错提示,比如数据库连接断开、认证模块加载失败这类问题,如果有这类基础报错,先重启对应网关程序,解决底层的连接故障之后,再继续排查认证相关的问题。提前准备好两个常用工具,一个是数据库可视化管理工具,用来查看服务端里的账号数据是否正常写入,另一个是纯文本编辑器,用来打开各个配置文件修改参数,不用系统自带的记事本,避免出现编码格式错误导致配置失效的问题。
最常见的故障原因,就是账号虽然显示注册成功,但实际根本没有写入服务端的数据库里。很多新手注册账号的时候,注册工具的数据库配置参数和服务端的实际参数不匹配,账号只存在于临时缓存里,服务端读取账号数据的时候根本找不到对应的记录,自然就会弹出认证失败的提示。打开数据库管理工具,连接本地的数据库,不同引擎的账号表名不一样,GOM引擎大多是user表,HERO引擎大多是accounts表,BLUE引擎大多是game_user表,找到对应表之后,搜索你刚注册的账号名称,如果完全搜不到对应的记录,就说明账号根本没有写入数据库。这时候打开注册工具的数据库配置界面,确认数据库地址、账号、密码和服务端的配置完全一致,单机场景下数据库地址统一填127.0.0.1,重新注册一个新账号,再回到数据库里确认新账号的记录已经正常生成,之后再尝试登录创建角色。如果能搜到账号记录,但状态字段的数值是1或者-1,直接把这个字段的数值改成0,0代表账号状态正常,1代表账号被禁用,-1代表账号未激活,修改保存之后重新登录,账号就能正常通过认证。
第二个高频故障点,就是引擎的账号认证开关没有开启,默认锁定在第三方平台认证模式。很多主流引擎的默认配置,是给开服场景准备的,默认关闭了本地账号认证功能,只支持对接外部的第三方认证平台,你本地注册的账号自然无法通过系统的认证校验。不同引擎的修改路径不一样,GOM引擎打开引擎根目录下的Engine文件夹,找到GomCtrl.exe引擎控制器,进入系统设置里的账号认证页面,把认证模式从平台认证改成本地数据库认证,勾选允许本地账号创建人物的选项,保存配置之后重启整个服务端。HERO引擎直接打开M2主程序,在选项菜单里找到账号设置下的认证设置,取消勾选启用第三方平台认证,勾选启用本地数据库认证和允许本地账号创建人物,点击保存按钮之后重启服务端。其他通用引擎直接打开Config文件夹里的AuthConfig.ini认证配置文件,把AuthMode参数的数值从1改成0,代表切换到本地认证模式,再确认AllowCreateChar参数的数值是1,代表允许创建人物,保存文件之后重启服务端,认证模式的问题就能彻底解决。
第三个很容易被忽略的故障点,就是各个网关的配置文件里的IP地址不统一,导致账号认证请求无法正常转发。很多新手只修改了主控制器里的IP地址,没有同步修改各个子网关的配置文件,登录网关、角色网关的监听IP和服务端主程序的IP不一致,账号的认证请求从登录器发过来之后,网关之间无法正常转发,就会直接返回认证失败的结果。你直接打开服务端根目录下的所有核心ini配置文件,包括DBServer目录下的dbsrc.ini、LoginGate目录下的Config.ini、LoginSrv目录下的Config.ini、SelGate目录下的Config.ini,把所有配置文件里的IP地址全部统一改成127.0.0.1,单机场景下不需要填其他公网IP,所有端口保持默认数值不要随意修改,确认所有配置文件的IP完全一致之后,重启所有网关程序,就能解决网关之间认证请求转发失败的问题。如果之前修改配置的时候把这些文件改乱了,直接把这些ini配置文件全部删除,重启引擎之后系统会自动生成全新的默认配置文件,所有参数自动适配单机场景,不用手动挨个修改,能直接解决配置混乱导致的认证失败问题。
第四个细节层面的故障点,就是账号表和人物表的关联字段不匹配,导致创建角色的时候无法完成账号绑定。在数据库里找到对应的人物表,GOM引擎大多是character表,HERO引擎大多是user_char表,确认人物表里的账号ID关联字段和账号表里的ID字段完全对应,没有出现字段缺失或者字段类型不匹配的情况。如果关联字段缺失,直接在数据库里补充对应的字段,设置成和账号表完全一致的字段类型,保存之后重启服务端,创建角色的时候就能正常完成账号和人物的绑定,不会再弹出认证失败的提示。
最后几个收尾的排查要点,你可以用系统自带的telnet工具测试5600默认认证端口的连通性,在命令行里输入telnet 127.0.0.1 5600,如果端口无法连通,说明端口被系统防火墙拦截,直接在系统防火墙的高级设置里,把这个端口添加到允许放行的规则里,确保认证请求能正常通过。所有服务端程序全部右键选择以管理员身份运行,避免系统权限不足导致数据库写入失败、配置无法保存的问题。顺着这套流程一步步排查,所有常见的账号不可用、服务器认证失败的问题都能彻底解决,不用反复重装服务端浪费时间。
传奇架设后提示账号不可用服务器认证失败 全场景分步排查解决指南
来源:
作者:
点击:

