PermissionsEX — различия между версиями
Jebati (обсуждение | вклад) |
Jebati (обсуждение | вклад) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 2: | Строка 2: | ||
− | + | == Установка == | |
− | + | # Скачать последнюю версию плагина: '''[http://dev.bukkit.org/server-mods/permissionsex ссылка]''' | |
− | + | # Поместить '''PermissionsEX.jar''' в папку '''plugins/''' на сервере. | |
− | + | # Перезапустить сервер. | |
− | + | == Использование == | |
− | Для распределения прав игрокам нужно отредактировать файл permissions.yml по адресу plugins/PermissionsEx. Это можно сделать с помощью любого текстового редактора, но для удобности рекомендуется использовать Notepad++ | + | Для распределения прав игрокам нужно отредактировать файл permissions.yml по адресу plugins/PermissionsEx. Это можно сделать с помощью любого текстового редактора, но для удобности рекомендуется использовать [http://notepad-plus-plus.org Notepad++]<br /> |
− | Открыв его мы увидим: | + | Открыв его мы увидим:<br /> |
− | groups: | + | groups: |
− | + | default: | |
− | + | default: true | |
− | + | permissions: | |
− | + | — modifyworld.* | |
− | Значение этих строк следующее: | + | Значение этих строк следующее:<br /> |
− | groups: — указывает, что ниже будут идти группы и их права. | + | '''groups:''' — указывает, что ниже будут идти группы и их права.<br /> |
− | default: — название группы, куда попадают все только что зашедшие на сервер игроки, если они не прописаны в других группах. Вы можете менять это название на какое захотите. | + | '''default:''' — название группы, куда попадают все только что зашедшие на сервер игроки, если они не прописаны в других группах. Вы можете менять это название на какое захотите.<br /> |
− | default: true — параметр, который задаёт группу, как группу по-умолчанию. То есть, все права этой группы будет иметь любой игрок, для которого не определены другие группы и/или исключения. | + | '''default:''' true — параметр, который задаёт группу, как группу по-умолчанию. То есть, все права этой группы будет иметь любой игрок, для которого не определены другие группы и/или исключения.<br /> |
− | permissions: — все, что идёт ниже, это и есть сами "права" для группы, сюда нужно прописывать permissions от различных плагинов установленных на вашем сервере. Значение null означает, что у группы/игрока нет никаких прав. | + | '''permissions:''' — все, что идёт ниже, это и есть сами "права" для группы, сюда нужно прописывать permissions от различных плагинов установленных на вашем сервере. Значение ''null'' означает, что у группы/игрока нет никаких прав.<br /> |
− | - modifyworld.* — возможность "модифицировать" мир. Если Вы не намерены конкретно определять, что игроки могут или не могут изменять в игровом мире, то это право лучше оставить как есть, а если намеренны, то смотрите в Modifyworld. | + | '''- modifyworld.*''' — возможность "модифицировать" мир. Если Вы не намерены конкретно определять, что игроки могут или не могут изменять в игровом мире, то это право лучше оставить как есть, а если намеренны, то смотрите в [https://github.com/PEXPlugins/PermissionsEx/wiki/Modifyworld Modifyworld].<br /> |
− | Рассмотрим как мы можем отредактировать данный файл: | + | Рассмотрим как мы можем отредактировать данный файл:<br /> |
− | groups: | + | groups: |
− | + | player: true (Для включения автомотической выдачи игрока) | |
− | + | default: true | |
− | + | permissions: | |
− | + | — modifyworld.* | |
− | + | Admins: | |
− | + | default: false | |
− | + | inheritance: | |
− | + | — default | |
− | + | permissions: | |
− | + | — '*' | |
− | users: | + | users: |
− | + | BigBoss: | |
− | + | group: | |
− | + | — Admins | |
− | + | options: | |
− | + | rank: '1' | |
− | + | permissions: | |
− | Здесь мы добавили новую группу Admins, а также права для отдельного игрока BigBoss:. | + | Здесь мы добавили новую группу '''Admins''', а также права для отдельного игрока '''BigBoss:'''.<br /> |
− | default: false — означает, что данная группа не является группой по-умолчанию. | + | '''default:''' false — означает, что данная группа '''не является''' группой по-умолчанию.<br /> |
− | inheritance: — параметр, с помощью которого можно установить наследственность прав определённой группы, в данном случае — это группа default. Это значит, что Вам не придётся еще раз прописывать права группы default для группы Admins. | + | '''inheritance:''' — параметр, с помощью которого можно установить наследственность прав определённой группы, в данном случае — это группа '''default'''. Это значит, что Вам не придётся еще раз прописывать права группы '''default''' для группы '''Admins'''.<br /> |
− | Звездочка ('*') означает, что у группы/игрока есть абсолютно все права на все плагины, установленные на сервере. | + | Звездочка ('*') означает, что у группы/игрока есть абсолютно все права на все плагины, установленные на сервере.<br /> |
− | users: — означает, что ниже идут права отдельных игроков. | + | '''users:''' — означает, что ниже идут права отдельных игроков.<br /> |
− | BigBoss: — имя игрока для которого настраиваются отдельные права. | + | '''BigBoss:''' — имя игрока для которого настраиваются отдельные права.<br /> |
− | group: Admins — указывает на то, что игрок входит в группу Admins | + | '''group: Admins''' — указывает на то, что игрок входит в группу '''Admins'''<br /> |
− | rank: — ранг игрока. | + | '''rank:''' — [[PermissionsEX/Ранг|ранг]] игрока.<br /> |
− | Если Вы хотите раскрасить ники игроков и добавить к ним префиксы и суффиксы то нужно включить и настроить в permissions.yml Chat Manager. | + | Если Вы хотите раскрасить ники игроков и добавить к ним префиксы и суффиксы то нужно включить и настроить в permissions.yml [[PermissionsEX/Chat Manager|Chat Manager]]. |
− | Важно! В YAML нужно чётко соблюдать последовательность, один лишний пробел — и параметр работать не будет. Поэтому для проверки permissions.yml рекомендуется использовать этот сайт. Там в левое окошко нужно вставить ваш код из permissions.yml, и если в правом окне не выдаст ошибок, то код написан правильно и он будет работать, если будут ошибки, то оно выдаст номер забракованной строки. | + | '''Важно!''' В YAML нужно чётко соблюдать последовательность, один лишний пробел — и параметр работать не будет. Поэтому для проверки permissions.yml рекомендуется использовать [http://yaml-online-parser.appspot.com этот] сайт. Там в левое окошко нужно вставить ваш код из permissions.yml, и если в правом окне не выдаст ошибок, то код написан правильно и он будет работать, если будут ошибки, то оно выдаст номер забракованной строки. |
− | + | == Команды и права == | |
С помощью следующих команд вы можете управлять PEX прямо через консоль или игровой чат, не редактируя файл permissions.yml | С помощью следующих команд вы можете управлять PEX прямо через консоль или игровой чат, не редактируя файл permissions.yml | ||
− | Добавление префиксов и суффиксов будет работать только если включен Chat Manager или EssentialsChat (начиная с 1.6.4). | + | *Добавление префиксов и суффиксов будет работать только если включен [[PermissionsEX/Chat Manager|Chat Manager]] или EssentialsChat (начиная с 1.6.4). |
− | Значение параметров: <такой> параметр обязателен для указания; [такой] параметр — опциональный. | + | *Значение параметров: <такой> параметр обязателен для указания; [такой] параметр — опциональный. |
− | Параметр [world] позволяет локализировать действие команды в определенном мире. | + | *Параметр [world] позволяет локализировать действие команды в определенном мире. |
− | Там где упоминается единственное/множественное можно перечислять параметры через запятую. | + | *Там где упоминается единственное/множественное можно перечислять параметры через запятую. |
− | + | === Служебные === | |
+ | {| class="wikitable" width="100%" border="1" | ||
+ | |- | ||
+ | ! width="30%" | Команда | ||
+ | ! width="30%" | Permission | ||
+ | ! width="40%" | Описание | ||
+ | |- | ||
+ | |/pex || permissions.manage ||| Показывает помощь по PEX | ||
+ | |- | ||
+ | |/pex toggle debug || permissions.manage ||| Вкл./откл. режим отладки (создает много отладочной информации в server.log) | ||
+ | |- | ||
+ | |/pex user <user> check <permission> || permissions.manage.<user> ||| Проверить право <permission> игрока <user> | ||
+ | |- | ||
+ | |/pex reload || permissions.manage.reload ||| Перезагружает плагин | ||
+ | |- | ||
+ | |/pex config <node> [value] || permissions.manage.config ||| Выводит значение <node> из конфигурации PEX. Дополнительно можно ввести [value] чтобы задать новое значения для параметра. | ||
+ | |- | ||
+ | |/pex backend || permissions.manage.backend ||| Вывести используемые на данный момент бэкенды. | ||
+ | |- | ||
+ | |/pex backend <backend> || permissions.manage.backend ||| Change the permissions backend on-the-fly (Use with caution!) Note that this will only change the backend on-the-fly, it will not save the change in the config file, nor will it convert anything. This is for testing only.) | ||
+ | |- | ||
+ | |/pex hierarchy || permissions.manage.users ||| Показывает полную иерархию игроков/групп | ||
+ | |- | ||
+ | |/pex dump <backend> <filename> || permissions.manage.dump ||| Создает дамп пользователей и групп в выбранный формат <backend> в файл <filename> | ||
+ | |} | ||
+ | === Управление правами игроков === | ||
+ | {| class="wikitable" width="100%" border="1" | ||
+ | |- | ||
+ | ! width="30%" | Команда | ||
+ | ! width="30%" | Permission | ||
+ | ! width="40%" | Описание | ||
+ | |- | ||
+ | |/pex users || permissions.manage.users ||| Показывает список всех записанных пользователей. И игроков сервера | ||
+ | |- | ||
+ | |/pex user <user> [world] || permissions.manage.users ||| Показывает права игрока <user> | ||
+ | |- | ||
+ | |/pex user <user> prefix [newprefix] [world] || permissions.manage.users.prefix.<user> ||| Установить игроку <user> префикс [newprefix] | ||
+ | |- | ||
+ | |/pex user <user> suffix [newsuffix] [world] || permissions.manage.users.suffix.<user> ||| Установить игроку <user> суффикс [newsuffix] | ||
+ | |- | ||
+ | |/pex user <user> delete || permissions.manage.users.<user> ||| Удалить игрока <user> из бэкенда, используемого на данный момент. | ||
+ | |- | ||
+ | |/pex user <user> add <permission> [world] || permissions.manage.users.permissions.<user> ||| Дать право <permission> игроку <user> | ||
+ | |- | ||
+ | |/pex user <user> remove <permission> [world] || permissions.manage.users.permissions.<user> ||| Забрать право <permission> у игрока <user> | ||
+ | |- | ||
+ | |/pex user <user> timed add <permission> [lifetime] [world] || permissions.manage.users.permissions.timed.<user> ||| Дать временное право <permission> игроку <user> на время [lifetime] (в сек.) Выставите значение на "" (две двойные скобки) если вы хотите использовать право во всех мирах! | ||
+ | |- | ||
+ | |/pex user <user> timed remove <permission> || permissions.manage.users.permissions.timed.<user> ||| Забрать у игрока <user> временное право <permission> | ||
+ | |- | ||
+ | |/pex user <user> set <option> <value> [world] || permissions.manage.users.permissions.<user> ||| Выставить опцию <option> на значение <value>. Выставите значение на "" (две двойные кавычки) если вы хотите убрать опцию <option> | ||
+ | |} | ||
− | + | === Управление правами групп игроков === | |
− | + | {| class="wikitable" width="100%" border="1" | |
− | + | |- | |
+ | ! width="30%" | Команда | ||
+ | ! width="30%" | Permission | ||
+ | ! width="40%" | Описание | ||
+ | |- | ||
+ | |/pex user <user> group list [world] || permissions.manage.membership.<user> ||| Показать список групп в которых состоит игрок <user> | ||
+ | |- | ||
+ | |/pex user <user> timed add <group> <time> [*][min\hour\day] = [3min] || permissions.manage.membership.<user> ||| Добавить игрока <user> в группу <group> на время [lifetime] | ||
+ | |- | ||
+ | |/pex user <user> group set <group> [world] || permissions.manage.membership.<user> ||| Установить группу <group> для игрока <user> (удалит его из остальных групп) | ||
+ | |- | ||
+ | |/pex user <user> group remove <group> [world] || permissions.manage.membership.<user> ||| Удалить игрока <user> из группы <group> | ||
+ | |} | ||
− | /pex | + | === Управление правами групп === |
+ | {| class="wikitable" width="100%" border="1" | ||
+ | |- | ||
+ | ! width="30%" | Команда | ||
+ | ! width="30%" | Permission | ||
+ | ! width="40%" | Описание | ||
+ | |- | ||
+ | |/pex groups || permissions.manage.groups.list ||| Показать все зарегистрированные группы | ||
+ | |- | ||
+ | |/pex default group [world] || permissions.manage.groups.inheritance ||| Показать группу по-умолчанию | ||
+ | |- | ||
+ | |/pex set default group <group> [world] || permissions.manage.groups.inheritance ||| Установить группу <group>, как группу по-умолчанию | ||
+ | |- | ||
+ | |/pex group <group> prefix [newprefix] [world] || permissions.manage.groups.prefix.<group> ||| Установить группе <group> префикс [newprefix] | ||
+ | |- | ||
+ | |/pex group <group> suffix [newsuffix] [world] || permissions.manage.groups.suffix.<group> ||| Установить группе <group> суффикс [newsuffix] | ||
+ | |- | ||
+ | |/pex group <group> create [parents] || permissions.manageups.create.<group> ||| Создать группу <group> и если нужно установить для нее родительскую группу/группы [parents] | ||
+ | |- | ||
+ | |/pex group <group> delete || permissions.manage.groups.remove.<group> ||| Удалить группу <group> | ||
+ | |- | ||
+ | |/pex group <group> parents [world] || permissions.manage.groups.inheritance.<group> ||| Список родительских групп для группы <group> | ||
+ | |- | ||
+ | |/pex group <group> parents set <parents> [world]|| permissions.manage.groups.inheritance.<group> ||| Установить группе <group> родительскую группу/группы <parents> | ||
+ | |- | ||
+ | |/pex group <group> || permissions.manage.groups.permissions.<group> ||| Показать все права группы <group> | ||
+ | |- | ||
+ | |/pex group <group> add <permission> [world] || permissions.manage.groups.permissions.<group> ||| Дать право <permission> группе <group> | ||
+ | |- | ||
+ | |/pex group <group> remove <permission> [world] || permissions.manage.groups.permissions.<group> ||| Забрать право <permission> у группы <group> | ||
+ | |- | ||
+ | |/pex group <group> timed add <permission> [lifetime] [world] || permissions.manage.groups.permissions.timed.<group> ||| Дать временное право <permission> группе <group> на время [lifetime] (в сек.) | ||
+ | |- | ||
+ | |/pex group <group> timed remove <permission> [world] || permissions.manage.groups.permissions.timed.<group> ||| Забрать временное право <permission> у группы <group> | ||
+ | |- | ||
+ | |/pex group <group> set <option> <value> [world] || permissions.manage.groups.permissions.<group> ||| Выставить опцию <option> значение <value> для <group>. Выставите значение на "" (две двойные кавычки) если вы хотите убрать опцию <option> | ||
+ | |- | ||
+ | |/pex group <group> weight [value] || permissions.manage.groups.weight.<group> ||| Показать/установить вес группы | ||
+ | |} | ||
− | /pex | + | === Управление игроками в группах === |
+ | {| class="wikitable" width="100%" border="1" | ||
+ | |- | ||
+ | ! width="30%" | Команда | ||
+ | ! width="30%" | Permission | ||
+ | ! width="40%" | Описание | ||
+ | |- | ||
+ | |/pex group <group> users || permissions.manage.membership.<group> ||| Показать всех игроков в группе <group> | ||
+ | |- | ||
+ | |/pex group <group> user add <user> [world] [time] || permissions.manage.membership.<group> ||| Добавить игрока/игроков <user> в группу <group> на время [time] | ||
+ | |- | ||
+ | |/pex group <group> user remove <user> [world] || permissions.manage.membership.<group> ||| Удалить игрока/игроков из группы <group> | ||
+ | |- | ||
+ | |/pex promote <user> <ladder> || permissions.user.promote.<ladder> ||| Повысить игрока <user> в высшую группу <ladder> | ||
+ | |- | ||
+ | |/pex demote <user> <ladder> || permissions.user.demote.<ladder> ||| Понизить игрока <user> в низшую группу <ladder> | ||
+ | |- | ||
+ | |} | ||
− | /pex | + | === Управление наследственностью миров === |
+ | {| class="wikitable" width="100%" border="1" | ||
+ | |- | ||
+ | ! width="30%" | Команда | ||
+ | ! width="30%" | Permission | ||
+ | ! width="40%" | Описание | ||
+ | |- | ||
+ | |/pex worlds || permissions.manage.worlds ||| Показать загруженные миры | ||
+ | |- | ||
+ | |/pex world <world> || permissions.manage.worlds ||| Показать информацию о наследственности мира <world> | ||
+ | |- | ||
+ | |/pex world <world> inherit <parentWorlds> || permissions.manage.worlds.inheritance ||| Установить родительский мир/миры <parentWorlds> для мира <world> | ||
+ | |} | ||
− | + | == Критика == | |
+ | API полномочий Bukkit’а (также называющееся “superperms”) был разработан с целью централизации конфигурации прав пользователей, отсутствия необходимости поиска плагинов, которые были бы совместимы с какой-то определенной системой прав. Все текущие плагины полностью поддерживают ‘superperms’, кроме PermissionsEx. | ||
+ | PEX же работает против этой системы путем встраивания собственного кода. Это вызывало проблемы как у PEX, так и в самом Bukkit'е. Реализация "superperms" очень слабая, в некоторых случаях приводящая к серьезным сбоям. PEX пытается перенаправить все проверки привилегий через свою собственную систему, вместо работы с "superperms" Bukkit'а. | ||
− | + | С версии 1.13 PEX поддерживает superperms | |
+ | === Что не так? === | ||
+ | * Неверная реализация дочерних привилегий. Может привести к тому, что у пользователей есть привилегии, которых им не давали напрямую. | ||
+ | * PEX приводит к проблемам в других плагинах.<ref>Шаги к повтору — [https://docs.google.com/document/d/1BIgAU7senSG1hY0BjQAQFAnbuOqFhpln7ffN6pkOp4s/edit|Why PermissionsEx is broken] — Things PermissionsEx has broken — Breaks other plugins without error messages</ref> | ||
+ | * Дэдлоки. Фриз сервера с комментарием ‘Read timed out’. | ||
+ | * Когда PEX вылетает, вместе с ним в небытие уходит множество других плагинов (в силу жесткого встраивания кода в Bukkit). | ||
+ | * Использование SQL приводит к лагам сервера. При удалении/добавлении привилегии происходит '''полная''' перезапись всех привилегий пользователя на сервере. | ||
− | + | === Что использовать вместо PEX? === | |
− | + | * [http://dev.bukkit.org/server-mods/bpermissions/ bPermissions]. На данный момент единственная замена с возможностью импорта конфигурации PEX. | |
− | / | + | * [http://dev.bukkit.org/server-mods/permbukkit/ PermissionsBukkit]. |
− | + | * [http://dev.bukkit.org/server-mods/privileges/ Privileges]. | |
− | / | + | |
− | + | ||
− | / | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | / | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | / | + | |
− | + | ||
− | / | + | |
− | + | ||
− | / | + | |
− | + | ||
− | / | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | / | + | |
− | + | ||
− | + | ||
− | + | ||
− | / | + | |
− | + | ||
− | / | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | / | + | |
− | + | ||
− | + | ||
− | + | ||
− | / | + | |
− | + | ||
− | / | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Текущая версия на 12:27, 11 декабря 2016
PermissionsEX (PEX) — плагин который позволяет легко разграничивать полномочия игроков на сервере. Имеет встроенные дополнения Modifyworld, которое дает возможность определять что игроки могут или не могут изменять в игровом мире.
Содержание |
Установка
- Скачать последнюю версию плагина: ссылка
- Поместить PermissionsEX.jar в папку plugins/ на сервере.
- Перезапустить сервер.
Использование
Для распределения прав игрокам нужно отредактировать файл permissions.yml по адресу plugins/PermissionsEx. Это можно сделать с помощью любого текстового редактора, но для удобности рекомендуется использовать Notepad++
Открыв его мы увидим:
groups: default: default: true permissions: — modifyworld.*
Значение этих строк следующее:
groups: — указывает, что ниже будут идти группы и их права.
default: — название группы, куда попадают все только что зашедшие на сервер игроки, если они не прописаны в других группах. Вы можете менять это название на какое захотите.
default: true — параметр, который задаёт группу, как группу по-умолчанию. То есть, все права этой группы будет иметь любой игрок, для которого не определены другие группы и/или исключения.
permissions: — все, что идёт ниже, это и есть сами "права" для группы, сюда нужно прописывать permissions от различных плагинов установленных на вашем сервере. Значение null означает, что у группы/игрока нет никаких прав.
- modifyworld.* — возможность "модифицировать" мир. Если Вы не намерены конкретно определять, что игроки могут или не могут изменять в игровом мире, то это право лучше оставить как есть, а если намеренны, то смотрите в Modifyworld.
Рассмотрим как мы можем отредактировать данный файл:
groups: player: true (Для включения автомотической выдачи игрока) default: true permissions: — modifyworld.* Admins: default: false inheritance: — default permissions: — '*' users: BigBoss: group: — Admins options: rank: '1' permissions:
Здесь мы добавили новую группу Admins, а также права для отдельного игрока BigBoss:.
default: false — означает, что данная группа не является группой по-умолчанию.
inheritance: — параметр, с помощью которого можно установить наследственность прав определённой группы, в данном случае — это группа default. Это значит, что Вам не придётся еще раз прописывать права группы default для группы Admins.
Звездочка ('*') означает, что у группы/игрока есть абсолютно все права на все плагины, установленные на сервере.
users: — означает, что ниже идут права отдельных игроков.
BigBoss: — имя игрока для которого настраиваются отдельные права.
group: Admins — указывает на то, что игрок входит в группу Admins
rank: — ранг игрока.
Если Вы хотите раскрасить ники игроков и добавить к ним префиксы и суффиксы то нужно включить и настроить в permissions.yml Chat Manager.
Важно! В YAML нужно чётко соблюдать последовательность, один лишний пробел — и параметр работать не будет. Поэтому для проверки permissions.yml рекомендуется использовать этот сайт. Там в левое окошко нужно вставить ваш код из permissions.yml, и если в правом окне не выдаст ошибок, то код написан правильно и он будет работать, если будут ошибки, то оно выдаст номер забракованной строки.
Команды и права
С помощью следующих команд вы можете управлять PEX прямо через консоль или игровой чат, не редактируя файл permissions.yml
- Добавление префиксов и суффиксов будет работать только если включен Chat Manager или EssentialsChat (начиная с 1.6.4).
- Значение параметров: <такой> параметр обязателен для указания; [такой] параметр — опциональный.
- Параметр [world] позволяет локализировать действие команды в определенном мире.
- Там где упоминается единственное/множественное можно перечислять параметры через запятую.
Служебные
Команда | Permission | Описание |
---|---|---|
/pex | permissions.manage | Показывает помощь по PEX |
/pex toggle debug | permissions.manage | Вкл./откл. режим отладки (создает много отладочной информации в server.log) |
/pex user <user> check <permission> | permissions.manage.<user> | Проверить право <permission> игрока <user> |
/pex reload | permissions.manage.reload | Перезагружает плагин |
/pex config <node> [value] | permissions.manage.config | Выводит значение <node> из конфигурации PEX. Дополнительно можно ввести [value] чтобы задать новое значения для параметра. |
/pex backend | permissions.manage.backend | Вывести используемые на данный момент бэкенды. |
/pex backend <backend> | permissions.manage.backend | Change the permissions backend on-the-fly (Use with caution!) Note that this will only change the backend on-the-fly, it will not save the change in the config file, nor will it convert anything. This is for testing only.) |
/pex hierarchy | permissions.manage.users | Показывает полную иерархию игроков/групп |
/pex dump <backend> <filename> | permissions.manage.dump | Создает дамп пользователей и групп в выбранный формат <backend> в файл <filename> |
Управление правами игроков
Команда | Permission | Описание |
---|---|---|
/pex users | permissions.manage.users | Показывает список всех записанных пользователей. И игроков сервера |
/pex user <user> [world] | permissions.manage.users | Показывает права игрока <user> |
/pex user <user> prefix [newprefix] [world] | permissions.manage.users.prefix.<user> | Установить игроку <user> префикс [newprefix] |
/pex user <user> suffix [newsuffix] [world] | permissions.manage.users.suffix.<user> | Установить игроку <user> суффикс [newsuffix] |
/pex user <user> delete | permissions.manage.users.<user> | Удалить игрока <user> из бэкенда, используемого на данный момент. |
/pex user <user> add <permission> [world] | permissions.manage.users.permissions.<user> | Дать право <permission> игроку <user> |
/pex user <user> remove <permission> [world] | permissions.manage.users.permissions.<user> | Забрать право <permission> у игрока <user> |
/pex user <user> timed add <permission> [lifetime] [world] | permissions.manage.users.permissions.timed.<user> | Дать временное право <permission> игроку <user> на время [lifetime] (в сек.) Выставите значение на "" (две двойные скобки) если вы хотите использовать право во всех мирах! |
/pex user <user> timed remove <permission> | permissions.manage.users.permissions.timed.<user> | Забрать у игрока <user> временное право <permission> |
/pex user <user> set <option> <value> [world] | permissions.manage.users.permissions.<user> | Выставить опцию <option> на значение <value>. Выставите значение на "" (две двойные кавычки) если вы хотите убрать опцию <option> |
Управление правами групп игроков
Команда | Permission | Описание |
---|---|---|
/pex user <user> group list [world] | permissions.manage.membership.<user> | Показать список групп в которых состоит игрок <user> |
/pex user <user> timed add <group> | permissions.manage.membership.<user> | Добавить игрока <user> в группу <group> на время [lifetime] |
/pex user <user> group set <group> [world] | permissions.manage.membership.<user> | Установить группу <group> для игрока <user> (удалит его из остальных групп) |
/pex user <user> group remove <group> [world] | permissions.manage.membership.<user> | Удалить игрока <user> из группы <group> |
Управление правами групп
Команда | Permission | Описание |
---|---|---|
/pex groups | permissions.manage.groups.list | Показать все зарегистрированные группы |
/pex default group [world] | permissions.manage.groups.inheritance | Показать группу по-умолчанию |
/pex set default group <group> [world] | permissions.manage.groups.inheritance | Установить группу <group>, как группу по-умолчанию |
/pex group <group> prefix [newprefix] [world] | permissions.manage.groups.prefix.<group> | Установить группе <group> префикс [newprefix] |
/pex group <group> suffix [newsuffix] [world] | permissions.manage.groups.suffix.<group> | Установить группе <group> суффикс [newsuffix] |
/pex group <group> create [parents] | permissions.manageups.create.<group> | Создать группу <group> и если нужно установить для нее родительскую группу/группы [parents] |
/pex group <group> delete | permissions.manage.groups.remove.<group> | Удалить группу <group> |
/pex group <group> parents [world] | permissions.manage.groups.inheritance.<group> | Список родительских групп для группы <group> |
/pex group <group> parents set <parents> [world] | permissions.manage.groups.inheritance.<group> | Установить группе <group> родительскую группу/группы <parents> |
/pex group <group> | permissions.manage.groups.permissions.<group> | Показать все права группы <group> |
/pex group <group> add <permission> [world] | permissions.manage.groups.permissions.<group> | Дать право <permission> группе <group> |
/pex group <group> remove <permission> [world] | permissions.manage.groups.permissions.<group> | Забрать право <permission> у группы <group> |
/pex group <group> timed add <permission> [lifetime] [world] | permissions.manage.groups.permissions.timed.<group> | Дать временное право <permission> группе <group> на время [lifetime] (в сек.) |
/pex group <group> timed remove <permission> [world] | permissions.manage.groups.permissions.timed.<group> | Забрать временное право <permission> у группы <group> |
/pex group <group> set <option> <value> [world] | permissions.manage.groups.permissions.<group> | Выставить опцию <option> значение <value> для <group>. Выставите значение на "" (две двойные кавычки) если вы хотите убрать опцию <option> |
/pex group <group> weight [value] | permissions.manage.groups.weight.<group> | Показать/установить вес группы |
Управление игроками в группах
Команда | Permission | Описание |
---|---|---|
/pex group <group> users | permissions.manage.membership.<group> | Показать всех игроков в группе <group> |
/pex group <group> user add <user> [world] [time] | permissions.manage.membership.<group> | Добавить игрока/игроков <user> в группу <group> на время [time] |
/pex group <group> user remove <user> [world] | permissions.manage.membership.<group> | Удалить игрока/игроков из группы <group> |
/pex promote <user> <ladder> | permissions.user.promote.<ladder> | Повысить игрока <user> в высшую группу <ladder> |
/pex demote <user> <ladder> | permissions.user.demote.<ladder> | Понизить игрока <user> в низшую группу <ladder> |
Управление наследственностью миров
Команда | Permission | Описание |
---|---|---|
/pex worlds | permissions.manage.worlds | Показать загруженные миры |
/pex world <world> | permissions.manage.worlds | Показать информацию о наследственности мира <world> |
/pex world <world> inherit <parentWorlds> | permissions.manage.worlds.inheritance | Установить родительский мир/миры <parentWorlds> для мира <world> |
Критика
API полномочий Bukkit’а (также называющееся “superperms”) был разработан с целью централизации конфигурации прав пользователей, отсутствия необходимости поиска плагинов, которые были бы совместимы с какой-то определенной системой прав. Все текущие плагины полностью поддерживают ‘superperms’, кроме PermissionsEx. PEX же работает против этой системы путем встраивания собственного кода. Это вызывало проблемы как у PEX, так и в самом Bukkit'е. Реализация "superperms" очень слабая, в некоторых случаях приводящая к серьезным сбоям. PEX пытается перенаправить все проверки привилегий через свою собственную систему, вместо работы с "superperms" Bukkit'а.
С версии 1.13 PEX поддерживает superperms
Что не так?
- Неверная реализация дочерних привилегий. Может привести к тому, что у пользователей есть привилегии, которых им не давали напрямую.
- PEX приводит к проблемам в других плагинах.<ref>Шаги к повтору — PermissionsEx is broken — Things PermissionsEx has broken — Breaks other plugins without error messages</ref>
- Дэдлоки. Фриз сервера с комментарием ‘Read timed out’.
- Когда PEX вылетает, вместе с ним в небытие уходит множество других плагинов (в силу жесткого встраивания кода в Bukkit).
- Использование SQL приводит к лагам сервера. При удалении/добавлении привилегии происходит полная перезапись всех привилегий пользователя на сервере.
Что использовать вместо PEX?
- bPermissions. На данный момент единственная замена с возможностью импорта конфигурации PEX.
- PermissionsBukkit.
- Privileges.