Работа с PermissionsEx

PermissionsEx (PEX) — плагин для Spigot и других серверных платформ, который позволяет легко разграничивать полномочия игроков на сервере.

Дополнительные ссылки

Скачать плагин: https://dev.bukkit.org/projects/permissionsex/arrow-up-right

Документация по плагину: https://github.com/PEXPlugins/PermissionsEx/wikiarrow-up-right

Выдача групп с помощью PermissionsEx: https://wiki.mcstudio.su/servers/trends/skyblock#privilegiiarrow-up-right

Работа с группами

Файл permissions.yml с правами и группами игроков находится в plugins/PermissionsEx/. Ниже приведен пример простой группы у которой нет никаких прав. # - комментарии к каждой строке.

groups: #Группы, с данной строки начинается перечисление существующих групп
  default: #Название группы. Именно оно будет использоваться для выдачи группы.
    permissions: #Список прав, каждое новое право выводится по примеру ниже
    - modifyworld.* #Право
    options: #Опции групп. Например, вы можете сделать эту группу по умолчанию
      default: 'true' #True - означает, что новые игроки будут 
                      #получать данную группу при входе на сервер
      prefix: '&7Игрок &f' #Префикс, который будет выводиться в плагинах с поддержкой Vault
      suffix: '&r' #Суффикс, который будет выводиться в плагинах с поддержкой Vault
    inheritance: [] #Наследование прав от других групп

Создание новой группы

Предположим, что нам нужна новая группа, с названием vip - она наследует права default и имеет собственный префикс:

Как мы видим, группа vip будет наследовать права из группы default, с помощью inheritance.

circle-info

Не нужно переписывать права из предыдущей группы, если идёт наследование предыдущей группы, это сократит объем файла и вам будет проще работать с ним

Вес группы

Мы создали новую группу, но при выдачи через команду /pex user mcstudio group add vip, у нас всё равно остаётся префикс "Игрок". Нам нужно добавить параметр в options - weight. Чем ниже вес - тем группа выше. Например, вес группы default 100, а у группы vip 95, то группа vip будет выше, чем группа default. Таким образом можно установить необходимый приоритет между группами.

Как это выглядит:

Это основные параметры, которые необходимы для полноценной работы групп. Перейдём к настройке самих прав.

Работа с правами

Каждое право вписывается с новой строки, учитывайте синтаксис, чтобы не было лишних пробелов или символов.

triangle-exclamation

Где найти права

Ни для кого не секрет, что права к каждому плагину хранятся на официальной странице плагинов. Для примера мы рассмотрим EssentialsXarrow-up-right. Зачастую разработчик оставляет ссылку на Wiki или права (permissions). Дабы не тратить много времени вы можете использовать сочетание клавиш Ctrl + F для поиска по странице необходимой информации, в нашем случае нужно Wiki. Переходим на официальную документацию EssentialsXarrow-up-right, в левом углу выбираем "Permissions", нас переместит на страницу с правами и командамиarrow-up-right. Давайте рассмотрим интерфейс данной страницы: "Module" - модуль в котором есть это право либо команда, например, для использования права "essentials.build" нужно установить модуль EssentialsAntiBuild, он идёт в архиве с самим Essentials; "Command" - какая команда отвечает за это право, здесь отображается основная команда, но не алиасы, алиасы для команд можете найти тутarrow-up-right; "Permissions" - право, которое нужно для работы команды, но не всегда одного права хватает для этой работы, например, чтобы заработало право "essentials.afk.auto", нам нужно и право "essentials.afk"; "Description" - краткое описание команды, более детальное описание лучше смотреть на отдельной странице с меню. Используйте поиск для более быстрого поиска необходимого права.

Не все разработчики используют отдельные сайты либо страницы для команд и прав, кто-то выводится права и команды прямо на странице плагина. Некоторые разработчики размещают описание команд и прав на GitHub, и подобных сервисах.

circle-exclamation

Выдача прав

Для примера выдадим группе default право на использование команды /spawn, а для vip переключение между режимами выживание и креатива, вот как это будет выглядеть:

Если установить только "essentials.gamemode", то игрок сможет использовать команду /gamemode, но не устанавливать себе необходимый ему режим. Если установить "essentials.gamemode и essentials.gamemode.creative", то игрок может переходить только в /gamemode creative

Запрещаем право

Помимо выдачи права, можно и запретить право на использование чего-либо. Например, у нас есть право "essentials.enchantments.*" на выдачу предметов с любыми чарами, но нам нужно отключить infinity, который можно назначить луку. Для этого нам нужно перед правом поставить "-", таким образом это будет означать, что данное право отключено, пример:

Группа со всеми правами

Чтобы создать группу со всеми правами, ей не нужно назначать наследование (inheritance). Вам нужно просто в permissions указать '*', вот как это выглядит:

Last updated