Skip to content

Руководство по разрешениям (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-консоль, что в последующем добавит вам более качественный опыт в управлении сервером

Устранение неполадок

Если разрешения работают не так, как ожидалось, следуйте этим шагам:

  1. Проверьте консоль сервера. Oxide часто выводит в консоль ошибки, связанные с разрешениями и группами.
  2. Проверьте права пользователя. Используйте oxide.show user [имя], чтобы увидеть полный список его разрешений (выданных напрямую и через группы).
  3. Проверьте родительские связи. Убедитесь, что иерархия наследования групп настроена верно и не содержит циклов.
  4. Проверьте файлы данных. Права хранятся в файлах oxide.users и oxide.groups. Если вы подозреваете повреждение данных, можно отредактировать или удалить эти файлы вручную (предварительно сделав резервную копию).

Опубликовано под лицензией MIT.
Данный проект не является официальной документацией Facepunch/Rust.
Это общественная база знаний, созданная для удобства администраторов и игроков.