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

GEE引擎单机传奇注册后登录提示密码错误排查修复

热度:
GEE单机架设里能注册账号,但一登录就提示密码错误,大多数不是你密码记错。注册和登录是两套校验链路:注册时密码按某种规则写进账号库,登录时再把你输入的密码按同样规则比对。中间只要登录器加密、服务端加密、账号库字段、网关端口任何一环对不上,就会直接报密码错误。下面按最容易出问题的顺序查。

一、先确认注册账号是不是真写进库了

很多人以为注册完弹成功就是写库了,其实登录器界面成功不代表服务端收到数据。

先看服务端用的是哪种账号存储:

老一点GEE用DBC2000+HeroDB,账号在Mir200\Mud2\DB\Account.DB
新一点GEE用SQLServer或MySQL,账号在数据库account/tbl_account表

DBC版排查:
打开BDEAdministrator,别名HeroDB,PATH指向Mir200\Mud2\DB,Ctrl+A保存。
服务端启动后看DBServer窗口有没有报错,没起来账号写不进。
用数据库工具或引擎自带的账号管理打开Account表,查刚注册的账号在不在。

SQL版排查:
本地SQL服务要开着(SQLServer或MySQL服务)
连上库执行:
select*fromaccountwhereaccount='test123'
没记录=注册没写进去
有记录但password字段空=写了账号没写密码

账号都不在表里,后面查加密没意义,先修注册写入。

二、密码加密方式两端不一致

这是GEE注册能成、登录报密码错误的最高频原因。

GEE服务端一般有配置项控制密码加密,名字可能是:
PasswordEncrypt
EncryptType
密码加密模式

常见值:
0=明文
1=MD5
也可能用SHA或其他引擎自带算法

登录器那边生成时也有对应加密选项,必须跟服务端一致。

对照方法:

1.打开服务端Config或LoginSrv配置里的加密参数
2.看数据库password字段内容
是123456原文→服务端大概率明文
是32位十六进制串→MD5
是更长乱码→引擎私有加密
3.打开GEE登录器配置器,注册/密码加密方式选成同一档
4重新生成登录器
5.删掉旧账号重新注册再登

别用GOM登录器配GEE端,也别拿网上通用登录器糊弄,协议和加密对不上就会密码错误。

临时验证法:
把服务端加密改成明文(EncryptType=0或密码加密模式=0),登录器也设不加密,重注册测试。
能进就证明是原加密不匹配,单机测试完再决定要不要改回MD5。

三、登录器不是服务端自带GEE配置器生成的

自带登录器「能用」不代表「匹配」。如果你之前换过端、覆盖过Login目录、用过别家配置器生成过一次,原登录器就可能加密DLL不对。

正确做法:

进MirServer\登录器或引擎包Login目录
找MakeGameLogin.exe/GEE登录器配置器.exe
服务端同目录的Key.lic、LoginGate.dll、NewopUI.pak别漏
配置器里引擎类型选GEE
加密方式选GEE自带
单机模式勾上
IP填127.0.0.1
端口跟LoginGate实际监听端口一致
生成到客户端根目录,覆盖旧登录器

GEE有些版本还要把NewopUI.pak放到客户端Data目录,PAK密码按原端pak.txt填,不然会连带报密码错误。

四、LoginGate端口和列表对不上

能注册说明登录网关大概通了,但登录验证走的是同一套网关配置,端口写错会连错进程,表现也一样像密码错或连一下回登录界面。

查LoginGate目录配置:
ServerPort/ListenPort/Port
单机常见7000,也有7100、5555,以你这套端为准。

list.txt里端口写一样:
单机测试127.0.0.17000
0

登录器配置器里开区端口也填7000。
三处不一致,注册可能碰巧走了网页注册接口,登录却验不到。

CMD查占用:
netstat-ano|findstr"7000"
有占用就结束残留LoginGate/RunGate进程,或改端口。
改端口要同步:LoginGate配置、!Setup.txt、list.txt、登录器配置器。

五、登录网关密码(不是账号密码)

GEE登录器配置器里有个「登录网关密码」或「GatePass」,不是你游戏账号密码。
服务端LoginGate里也配了同一个值。

两边不一致不会提示网关密码错,很多时候就归到连接失败/密码错误那种假象。

处理:
没改过就保持默认,别手填
改过就服务端LoginGate配置和登录器配置器填同一个
重新生成登录器

六、杀毒把写入拦了

单机也常中招。DBServer.exe、LoginSrv.exe被Defender或某杀软删了,注册时界面没崩,实际账号库没写进去。

关WindowsDefender实时防护和第三方杀软
隔离区恢复LoginSrv、DBServer、Account.DB
MirServer整目录加信任
管理员身份运行引擎控制器

再注册一次,回去查账号表有没有新记录。

七、DBC路径或SQL连接字符串错

DBC版:
HeroDB别名大小写按端要求
PATH末尾别多斜杠
DB目录给当前用户写权限

SQL版:
LoginGate或LoginSrv的DB配置里:
Server=127.0.0.1或.\SQLEXPRESS
Database=gee对应库名
UID/SA密码跟实际一致
SQL改过sa密码,配置没改→登录校验失败

改完重启LoginSrv,不是只重启M2。

八、账号表损坏或字段不对

Account表缺Password字段、表头损坏、从别端抄来的DB,都会出现能建号但登录校验失败。

处理:
备份当前DB
从原引擎完整包复制一份干净Account.DB或account表结构
别把GOM的账号库直接套GEE用

字段至少要有:
Account账号
Password密码
UserLevel/状态字段

密码字段空白也删掉重注册,别手改,手改MD5很容易对不上。

九、注册时密码本身有问题

先排除低级问题再动配置:

两次密码是否一致
有没有首尾空格
输入法是不是全角
大小写是否跟注册时一样
账号别用@#空格,纯英文+数字如test123
登录器「记住密码」存了旧值,清掉历史记录再登

特殊符号部分GEE老版本不支持,密码先用123456测,能进再换复杂密码。

十、M2/LoginSrv启动顺序和红字

GEE启动顺序乱了也会半通不通:
先DBServer
再LoginSrv
再LoginGate
再M2/RunGate

看LoginSrv窗口:
有没有「已加载X个账号」
有没有DBconnectfailed
有没有账号表打开失败

M2红字报脚本错不一定直接密码错,但会卡在校验后回登录界面。

十一、快速排查顺序

1.关杀软,MirServer加信任
2.看LoginSrv/DBServer窗口起没起
3.查账号表有没有刚注册的号
4.没有→修DBC或SQL连接
5.有→看password字段明文还是加密串
6.打开服务端加密配置对照
7.登录器配置器加密方式改成一致
8IP127.0.0.1,端口跟LoginGate一致
9网关密码两端相同
10用服务端自带GEE配置器重新生成登录器
11删旧号,重注册test123/123456
12登录还错→换干净Account表,重启全套服务端

十二、单机最稳的一套参数

路径:D:\MirServer,无中文无空格
数据库:DBCHeroDB或本地SQL,确认能连
登录器:服务端自带GEE配置器生成
IP:127.0.0.1
开区端口:跟LoginGate配置一致
微端:单机可不勾
加密:服务端和登录器同档(都明文或都MD5)
注册开关:允许注册
账号:test123
密码:123456
杀软:加信任后再测

GEE单机注册后密码错误,本质就三件事:
账号没写进库、加密规则两端不对、登录器跟网关配置没配套。
注册界面成功只是前端成功,真成功是账号表里能看到密码字段正常写入。
顺着账号表倒推最快,不用瞎改客户端补丁。

如果重生成登录器、加信任、加密对齐之后还错,直接换完整版GEE引擎包重解压,保留Mir200里版本配置,账号库用干净原包那份,基本能避开大部分精简版缺文件导致的假密码错误。
[顶部]