Права плагинов
ownerid открывает админские команды в F1. Команды плагинов он не включает. Плагин спрашивает отдельную строку вида имяплагина.действие, например vanish.use.
На Oxide префикс команд — oxide. (короткий вариант o.). На Carbon те же хвосты, но префикс c.: c.grant вместо oxide.grant. Ниже написан вариант Oxide. Подставьте c., если стоит Carbon. Подробные курсы: Oxide и Carbon.
Основы системы разрешений
Права выдают из консоли сервера или через RCON. Получатель — один SteamID или целая группа. Группа удобна, когда один набор должен быть у всех VIP или у всей модерации.
Пока игрок вызывает команду плагина, загрузчик смотрит эту строку и либо пускает, либо молча отказывает.
Группы, которые уже есть:
| Группа | Кто в неё попадает |
|---|---|
admin | игроки с ownerid |
default | каждый, кто зашёл на сервер |
На Carbon к ним добавляется moderator для moderatorid. Свои имена (vip и другие) создаёте вы.
Типы назначения прав
| Способ | Смысл |
|---|---|
| Игроку | право только у этого SteamID, группы не важны |
| Группе | право получают все, кто в группе |
| Через родителя | дочерняя группа забирает права родительской |
Родитель нужен, когда «модератор» должен включать всё, что уже есть у vip, и ещё пару своих команд.
Управление группами
Скобки в примеры не копируйте. На их место встаёт имя группы или SteamID.
Список и просмотр
oxide.show groups
oxide.show group adminWARNING
oxide.show group default (и c.show group default) печатает каждого, кто хоть раз заходил. На живом сервере список огромный и может подвесить RCON. Смотрите именную группу.
Создание и удаление
oxide.group add vip
oxide.group add vip "VIP" 0
oxide.group remove vipВторая форма сразу задаёт подпись и ранг. 0 — число ранга, не количество людей.
Добавление и удаление игроков
oxide.usergroup add 76561198000000000 vip
oxide.usergroup remove 76561198000000000 vipНик в чате для этого не нужен. Steam64 не путается, если человек сменил имя.
Настройка и иерархия
oxide.group set vip "[VIP]"
oxide.group set vip "[VIP]" 1
oxide.group parent vip defaultparent вешает на vip права группы default. Пустой родитель связь снимает. Замкнутый круг (группа наследует сама себя через цепочку) права ломает.
На каждый день хватает трёх действий: создать группу, выдать ей права, добавить игрока. Остальные команды нужны, когда групп становится много.
Управление разрешениями
Проверка разрешений
oxide.show user 76561198000000000
oxide.show group vip
oxide.show perm vanish.use
oxide.show permsshow user отвечает на вопрос, почему команда не сработала: там и группы, и личные права. show perms пуст по нужному имени, если плагин не загружен.
Выдача и удаление
oxide.grant user 76561198000000000 vanish.use
oxide.grant group vip vanish.use
oxide.revoke user 76561198000000000 vanish.use
oxide.revoke group vip vanish.useНа Carbon:
c.grant group vip vanish.use
c.revoke group vip vanish.useОбычная схема — права на группу, людей в группу. Личная выдача нужна, когда исключение одно. И grant, и группа держатся постоянно. Срок «до вайпа» или «на час» делает отдельный плагин, см. временные права. Так устроен и донат: магазин кладёт человека в vip на оплаченный срок и потом убирает.
Точное имя права смотрите на странице товара. У Vanish в конфиге, который создаёт сам плагин, это vanish.use.
Полезные советы
Команды выше закрывают модерацию и донат. Плагины с меню на сервере делают то же самое кнопками. Консоль всё равно стоит уметь: RCON работает, даже когда игровое меню плагина не открылось.
Устранение неполадок
- Прочитайте консоль сервера. Ошибка группы или неизвестного права пишется туда.
oxide.show user <Steam64>— есть ли группа и само право.- Проверьте родителей: цепочка не должна замыкаться.
- Файлы прав на Oxide лежат в
server/server1/oxide/data. На Carbon при базе SQLite этоserver/server1/carbon.perms.db. Процесс держит файл открытым. Останавливайте сервер, прежде чем копировать или править его снаружи.