传奇登录器无法注册账号与创建新用户修复

来源: 作者: 点击:
自己架设传奇后,登录器无法注册账号(点击无反应、提示连接失败或直接无注册按钮),核心原因是服务端注册服务未启动、登录器IP端口配置错误或网关禁止本地注册。按以下顺序逐一排查,强制恢复注册功能。

一、 服务端注册服务:LoginSrv与网关

注册功能依赖登录网关(LoginGate)和账号服务(LoginSrv)协同工作,若进程未启动,点击注册必然无响应。

1. 检查核心进程状态
• 打开服务端目录(如 D:\MirServer),确认以下程序已运行:

- LoginSrv.exe(账号登录服务):负责处理注册与登录验证。
◦ LoginGate.exe(登录网关):负责接收登录器的连接请求。

- 关键点:若 LoginGate 窗口显示“Ready”但 LoginSrv 未启动,注册数据无法写入数据库,表现为点击注册后卡死或提示“服务器连接失败”。

2. 修改网关配置(关键步骤)
• 进入 LoginGate 文件夹,打开 Config.ini 或 !serverinfo.txt。

- 查找 AllowRegister 或 EnableRegister 参数,确保其值为 1(允许注册)。
- 查找 AllowLocalIP,若存在则设为 1,允许本地回环地址(127.0.0.1)连接。
- 确认 ListenPort 端口(通常为7000)未被其他程序占用。
• 修改后保存,重启 LoginGate.exe 和 LoginSrv.exe。

二、 登录器配置:IP端口与注册开关

登录器是客户端入口,若其配置的注册地址指向错误或功能被隐藏,则无法创建用户。

1. 重新生成登录器(推荐方案)
• 使用服务端自带的“登录器配置器”重新生成登录器。

- 服务器IP:单机必须填写 127.0.0.1,严禁填写外网IP或留空。
◦ 端口:必须与 LoginGate.ini 中的 ListenPort 一致(通常7000)。

- 注册设置:在配置器界面勾选“允许注册账号”或“显示注册按钮”。

2. 修改本地列表文件
• 若使用本地列表(如 list.txt),检查格式是否为:

服务器名称|127.0.0.1|7000|
- IP和端口错误会导致登录器发送的注册请求被防火墙拦截。

三、 数据库与文件权限:写入失败

注册的本质是将账号信息写入数据库文件,若数据库连接失败或文件只读,注册会成功但无法登录(提示账号不存在)。

1. 数据库路径验证
• 打开控制面板的 BDE Administrator,检查别名 HeroDB 的路径是否指向 MirServer\Mud2\DB。

◦ 路径错误会导致 DBServer.exe 启动失败,注册信息无法保存。

2. 文件权限与杀毒拦截
• 右键服务端根目录(MirServer)→ 属性 → 安全,给予当前用户“完全控制”权限,避免因权限不足导致无法写入 Account.db。

◦ 检查杀毒软件隔离区,恢复被误删的 LoginSrv.exe 或 DBServer.exe,并将整个服务端目录加入白名单。

四、 特殊场景:无注册按钮与脚本限制

1. 网页注册模式
• 部分版本默认关闭客户端注册,强制使用网页注册。检查登录器界面是否有“前往注册”链接。若需开启客户端注册,需修改 LoginSrv.ini 中的 RegisterType 参数。

2. 脚本限制
• 检查 Mir200\Envir\QuestDiary 下的注册脚本(如 AccountRegister.txt),若脚本为空或包含错误的过滤规则(如禁止本地IP注册),会导致点击无反应。从原始服务端包中恢复该脚本。

五、 单机架设快速修复流程

1. 重启服务:关闭所有服务端程序,重新运行 LoginSrv.exe 和 LoginGate.exe。
2. 检查IP:确保所有配置文件(!setup.txt、LoginGate.ini)中的IP均为 127.0.0.1。
3. 换登录器:删除旧登录器,用配置器重新生成,IP填127.0.0.1,端口填7000。
4. 测试:若仍无法注册,在 DBServer 窗口手动输入账号密码测试添加,若能添加成功但登录器无法注册,问题出在登录器与网关的通信上。

总结:无法注册账号,90%的原因是 LoginGate网关未允许注册 或 登录器IP端口配置错误。优先检查 LoginGate.ini 中的 AllowRegister=1,并使用配套登录器,通常可立即解决。