Настройка администраторов CounterStrikeSharp в CS2
CounterStrikeSharp связывает SteamID игрока с разрешениями, которые проверяют плагины. Сам фреймворк предоставляет систему прав, но команды вроде кика или бана появляются только после установки плагина, который реализует эти действия.
Если MetaMod:Source и CounterStrikeSharp еще не установлены, сначала выполните инструкцию «Установка плагинов CS2: MetaMod и CounterStrikeSharp».
Где находятся файлы#
Основные файлы системы администраторов:
game/csgo/addons/counterstrikesharp/configs/admins.json
game/csgo/addons/counterstrikesharp/configs/admin_groups.json
Если присутствуют только файлы с окончанием .example, создайте копии без этого окончания. Не оставляйте admins.json пустым: минимальный корректный JSON для пустого списка имеет вид {}.
Добавление администратора по SteamID64#
В admins.json каждый администратор является отдельным свойством верхнего объекта. Актуальная схема CounterStrikeSharp использует поля identity, flags и при необходимости groups:
{
"ServerAdmin": {
"identity": "76561198808392634",
"flags": ["@css/changemap", "@css/generic"]
}
}
Замените пример в identity на 17-значный SteamID64 нужного аккаунта. Название ServerAdmin служит понятной подписью и не обязано совпадать с ником игрока.
Все индивидуальные разрешения должны начинаться с @. В официальной схеме CounterStrikeSharp используются, в частности:
@css/genericдля базового административного доступа;@css/kick,@css/banи@css/unbanдля модерации;@css/changemapдля смены карты и важных игровых параметров;@css/configдля выполнения cfg-файлов;@css/cvarдля изменения большинства cvar;@css/passwordдля изменения пароля сервера;@css/rconдля RCON-команд;@css/cheatsдля измененияsv_cheatsи чит-команд;@css/rootдля всех прав без учета immunity.
Наличие флага не создает команду автоматически. Конкретный плагин должен использовать этот флаг, а его документация может требовать собственное разрешение, например @pluginname/admin.
Настройка групп#
Группа позволяет один раз описать права для нескольких администраторов. По текущей схеме CounterStrikeSharp запись в admin_groups.json выглядит так:
{
"#css/simple-admin": {
"flags": [
"@css/generic",
"@css/reservation",
"@css/ban",
"@css/slay"
]
}
}
Имя группы обязательно начинается с #. Затем укажите ее в массиве groups администратора. Структура соответствует примеру из официальной документации:
{
"erikj": {
"identity": "76561198808392634",
"flags": ["@mycustomplugin/admin"],
"groups": ["#css/simple-admin"]
}
}
Игрок наследует флаги каждой назначенной группы и сохраняет индивидуальные флаги из flags. Если отдельные права не нужны, допустим пустой массив "flags": [].
Применение и проверка#
CounterStrikeSharp загружает admins.json и admin_groups.json при инициализации. Штатных консольных команд css_admins_reload и css_groups_reload у фреймворка нет, поэтому после изменения обоих файлов перезапустите сервер через панель BazaHost. После загрузки проверьте данные:
css_groups_list
css_admins_list
Пустой список при заполненном файле обычно означает ошибку JSON, неверный путь или файл с оставшимся окончанием .example. Проверьте консоль при запуске: CounterStrikeSharp пишет путь к файлу и результат загрузки администраторов.
Принцип минимальных прав#
Выдавайте только те флаги, которые нужны для работы:
- модератору достаточно прав конкретного плагина на чат, кик и бан;
- организатору матча можно отдельно дать
@css/changemapи@css/config; @css/rcon,@css/cheatsи@css/rootоставьте владельцам, которым доверяете полный контроль;- удаляйте запись сразу после отзыва доступа к серверу;
- храните актуальную копию JSON перед массовыми изменениями.
Для повседневной модерации лучше использовать ограниченные команды плагина, а полный RCON оставить владельцу. Настройка удаленной консоли описана в статье «Администрирование сервера CS2 через RCON».
Что дальше#
Хостинг Counter-Strike 2 на BazaHost: NVMe, Ryzen 9 и защита от DDoS. Тарифы от 449 ₽/мес.