Руководство по разрешениям (Permissions)
Разрешения (Permissions) в Oxide/Carbon — это основа управления сервером, позволяющая администраторам точно настраивать, кто и что может делать.
Основы системы разрешений
Управление разрешениями осуществляется через консоль сервера и RCON-инструменты.
Разрешения назначаются пользователям или группам.
Группы удобны для выдачи одинаковых разрешений целым категориям игроков, например VIP привилегия с набором разрешений и другие.
Каждое разрешение — это строка, обычно в формате "название_плагина.разрешение"
Например : epicstuff.use
Когда игрок использует команду, Oxide/Carbon проверяет разрешение и решает - допускать игрока к этому функционалу или нет
Группы по умолчанию:
admin— автоматически назначается игрокам, добавленным в админы сервера (черезownerid).default— автоматически назначается всем игрокам, подключающимся к серверу.
Типы назначения прав
Существует три способа управления доступами :
| Тип | Описание |
|---|---|
| Пользовательские | Права выдаются конкретному игроку, независимо от его групп. |
| Групповые | Права выдаются группе. Все участники группы автоматически их получают. |
| Наследование | Группы могут наследовать права от родительских групп. Это позволяет создавать иерархии (например, модератор наследует права от VIP). |
Управление группами
Группы объединяют игроков с общими разрешениями.
Вот основные команды для работы с ними :
Список и просмотр
- Все группы:
oxide.show groups - Информация о группе:
oxide.show group [название]
Пример:oxide.show group adminВНИМАТЕЛЬНО
Не рекомендуем использовать
oxide.show group default- там находятся все игроки вашего сервера и список может быть очень большим, что может вызвать зависание сервера или RCON
Создание и удаление
- Создать группу:
oxide.group add [название]
Пример:oxide.group add vip - Создать с названием и рангом:
oxide.group add [название] [отображаемое_имя] [ранг]
Пример:oxide.group add vip "VIP" 0 - Удалить группу:
oxide.group remove [название]
Пример:oxide.group remove vip
Добавление и удаление игроков группы
- Добавить игрока:
oxide.usergroup add [имя_игрока] [название_группы]
Пример:oxide.usergroup add Wulf admin - Удалить игрока:
oxide.usergroup remove [имя_игрока] [название_группы]
Пример:oxide.usergroup remove Wulf admin
Настройка и иерархия
- Установить отображаемое имя:
oxide.group set [название] [название_группы_в_чате]
Пример:oxide.group set vip "[VIP Member]" - Установить имя и ранг:
oxide.group set [название] [название_группы_в_чате] [ранг]
Пример:oxide.group set vip "[VIP Member]" 1 - Назначить родительскую группу:
oxide.group parent [группа] [родитель]
Пример:oxide.group parent admin default
Как обычно?
Обычно, для работы с группами используют лишь часть из перечисленной информации, пункты :
- Создание и удаление
- Добавление и удаление игроков группы
Но мы рекомендуем вам ознакомиться с полным функционалом
Управление разрешениями
Эти команды контролируют, какие именно возможности есть у игроков и групп.
Проверка разрешений
- У пользователя:
oxide.show user [имя_игрока]
Пример:oxide.show user Wulf - У группы:
oxide.show group [название_группы]
Пример:oxide.show group admin - Владельцы права:
oxide.show perm [разрешение]
Пример:oxide.show perm epicstuff.use - Все зарегистрированные права:
oxide.show perms
Выдача и удаление
- Выдать разрешение:
- Пользователю:
oxide.grant user [имя_игрока] [разрешение]
Пример:oxide.grant user Wulf epicstuff.use - Группе:
oxide.grant group [название_группы] [разрешение]
Пример:oxide.grant group admin epicstuff.use
- Пользователю:
- Удалить разрешение:
- У пользователя:
oxide.revoke user [имя_игрока] [разрешение]
Пример:oxide.revoke user Wulf epicstuff.use - У группы:
oxide.revoke group [название_группы] [разрешение]
Пример:oxide.revoke group admin epicstuff.use
- У пользователя:
Как обычно?
Обычно для выдачи разрешений - используют разрешения конкретно на группы, выдавая их в последующем игрокам.
Особенно это используется при наличие донат-магазина и временных привилегий
Для временных привилегий используют специальные плагины, т.к встроенные команды назначают разрешения и группы навсегда
Как это можно использовать?
Например если вы создали группу VIP и хотите назначить ей разрешения (наборы/рюкзак и другие возможности из плагинов).
Вам потребуется назначить этой группе все необходимые разрешения и в последующем уже выдавать игроку или продавать через донат-магазин
Полезные советы
Для управления группами и разрешениями существуют различные плагины, которые визуализируют этот процесс прямо на сервере с помощью UI
Но мы рекомендуем вам научиться полноценно пользоваться этими командами через консоль сервера или RCON-консоль, что в последующем добавит вам более качественный опыт в управлении сервером
Устранение неполадок
Если разрешения работают не так, как ожидалось, следуйте этим шагам:
- Проверьте консоль сервера. Oxide часто выводит в консоль ошибки, связанные с разрешениями и группами.
- Проверьте права пользователя. Используйте
oxide.show user [имя], чтобы увидеть полный список его разрешений (выданных напрямую и через группы). - Проверьте родительские связи. Убедитесь, что иерархия наследования групп настроена верно и не содержит циклов.
- Проверьте файлы данных. Права хранятся в файлах
oxide.usersиoxide.groups. Если вы подозреваете повреждение данных, можно отредактировать или удалить эти файлы вручную (предварительно сделав резервную копию).