GEE单机架设里能注册账号,但一登录就提示密码错误,大多数不是你密码记错。注册和登录是两套校验链路:注册时密码按某种规则写进账号库,登录时再把你输入的密码按同样规则比对。中间只要登录器加密、服务端加密、账号库字段、网关端口任何一环对不上,就会直接报密码错误。下面按最容易出问题的顺序查。
一、先确认注册账号是不是真写进库了
很多人以为注册完弹成功就是写库了,其实登录器界面成功不代表服务端收到数据。
先看服务端用的是哪种账号存储:
老一点 GEE 用 DBC2000 + HeroDB,账号在 Mir200\Mud2\DB\Account.DB
新一点 GEE 用 SQL Server 或 MySQL,账号在数据库 account / tbl_account 表
DBC 版排查:
打开 BDE Administrator,别名 HeroDB,PATH 指向 Mir200\Mud2\DB,Ctrl+A 保存。
服务端启动后看 DBServer 窗口有没有报错,没起来账号写不进。
用数据库工具或引擎自带的账号管理打开 Account 表,查刚注册的账号在不在。
SQL 版排查:
本地 SQL 服务要开着(SQL Server 或 MySQL 服务)
连上库执行:
select * from account where account='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.1 7000
0
登录器配置器里开区端口也填 7000。
三处不一致,注册可能碰巧走了网页注册接口,登录却验不到。
CMD 查占用:
netstat -ano | findstr "7000"
有占用就结束残留 LoginGate / RunGate 进程,或改端口。
改端口要同步:LoginGate 配置、!Setup.txt、list.txt、登录器配置器。
五、登录网关密码(不是账号密码)
GEE 登录器配置器里有个「登录网关密码」或「GatePass」,不是你游戏账号密码。
服务端 LoginGate 里也配了同一个值。
两边不一致不会提示网关密码错,很多时候就归到连接失败/密码错误那种假象。
处理:
没改过就保持默认,别手填
改过就服务端 LoginGate 配置和登录器配置器填同一个
重新生成登录器
六、杀毒把写入拦了
单机也常中招。DBServer.exe、LoginSrv.exe 被 Defender 或某杀软删了,注册时界面没崩,实际账号库没写进去。
关 Windows Defender 实时防护和第三方杀软
隔离区恢复 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 个账号」
有没有 DB connect failed
有没有账号表打开失败
M2 红字报脚本错不一定直接密码错,但会卡在校验后回登录界面。
十一、快速排查顺序
1. 关杀软,MirServer 加信任
2. 看 LoginSrv / DBServer 窗口起没起
3. 查账号表有没有刚注册的号
4. 没有 → 修 DBC 或 SQL 连接
5. 有 → 看 password 字段明文还是加密串
6. 打开服务端加密配置对照
7. 登录器配置器加密方式改成一致
8 IP 127.0.0.1,端口跟 LoginGate 一致
9 网关密码两端相同
10 用服务端自带 GEE 配置器重新生成登录器
11 删旧号,重注册 test123 / 123456
12 登录还错 → 换干净 Account 表,重启全套服务端
十二、单机最稳的一套参数
路径:D:\MirServer,无中文无空格
数据库:DBC HeroDB 或本地 SQL,确认能连
登录器:服务端自带 GEE 配置器生成
IP:127.0.0.1
开区端口:跟 LoginGate 配置一致
微端:单机可不勾
加密:服务端和登录器同档(都明文或都 MD5)
注册开关:允许注册
账号:test123
密码:123456
杀软:加信任后再测
GEE 单机注册后密码错误,本质就三件事:
账号没写进库、加密规则两端不对、登录器跟网关配置没配套。
注册界面成功只是前端成功,真成功是账号表里能看到密码字段正常写入。
顺着账号表倒推最快,不用瞎改客户端补丁。
如果重生成登录器、加信任、加密对齐之后还错,直接换完整版 GEE 引擎包重解压,保留 Mir200 里版本配置,账号库用干净原包那份,基本能避开大部分精简版缺文件导致的假密码错误。
GEE引擎单机传奇注册后登录提示密码错误排查修复
来源:
作者:
点击:

