传奇架设后登录器注册与开始按钮灰色的排查步骤

来源: 作者: 点击:
登录器上注册账号和开始游戏两个按钮同时变灰,点不动,但服务端七个窗口都正常开着,没有报错。这个现象的本质是登录器没有和服务端完成握手,或者服务端没有把有效的区服状态返回给登录器。窗口开着不等于网关真正在监听,也不等于配置正确。下面按从高频到低频的顺序,把每个可能的原因和对应的操作写清楚。

**网关文件没有覆盖到服务端**

这是最常见的原因。用登录器配置器生成登录器时,会同时生成一个LoginGate.exe文件。很多人只把登录器拷到客户端目录,忘了把这个网关文件覆盖到服务端的LoginGate文件夹里。

操作步骤:打开登录器配置器生成时输出的文件夹,找到LoginGate.exe。进入服务端目录,路径通常是D:\MirServer\LoginGate,把原来的LoginGate.exe备份一下,把新生成的覆盖进去。然后关闭服务端所有窗口,重新按顺序启动。重启之后再打开登录器,看按钮是否恢复。

如果不确定新生成的网关文件和旧文件哪个才是配套的,直接以登录器配置器生成时输出的那个为准。服务端引擎包自带的LoginGate文件,和登录器配置器生成的往往不是同一个,混用就会出现握手失败。

**登录器与引擎版本不配套**

传奇服务端有BLUE、GOM、GEE、HERO、AFT等多种引擎。每种引擎的登录器协议不同,不能混用。比如服务端是BLUE引擎,登录器用的是GOM登录器,即便七个窗口全部正常,登录器也连不上,按钮必然灰色。

确认引擎类型的方法:打开服务端根目录,看核心进程文件名。BLUE引擎的核心进程是bluem2.exe或BlueEngine.exe,GOM引擎是GameCenter或M2Server,HERO引擎是HeroM2.exe,GEE引擎是GeeM2.exe。

确认引擎后,必须使用该引擎配套的登录器配置器重新生成登录器。不要从网上下载通用登录器,也不要用其他引擎的登录器替代。登录器版本还要和服务端版本对应,1.76版本的服务端用1.76版本的登录器,版本号差太远也会出问题。

**登录器列表文件配置错误**

登录器需要通过列表文件获取服务端的IP、端口和区服名称。列表文件格式错误或内容不对,登录器读不到有效信息,按钮就会锁死。

列表文件通常是txt格式,放在本地或网站空间上。内容格式因引擎不同而有差异。以BLUE引擎为例,列表里需要有区服名称、IP、端口,格式类似“区名|127.0.0.1|7000”。区名必须和服务端配置文件里的ServerName完全一致,多一个空格或者少一个字符都可能解析失败。

列表文件的编码也要注意。用记事本另存为时,要选ANSI编码,不要选UTF-8。老引擎的登录器读不了UTF-8编码的列表文件,会直接导致按钮灰色。

如果列表是放在网站空间上的,先用浏览器打开列表地址,确认能直接看到纯文本内容。打不开、显示空白或者跳转到其他页面,登录器就获取不到数据。

**IP和端口对不上**

单机架设时,所有涉及IP的地方必须全部用127.0.0.1。不能有的地方填127.0.0.1,有的地方填192.168.x.x或者公网IP。

需要核对的几个位置:登录器列表文件里的IP、服务端Mir200\!Setup.txt里的ServerAddr和ServerIP、LoginGate\!addrtable.txt里的IP、LoginGate\Config.ini里的端口。端口默认是7000,登录器配置器里填的登录端口必须和网关配置文件里的端口一致。

检查端口是否真正在监听。按Win+R输入cmd,敲命令:netstat -ano | findstr 7000。正常应该看到类似“127.0.0.1:7000 LISTENING”的记录。如果没有任何输出,说明网关进程没有真正绑定端口,需要去MirServer\LoginGate目录下手动双击LoginGate.exe,看弹出的窗口里有没有报红字错误。

**登录网关的连接密码不匹配**

部分引擎的LoginGate设置了连接密码,登录器配置器里必须填一模一样的密码才能连上。密码留空或者填错,网关会直接拒绝连接,登录器上按钮就是灰的。

打开服务端LoginGate目录下的配置文件,找Password或类似字段。再打开登录器配置器,找到网关密码栏,确认两边完全一致。修改之后需要重新生成登录器,并且重新把LoginGate.exe覆盖到服务端,再重启所有进程。

**注册功能被关闭**

如果只是注册按钮灰色,开始游戏按钮正常,那就是注册功能没开。服务端默认可能关闭了在线注册,只允许用GM工具手动加账号。

打开服务端LoginSrv文件夹,用记事本打开LoginSrv.ini,查找RegisterEnable参数。如果是0,改成1。如果找不到这个参数,在文件末尾手动添加一行RegisterEnable=1,保存后重启登录服务。

也可以在M2Server控制台里检查。打开M2Server,点顶部选项,进入功能设置或账号登录服务器,找到注册设置,确认没有勾选“禁止新账号注册”,勾选“允许账号注册”和“允许同一IP多账号注册”。

**数据库连接异常**

如果服务端启动时DBServer窗口闪过一下或者有红色报错,数据库可能没连上。数据库不通,登录器无法读写账号数据,注册和开始按钮也会灰。

检查DBC2000是否配置正确。打开控制面板里的BDE Administrator,确认有HeroDB这个别名,路径指向服务端的DB文件夹。右键查看属性,确认没有勾选只读,权限设置为完全控制。

检查数据库文件是否完整。进入MirServer\mud2\DBServer\FDB和MirServer\mud2\Logsrv\IdDB目录,看是否有.db和.idx文件,文件大小是否正常。如果文件缺失或者大小为0KB,从服务端原始安装包里复制覆盖,或者删除后重启DBServer自动生成。

**防火墙和杀毒软件拦截**

Windows防火墙、360、火绒、Defender都可能拦截LoginGate的通信。网关进程被拦截后,表面看着启动了,实际端口没有对外监听,登录器连不上。

临时关闭防火墙和杀毒软件测试。如果关闭后按钮恢复,就把服务端整个目录和登录器程序添加到杀毒软件的信任列表。Windows防火墙里需要放行TCP 7000端口,如果服务端用了其他端口,也要对应放行。

如果所有步骤都试过仍然灰色,去服务端Mir200目录下检查Key.lic密钥文件是否存在。GOM类引擎缺了这个文件会拒绝登录器的连接请求。确认密钥文件存在后,重新覆盖LoginGate.exe并重启全部进程。