РазрешенияEX

PermissionsEX (PEX) — плагин для Bukkit, который позволяет легко разграничивать полномочия игроков на сервере. Имеет встроенные дополнения Modifyworld, которое дает возможность определять, что игроки могут или не могут использовать чат в игровом мире, а также ChatManager с помощью которого можно разделить чат на локальный и глобальный, раскрасить ники игроков и добавить к ним префиксы и суффиксы.

Установка

  1. Скачать последнюю версию плагина: PermissionsEX
  2. Поместить PermissionsEX.jar в папке plugins на сервере.
  3. Перезапустить сервер.

Использование

Для распределения игрокам нужно отредактировать файл permissions.yml по адресу plugins/PermissionsEx. Это можно сделать с помощью любого текстового редактора, но для удобности рекомендуется использовать Online YAML Editor
Открытие его мы увидим:

 groups: default: default: true permissions:  - `*` 

Значение этих следующих строк следующего:
groups: — указывает, что ниже будут идти группы и их права.
по умолчанию: — название группы, куда попадают все только что зашедшие на сервер игроков, если они не прописаны в других группах.
default: true — параметр, который задаёт группу, как группу по-умолчанию, может изменить это название.
permissions: — все, что идёт ниже, и это есть сами, есть, все права этой группы будет иметь любой игрок, для которого есть другие группы и/исключения. «права» для группы, сюда нужно прописывать разрешения от различных плагинов на вашем сервере. Значение null означает, что у группы/игрока нет никаких прав.
— modifyworld. * — возможность «модифицировать» мир. Если вы не намерены конкретно определять, то игроки могут или не могут оставить это право в игровом мире, а если намерены, то смотрите в Modifyworld (с версии 1.0 функция плагина modifyworld вшита в плагин PermissionsEx) .

Рассмотрим, как мы можем отредактировать данный файл:

 groups: player: default: true permissions: - modifyworld. * Admins: default: false наследование: - разрешения по умолчанию: - '*' users: BigBoss: group: - Параметры администраторов: rank:  Разрешения "1": 

Здесь мы добавили новую группу Admins , а также права для отдельного игрока BigBoss: .
по умолчанию: false — означает, что это означает что группа является группой по-умолчанию.
наследование: — параметр, с помощью которого можно установить наследственность правоспособной группы, в данном случае — это группа default . Это значит, что Вам не придётся еще раз прописывать права группы default для группы Admins .
Звездочка (‘*’) означает, что у группы/игрока есть абсолютно все права на все плагины, установленные на сервере.
пользователи: — означает, что идут ниже права отдельных игроков.
BigBoss: — имя игрока для которого настраиваются.
группа: Admins — указывает на то, что игрок входит в группу Admins
rank: — ранг игрока.

Предположим, что группа Админы право permissions.manage , данное право позволяет получить полный доступ ко всем командам PermissionsEx. Если Вы захотели ограничить группу в определенном праве ( например permissions.manage.users) , то перед правом нужно ставить две черты:

 groups: Admins: default: false наследование: - разрешения по умолчанию: - permissions.manage - -permissions.  manage.users 

Расположение (выше или ниже) запрещает ающего права (- -permissions.manage.users) по отношению к праву, дающему доступ ко всем командам PermissionsEx (permissions.manage) не имеет значения.

Если вы хотите раскрасить игроков и добавить к ним префиксы и суффиксы, то нужно включить и настроить в permissions.yml Chat Manager.

Важно! В YAML нужно чётко соблюдать последовательность, один лишний пробел — и параметр работать не будет. Поэтому для проверки permissions.yml рекомендуется использовать этот сайт. Там в левое окошко нужно вставить ваш код из permissions.yml, и если в правом окне не выдаст ошибок, то код написан правильно и он будет работать, если будут работать ошибки, то оно выдаст номер забракованной строки.

Команды и права

С помощью следующих команд вы можете управлять PEX прямо через консоль или игровой чат, не редактируя файл permissions.yml

  • Добавление префиксов и суффиксов будет работать только если включен Chat Manager или EssentialsChat (начиная с 1.6.4).
  • Значение параметров: параметр обязателен для указаний; [такой] параметр — опциональный.
  • Параметр [world] позволяет локализировать действие команды в определенном мире.
  • Там где упоминается единственное/множественное можно перечислять параметры через запятую.

Служебные

Команда Разрешение Описание
/pex permissions.manage Показывает помощь по PEX.
/pex toggle debug permissions.manage Вкл./ откл. режим отладки (много отладочной информации в server.log)
/pex user check permissions .manage. Проверить право игрока
/pex reload permissions.manage. перезагрузить Перезагружает плагин
/pex config [value] permissions. manage.config Вывод значения из конфигурации PEX. Дополнительно можно ввести [значение] чтобы задать новое значение для пользователя.
/pex backend permissions.manage.backend Вывести на данный момент бэкенды.
/pex backend permissions.manage .backend Измените базу данных разрешений «на лету» (используйте с осторожностью!) Обратите внимание, что это только изменяет базу данных «на лету», она не сохранит изменения в файле конфигурации и не преобразует ничего . Это только для тестирования.
/pexierarchy permissions.manage.users Показывает полную иерархию игроков/групп
/pex dump permissions.manage.dump Создает пользователей и групп в выбранном формате в файле

Управление правами игроков

Команда Permission Описание
/pex users permissions.manage.users Показывает список всех записанных пользователей. И игроков сервера
/pex user [world] permissions.manage.users Показывает права игрока
/pex user prefix [newprefix] [world] permissions .manage.users.prefix. Установить игроку префикс [newprefix]
/pex user суффикс [новый суффикс] [мир] permissions.manage.users.suffix. Установить игроку суффикс [newsuffix]
/pex user delete permissions.manage.users. Удалить игрок из бэкенда, используемого на данный момент.
/pex user add [world] permissions.manage.users.permissions. Дать право игроку
/ pex user remove [world] permissions.manage.users.permissions. Забрать право у игрока
/pex user group add [world] [Life] permissions.manage.users.permissions.timed. Дать временное право игроку на время [время жизни] (в сек.) Выставите значение на «» (две двойные скобки), если вы хотите использовать право во всех мирах!
/pex user group remove permissions.manage.users.permissions.timed. Забрать у игрока временное право
/pex user set [мир] permissions.manage.users.permissions. Выставить опцию на значение . Выставите значение на «» (две двойные кавычки), если вы хотите убрать опцию

Управление правами групп игроков

Команда Разрешение Описание /pex user список групп [мир] permissions.manage.membership. Показать список групп в составе игрок /pex user group add permissions.manage.membership. Добавить игрока в группу на время [продолжительность жизни] = /pex user group set [world] permissions.manage.membership. Установить группу для игрока (удалит его из остальных групп) /pex user group remove [world] permissions.manage.membership. Удалить игрока из группы

Управление правами групп

Команда Разрешение Описание /pex groups permissions.manage.groups.list Показать все зарегистрированные группы /pex default group [world] permissions.man-default /pex установить группу по умолчанию [world] permissions.manage.groups.inheritance Установить группу , как группу по-умолчанию /pex group prefix [newprefix] [world] permissions.manage.groups.prefix. Установить группу префикс [newprefix] /pex group suffix [newsuffix] [world] permissions.manage.groups.suffix. Установить группу суффикс [newsuffix] /pex group create [parent] permissions.manageups.create. Создать группу и если нужно установить для нее родительскую группу/группу [родители] /pex group delete permissions.manage.groups.remove. Удалить группу /pex group parent [world] permissions.manage. groups.inheritance. Список родительских групп для группы /pex group набор родителей [мир] permissions.manage.groups.inheritance. Установить группу родительскую группу/группу /pex group permissions.manage.groups.permissions. Показать все права группы /pex group add [world] permissions.manage.groups.permissions. Дать право группа /pex group remove [world] permissions.manage.groups.permissions . Забрать право у группы /pex group timed add [время жизни] [мир] permissions.manage.groups.permissions.timed. Дать временное право группа на время [время жизни] (в сек.) /pex group timed remove [world] permissions.manage.groups.permissions.timed. Забрать временное право у группы /pex group set [world] permissions.manage.groups.permissions . Выставить опцию значение для . Выставите значение на «» (две двойные кавычки), если вы хотите убрать опцию /pex group weight [value] permissions.manage.groups.weight. Показать/установить вес группы

Управление игроками в группах

Команда Разрешение Описание
/pex group users permissions.manage.membership. Показать всех игроков в группе
/pex group добавить пользователя [world] [time] permissions.manage.membership. Добавить игрока/игроков в группу на время [время]
/pex group user remove [world] permissions.manage.membership. Удалить игрока /игроков из группы
/pex promotion permissions.user.promote. Повысить игрока в высшую группу
/pex demote permissions.user.demote. Понизить игрока в низшую группу

Управление наследственностью мировоззрения

Команда Permission Описание
/pex worlds permissions.manage. worlds Показать загруженные миры
/pex world permissions.manage. миры Показать информацию о наследственности мира
/pex world наследовать permissions.manage.worlds.inheritance Установить родительский мир/миры для мира

Критика

API-полномочия Bukkit’а (также называемое «superperms») разработан с целью централизации конфигурации пользователей, без необходимости поиска плагинов, которые были бы совместимы с каким-то определенным система прав. Все текущие плагины полностью ‘superperms’, кроме PermissionsEx.PEX же работает против этой системы путем встраивания собственного кода. Это вызывало проблемы как у PEX, так и в самом Bukkit’е. Реализация «суперсермы» очень слабая, в некоторых случаях приводящая к серьезным сбоям. PEX пытается перенаправить все привилегии через свою систему, работы с «superperms» Bukkit’а.

С версии 1.13 PEX поддерживает superperms

Что не так?

  • Неверная реализация дочерних привилегий.
  • PEX приводит к проблемам в других плагинах.
  • Дэдлоки. Фриз сервера с комментарием «Истекло время чтения».
  • Когда PEX вылетает, вместе с ним в небытие уходит множество других плагинов (в силу жесткого встраивания кода в Bukkit).
  • Использование SQL приводит к падению производительности сервера. При удалении/добавлении привилегии происходит полная перезапись всех привилегий пользователя на сервере.

Что использовать PEX?

  • LuckPerms. Имеет возможность импорта настроек PEX, поддерживает набор серверов, включая прокси-сервер (BungeeCord).
  • bPermissions. Имеет возможность импорта настроек PEX.
  • PermissionsBukkit.
  • Privileges.

Примечания

Ссылки

PermissionsEX на BukkitDev
PermissionsEX в вики eng
Критика PEX

Оцените статью
Gamicon.ru
Добавить комментарий