GEE引擎单机传奇注册账号登录提示密码错误账号校验失败排查修复教程

来源: 作者: 点击:
GEE引擎架设完成,登录器可以正常打开、注册账号流程走完,返回登录界面输入账号密码登录直接提示密码错误,明明注册时输入的内容没有记错,反复注册新账号依旧出现同样提示,这个故障和账号保存、密码加密规则、登录列表配置、网关参数、登录器配置几个环节关联,GEE自带独立的密码加密算法,和其他引擎的账号存储逻辑不一样,很多架设者容易忽略这一点。

先区分两种情况,第一种是刚注册完账号立刻登录就提示密码错误,第二种是注册账号之后下线重登才报错,优先处理注册即报错的场景。GEE引擎账号数据默认保存在MirServer\Mir200\Envir\Account文件夹内,账号文件以账号名命名,文件内部存储加密后的密码串,注册账号时,登录器把明文密码发送给登录网关,网关按照GEE内置加密方式处理之后写入账号文件,如果网关没有正常写入文件,账号文件缺失或者里面加密串为空,登录校验的时候就会判定密码不匹配。

打开MirServer目录,确认LoginGate登录网关处于正常运行状态,GEE引擎必须同时开启M2、LoginGate、SelGate三个核心程序,很多人只启动M2,漏掉登录网关,注册动作只是在登录器本地完成,没有提交到服务端,账号根本没有存入服务端,登录自然提示密码错误。查看LoginGate窗口内的日志,点击注册的时候,日志要有接收注册包、保存账号的记录,如果注册的时候网关没有任何日志滚动,代表登录器和登录网关通信不通,注册请求没有送到服务端。

登录列表配置是高频出错点,打开登录器列表txt文件,检查登录网关IP和端口,单机环境IP填写127.0.0.1,端口默认7100,部分版本修改过登录网关端口,要和LoginGate上面显示的监听端口保持一致。列表里面有两组端口不要混淆,7100是注册、登录账号使用的登录网关端口,7200是角色网关端口,端口填错之后,注册请求发往角色网关,账号无法保存,登录校验也会失败。列表文件编码必须保存为ANSI格式,使用UTF8编码保存会造成数据包错乱,密码加密串解析异常,出现密码错误提示。

GEE引擎登录器配置器里面有独立的加密密钥选项,这是GEE独有的机制,密钥分为登录密钥和数据包校验密钥,生成登录器的时候填写的密钥,必须和M2引擎内的密钥完全一致。打开M2引擎,依次点击选项、参数设置、网络设置,找到登录数据包密钥,复制这串字符,打开GEE登录器配置器,在高级设置里面填入相同密钥,密钥不一致时,登录器加密的密码字符串,M2网关无法解密,哪怕账号和密码文字完全一样,校验结果也是密码错误。每次修改密钥之后,需要重新生成登录器,旧登录器密钥不匹配,会持续报错。

核对账号文件夹权限,Account文件夹以及里面的账号文件,右键属性取消只读属性,给当前用户开启读写权限。安全程序会拦截LoginGate写入账号文件的动作,注册的时候写盘失败,账号文件生成不完整,缺少加密密码字段。可以清空Account文件夹里面所有旧账号文件,关闭所有网关和M2,重新启动整套服务端,再注册新账号测试,清理旧账号可以排除损坏账号文件带来的干扰。

还有登录器勾选了明文密码发送选项,GEE网关默认接收加密密码包,如果登录器设置成明文发送,两端密码传输格式不匹配,校验失败。打开GEE登录器配置器高级选项,不要随意修改密码传输模式,保持默认加密传输,非必要不要开启明文发送。部分改版的GEE版本修改了加密算法,配套登录器配置器里面自带专属加密插件,使用别的地方找来的通用GEE登录器,就算密钥填对,加密算法不一致,依旧密码校验不通过,这种情况只能使用版本配套的登录器配置器生成登录器。

检查M2引擎内的账号相关参数,打开M2选项、账号设置,查看是否开启账号白名单、固定账号模式,开启这个功能之后,只允许配置文件内预先写好的账号登录,登录器新注册账号直接不生效。还有密码长度限制,设置最小密码长度大于你输入的密码位数,注册看似成功,实际网关没有接收保存账号,调整密码长度限制,密码尽量使用纯数字和英文,不要加入特殊符号和中文,部分GEE版本对特殊字符支持不好,注册保存的时候字符丢失,密码改变。

SelGate角色网关异常也会带来相似提示,要区分报错时机,如果是账号密码验证通过,选角色的时候报错,是角色网关问题;输入账号密码点登录瞬间弹出密码错误,问题全部在LoginGate和登录密钥、登录列表这一块。查看LoginGate日志,输入账号密码登录时,日志会打印收到登录包、解密密码、校验密码结果,日志明确提示密码不匹配,就是加密串不一致;日志提示找不到账号,代表注册的时候账号没有成功保存。

本地hosts文件干扰的情况不多,但是也会出现,打开C:\Windows\System32\drivers\etc\hosts,检查里面有没有条目把127.0.0.1指向别的地址,存在相关条目就删除,保存之后重启服务端。不要使用局域网IP填写单机列表,单机测试优先固定使用127.0.0.1,局域网联机才更换内网IP。

常见的测试步骤,先关闭全部服务端程序,清空Account文件夹;启动M2,确认M2内登录密钥;启动LoginGate和SelGate,确认登录网关监听端口;打开登录器列表核对IP端口、保存ANSI编码;使用配套登录器配置器填入相同密钥,重新生成登录器;关闭安全程序,管理员运行登录器;注册账号,观察LoginGate日志是否有注册记录;注册完成立刻登录,查看网关登录日志返回信息。按照这个流程排查,可以定位绝大多数GEE引擎注册后提示密码错误的问题,不要反复注册账号测试,优先保证注册数据包能够正常被登录网关接收并写入账号文件。