如何在你的 CounterStrikeSharp 服务器上成为管理员
CounterStrikeSharp 插件中的管理命令,例如踢人、封禁、换图,只有拥有相应权限标志的玩家才能使用。这些权限保存在服务器上的几个 JSON 文件里。弄懂这三个文件之后,给自己或朋友授予管理员权限只需要两分钟左右。
找到 configs 文件夹
在服务器上进入 addons/counterstrikesharp/configs。这里有三个重要文件:admins.json 记录人员及其权限,admin_groups.json 定义可重复使用的权限组,admin_overrides.json 用来修改某个命令所需的权限。
查到你的 SteamID64
管理员名单通过 Steam 账号来识别你。最简单的格式是 SteamID64,这是一个以 7656119 开头的 17 位数字。把你的 Steam 个人资料链接粘贴到任意 SteamID 查询网站即可获得。旧格式 STEAM_0:X:Y 也可以使用。
以完整权限添加自己
打开 admins.json,添加一条记录,填入你的名字、SteamID 和想要的权限标志。@css/root 标志拥有一切权限,所以只给自己和你完全信任的人使用。
{
"MyName": {
"identity": "76561198000000001",
"flags": ["@css/root"]
}
}
权限标志必须以 @ 开头
每个权限标志都要在前面加上 @,就像 @css/kick 那样。没有 @ 的标志不会被识别,玩家只是得不到权限,而且不会出现明显的错误提示。最常用的有:用于基础管理命令的 @css/generic,以及 @css/kick、@css/ban、@css/changemap、@css/vip 和 @css/root。
多个管理员时使用分组
如果有多名管理员拥有相同的权限,可以在 admin_groups.json 中把权限定义一次,再从 admins.json 中引用该组。组名以 # 开头。之后修改这个组,所有使用它的管理员都会同步更新。
{
"#css/simple-admin": {
"flags": ["@css/generic", "@css/kick", "@css/ban"]
}
}
{
"MyName": {
"identity": "76561198000000001",
"groups": ["#css/simple-admin"]
}
}
用 overrides 精细调整
admin_overrides.json 可以让你在不改动插件的情况下,修改某个命令所需的权限标志。例如,你可以规定通常需要 @css/ban 的命令,拥有 @css/kick 的人也能使用。这是可选项,许多服务器从来不需要它。
如果不起作用
编辑文件后请重启服务器,并在启动时查看控制台有没有 JSON 错误。然后进入服务器,试一试需要该权限标志的命令。常见原因有:SteamID 填错、标志少了 @、JSON 语法错误,或者编辑了放在错误文件夹里的文件副本。
给开发者:保护你自己的命令
如果你在编写插件,不必手动检查权限标志。在命令方法上方加上 RequiresPermissions 特性,没有该标志的人执行这个命令时,CounterStrikeSharp 会自动拒绝。
[RequiresPermissions("@css/kick")]
public void OnKickCommand(CCSPlayerController? player, CommandInfo commandInfo)
{
// ...
}
这篇教程对你有帮助吗?
Barlap 为社区打造。