传奇登录器打开后无法注册新用户原因与修复

来源: 作者: 点击:
自己架设传奇以后,登录器能读取列表但点注册没反应、注册按钮是灰色、提示注册失败,或者注册完登录说账号不存在,本质都集中在服务端没放开注册、登录器和服务端不匹配、IP端口不对、登录网关文件没覆盖、数据库写不进去这几类。下面按单机最先查的顺序写,外网同理只看IP部分换成公网地址。

先确认服务端程序是不是全开了

注册不是登录器自己完成的,注册请求要先到 LoginSrv,再走 LoginGate,最后写进账号库。DBServer、LoginSrv、LoginGate、M2Server 这几个窗口少一个都不行。
单机架设正确启动顺序一般是:
先开数据库服务
再开 LoginSrv
再开 LoginGate
最后开 M2Server
哪个窗口闪退,先看它自己日志,常见是缺 VC++ 运行库、路径带中文、端口被占。

登录器上没注册按钮或按钮灰色

这种情况大多不是账号问题,是服务端没允许注册,或者登录器没生成注册入口。
打开 M2 控制台,进选项、功能设置或账号登录服务器,找注册设置,把「禁止新账号注册」「老区禁止注册」这类勾去掉,勾上「允许账号注册」。
Hero 引擎去 HeroLogin 或 LoginSrv 的注册管理里勾允许注册新账号。
GOM/GEE 引擎还要看登录网关本身,打开 GomLoginGate,设置里找注册设置,确认没勾关闭注册。

登录器配置器那边也要看一眼,生成登录器时有没有勾「显示注册按钮」「允许注册账号」,没勾就重新生成一次。

IP 和端口不对,注册包发不到服务端

单机必须把登录器配置器里的服务器 IP 填成 127.0.0.1,不要填外网 IP,也不要填 0.0.0.0。
端口默认是 7000,登录器列表、LoginGate 配置、引擎配置向导三处要对上。

列表文件格式大致是:
服务器名127.0.0.1
7000

如果列表里写的是别的端口,而 LoginGate 实际监听还是 7000,点注册就会无响应。
外网架设才填公网 IP,同时路由器或云服务器安全组要把 7000 放开。

登录器不是配套生成的最容易踩坑

别拿随便下的万能登录器去连自己的服务端。不同引擎协议不一样,GOM、GEE、Hero、Blue 各自要各自配置器生成的登录器。

用服务端自带的登录器配置器重新生成一次,生成出来的包里一般会带 LoginGate 文件,把这个 LoginGate.exe 复制到服务端 LoginGate 目录覆盖旧的,再重启网关。
只换登录器 exe 不换网关文件,就会出现列表能读、注册没反应。

数据库连不上或账号写不进去

注册最后一步是把账号写进库,库没连上、表坏了、文件夹只读,都会注册失败。

Hero 引擎看 DBC2000
打开 BDE Administrator,HeroDB 的 PATH 指向 Mirserver\Mir200\Mud2\DB,路径不能有中文空格,状态要 OPEN。

GOM/GEE 看 MySQL
进 DBServer 的 DBConfig,DBIP 填 127.0.0.1,库名、用户名、密码和本地 MySQL 一致。
能进 MySQL 就看 mir 库里的 account 表,表坏了用 repair table 修。

老版本走文本账号文件的
看 LoginSrv\Account 目录,文件夹要给当前用户写权限,里面有损坏的 txt 账号文件就删掉重试。

MirServer 整个放 D:\MirServer 这种纯英文路径,放桌面或中文文件夹容易各种奇怪报错。

端口占用和防火墙拦截

cmd 里跑:
netstat -ano | findstr 7000
有占用就去任务管理器按 PID 结束掉。
防火墙也要放行,单机能关防火墙测一次就行;要是关了就能注册,就把 LoginSrv、LoginGate、登录器加信任。
杀毒软件会把网关 dll 删进隔离区,看一下隔离记录,恢复了加白。

注册脚本被改坏

部分版本服务端靠 QuestDiary 里的注册脚本处理页面注册,文件空了、乱码、加了本地 IP 禁止规则,就会点注册没反应。
路径大概在:
Mir200\Envir\QuestDiary\账号注册.txt
或 AccountRegister.txt
从同引擎干净端里把原脚本抄回来,重启 M2。

账号规则限制

服务端设了账号长度、密码复杂度、同 IP 注册数,也会让新手以为不能注册。
单机测试账号用纯英文加数字,别打中文别打空格,长度按服务端要求来,一般 4 到 12 位。
同 IP 注册上限太小就调大,或者重启下服务再试。

单机架设最快排查顺序

关掉所有服务端窗口
检查 MirServer 路径纯英文
登录器配置器重填 127.0.0.1 和 7000
重新生成登录器并把 LoginGate 覆盖进服务端
M2 里开允许注册
按顺序开 DBServer、LoginSrv、LoginGate、M2
登录器右键管理员运行
还不行就看 LoginSrv 窗口有没有报错,再看 7000 端口占用。

绕开登录器先验证服务端本身

服务端目录里一般带账号注册工具,叫账号注册.exe、账号管理工具.exe 之类,直接填账号密码点注册。
如果能在这里注册成功,说明服务端没问题,毛病在登录器配置或网关通信;
如果这里也注册不了,就是 M2 开关、数据库、脚本这边的事。

常见现象对应哪类问题

能看列表但没注册按钮:M2 禁止注册、登录器没勾注册入口
有按钮点了没反应:IP端口不对、LoginGate 不配套、脚本坏了
提示注册失败:账号规则、同 IP 限制、库写入失败
注册成功但登不进:账号表没写进去、数据库连错、HeroDB 路径错
列表能加载但连接服务器失败:7000 端口没通、LoginSrv 没起

多数自己架设传奇登录器不能创建新用户,都是 LoginGate 没换配套文件、M2 注册开关没开、登录器 IP 没填 127.0.0.1 这三个里占一个。按上面顺序走一遍基本能定位。