MySQL: Online
Load: High
Sandbox: Running

Как стать админом на своём сервере CounterStrikeSharp

Админские команды в плагинах CounterStrikeSharp, такие как kick, ban или смена карты, работают только у игроков с нужным флагом прав. Эти права хранятся в нескольких JSON-файлах на сервере. Когда вы разберётесь в трёх файлах, выдать права админа себе или другу можно минут за две.

1

Найдите папку configs

Откройте на сервере addons/counterstrikesharp/configs. Важны три файла: admins.json содержит людей и то, что им разрешено, admin_groups.json описывает повторно используемые группы прав, а admin_overrides.json меняет право, которое требуется для конкретной команды.

counterstrikesharp
configs
admins.json
admin_groups.json
admin_overrides.json
2

Узнайте свой SteamID64

Список админов опознаёт вас по аккаунту Steam. Проще всего формат SteamID64 — 17-значное число, начинающееся с 7656119. Его можно получить, вставив ссылку на свой профиль Steam на любом сайте для поиска SteamID. Старый формат STEAM_0:X:Y тоже поддерживается.

3

Добавьте себя с полными правами

Откройте admins.json и добавьте запись с вашим именем, SteamID и нужными флагами. Флаг @css/root даёт доступ ко всему, поэтому выдавайте его только себе и тем, кому полностью доверяете.

{
  "MyName": {
    "identity": "76561198000000001",
    "flags": ["@css/root"]
  }
}
4

Флаги должны начинаться с @

Каждый флаг пишется с @ впереди, точно как @css/kick. Флаг без @ не распознаётся, и игрок просто остаётся без прав, без явной ошибки. Чаще всего используются @css/generic для базовых админских команд, @css/kick, @css/ban, @css/changemap, @css/vip и @css/root.

Некорректный JSON, например с пропущенной запятой или лишней запятой в конце, приводит к тому, что весь файл не загружается и никто не получает прав админа.
5

Используйте группы, если админов несколько

Если у нескольких админов одинаковые права, опишите их один раз в admin_groups.json и сошлитесь на группу из admins.json. Имена групп начинаются с #. Изменив группу позже, вы обновите всех админов, которые её используют.

{
  "#css/simple-admin": {
    "flags": ["@css/generic", "@css/kick", "@css/ban"]
  }
}

{
  "MyName": {
    "identity": "76561198000000001",
    "groups": ["#css/simple-admin"]
  }
}
6

Тонкая настройка через overrides

admin_overrides.json позволяет изменить флаг, который требует команда, не трогая сам плагин. Например, можно решить, что команду, которой обычно нужен @css/ban, смогут использовать обладатели @css/kick. Это необязательно, и многим серверам это никогда не нужно.

7

Если не работает

Перезапустите сервер после правки файлов и посмотрите в консоли при запуске, нет ли ошибок JSON. Затем зайдите на сервер и попробуйте команду, требующую этот флаг. Обычные причины: неверный SteamID, флаг без @, синтаксическая ошибка JSON или правка копии файла не в той папке.

8

Для разработчиков: защита собственных команд

Если вы пишете плагины, проверять флаги вручную не нужно. Поставьте атрибут RequiresPermissions над методом команды, и CounterStrikeSharp откажет в выполнении любому, у кого нет этого флага.

[RequiresPermissions("@css/kick")]
public void OnKickCommand(CCSPlayerController? player, CommandInfo commandInfo)
{
    // ...
}

Было ли это руководство полезным?

1 пользователь счёл это руководство полезным
Страница сформирована за 0.012 секунд
CounterStrikeSharp Web Compiler V1.0 - Сделано с от RomaniaBarlap для сообщества.