命令表存储了游戏中所有可用的GM命令及其安全等级。这个表定义了哪些账号可以使用哪些命令,基于账号的安全等级(在account_access表中设置)。
字段名 | 类型 | 属性 | 描述 |
---|---|---|---|
name | varchar(50) | 主键,不为空 | 命令名称 |
security | tinyint(3) unsigned | 不为空,默认0 | 使用命令所需的最低安全等级 |
help | text | 命令帮助文本 |
安全等级决定了账号可以使用哪些命令。以下是常见的安全等级:
安全等级 | 描述 | 典型用户 |
---|---|---|
0 | 玩家 | 普通玩家 |
1 | 游戏管理员 | 可以处理基本游戏问题的GM |
2 | 主管理员 | 可以处理大多数游戏问题的高级GM |
3 | 管理员 | 可以执行几乎所有命令的管理员 |
4 | 控制台 | 服务器控制台和SOAP接口 |
以下SQL语句将修改"additem"命令的安全等级为2:
UPDATE command
SET security = 2
WHERE name = 'additem';
以下SQL语句将添加一个新的自定义命令:
INSERT INTO command (name, security, help)
VALUES ('mycustomcommand', 3, '语法: .mycustomcommand [参数]\n这是一个自定义命令的帮助文本。');
注意: 添加新命令后,还需要在服务器代码中实现该命令的功能。仅在数据库中添加命令不会使其生效。
以下SQL语句将删除"mycustomcommand"命令:
DELETE FROM command
WHERE name = 'mycustomcommand';
警告: 删除官方命令可能会导致某些功能无法正常使用。请谨慎操作。
使用以下SQL语句查询所有命令:
SELECT name, security, help FROM command ORDER BY name;
或者在游戏中使用以下命令:
.help
使用以下SQL语句查询特定安全等级可用的命令:
SELECT name, security, help FROM command
WHERE security <= 安全等级
ORDER BY name;
使用以下SQL语句按关键词搜索命令:
SELECT name, security, help FROM command
WHERE name LIKE '%关键词%' OR help LIKE '%关键词%'
ORDER BY name;
或者在游戏中使用以下命令:
.lookup command 关键词
不需要完全重启服务器,但需要重新加载命令数据:
.reload command
可能的原因包括:
可以使用以下命令查看您的账号安全等级:
.account
有两种方法:
以下SQL语句将为特定账号设置安全等级:
INSERT INTO auth.account_access (id, gmlevel, RealmID)
VALUES (账号ID, 安全等级, -1)
ON DUPLICATE KEY UPDATE gmlevel = 安全等级;
提示: 在游戏中,可以使用以下命令为账号设置安全等级:
.account set gmlevel 账号名 安全等级 -1