当前位置 : 145z游戏站 | 魔域 | 技术教程 | 

魔域架设连接成功无法注册账号排查与修复

热度:
一、核心问题:数据库账号权限与连接失败

根据你提供的配置文件,连接成功但无法注册,核心原因在于配置文件中的数据库账号(test)权限不足。配置文件显示,DB_USER = test、DB_PW = test,但MySQL数据库中很可能不存在这个账号,或该账号对数据库my3无完整的增删改查权限(特别是INSERT权限用于写入新账号)。以下是详细的排查与修复步骤。

二、排查与修复步骤

第一步:验证数据库连接与账号权限(关键)
1. 登录MySQL:打开命令行或Navicat,使用root账号登录MySQL。
2. 检查账号是否存在:执行命令 SELECT User FROM mysql.user;,查看结果列表中是否有用户 test。
3. 创建/授权账号:
◦ 如果不存在:执行命令创建用户并授权。
CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';
GRANT ALL PRIVILEGES ON my3.* TO 'test'@'localhost';
FLUSH PRIVILEGES;

◦ 如果存在但无权限:执行授权命令。
GRANT ALL PRIVILEGES ON my3.* TO 'test'@'localhost';
FLUSH PRIVILEGES;

4. 验证账号权限:使用 test 账号登录MySQL,尝试在 my3 数据库中执行简单的增删改查,确认权限正常。

第二步:核对配置文件与数据库结构
1. 确认数据库名:检查配置文件中的 DATABASENAME = my3 是否与MySQL中实际创建的数据库名完全一致(区分大小写)。
2. 导入SQL脚本:确保已成功导入服务端 Data 目录下的数据库初始化脚本(如 my3.sql)。此脚本会创建 account、character 等核心数据表。如果表不存在,账号注册功能必然失败。使用 SHOW TABLES FROM my3; 命令检查。

第三步:检查AccountServer(账号服务)状态与日志
1. 查看ACC运行状态:启动 AccountServer.exe 后,观察其运行窗口。如果启动时出现“数据库连接失败”等红色错误提示,说明连接配置有误。
2. 检查日志文件:在 AccountServer 目录下查找 log 文件夹,查看最新的日志文件。日志中通常会明确记录注册失败的原因,如“数据库查询错误”、“表不存在”等。
3. 核对ACC配置文件:你提供的配置片段显示 ACC 的 ACCOUNT_IP = 127.0.0.1 和 ACCOUNT_PORT = 9864。请确保此端口与 System 段落的 POINTLISTENPORT = 9864 一致,且未被防火墙或其它程序占用。

三、配置文件潜在问题与修正

你提供的配置信息分散,需整合核对。以下是关键的配置项核对点(以常见魔域端结构为例):

1. AccountServer.ini / account.ini (账号服务核心配置):

[Database]
DBHOSTNAME = 127.0.0.1
DATABASENAME = my3
DBUSER = test
DBPASSWORD = test


2. GameServer.ini / config.ini (游戏服务核心配置):

[Database]
DB_IP = 127.0.0.1
DB_USER = test
DB_PW = test
DB_NAME = my3

确保这两处的数据库连接信息(IP、库名、用户名、密码)完全一致。

3. 端口一致性检查:
◦ AccountServer 监听的端口(ACCOUNT_PORT = 9864)需与 System 段落的 POINTLISTENPORT = 9864 一致。

◦ GameServer 的 GAMESERVER_PORT = 5814 是游戏逻辑端口,需确保在客户端登录器配置中正确指向。

四、完整修复流程总结

1. 启动MySQL:确保MySQL服务(mysqld-nt.exe 或 Windows服务)已运行。
2. 创建数据库和账号:使用root账号登录MySQL,创建数据库 my3,创建用户 test 并赋予 my3 数据库的所有权限。
3. 导入数据:运行服务端自带的SQL脚本,初始化 my3 数据库的表结构。
4. 修改配置文件:核对并统一所有配置文件(AccountServer.ini, GameServer.ini等)中的数据库连接信息。
5. 按顺序启动服务:
◦ 启动 AccountServer.exe,观察无报错。

◦ 启动 GameServer.exe,观察无报错。

◦ 启动 NPC_Server.exe。

6. 测试注册:使用配套的登录器或注册页面尝试注册新账号。

注意:部分一键端提供网页注册系统,如果网页能打开但提交后无反应,还需检查网页注册程序(通常是PHP)的数据库配置文件(如config.php)中的连接信息是否正确。
[顶部]