PermissionsEX (PEX) — плагин для Bukkit, который позволяет легко разграничивать полномочия игроков на сервере. Имеет встроенные дополнения Modifyworld, которое дает возможность определять, что игроки могут или не могут использовать чат в игровом мире, а также ChatManager с помощью которого можно разделить чат на локальный и глобальный, раскрасить ники игроков и добавить к ним префиксы и суффиксы.
Установка
- Скачать последнюю версию плагина: PermissionsEX
- Поместить PermissionsEX.jar в папке plugins на сервере.
- Перезапустить сервер.
Использование
Для распределения игрокам нужно отредактировать файл 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 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