PermissionsEX

Материал из Playzone Minecraft Wiki
Перейти к: навигация, поиск

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

Установка

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

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

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

groups: 
   default: 
       default: true 
       permissions: 
       - modifyworld.*

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

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

groups: 
   default: 
       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.
Звездочка ('*') означает, что у группы/игрока есть абсолютно все права на все плагины, установленные на сервере.
user: - означает, что ниже идут права отдельных игроков.
BigBoss: - имя игрока для которого настраиваются отдельные права.
group: Admins - указывает на то, что игрок входит в группу Admins
rank: - ранг игрока.

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

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

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

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

  • Добавление префиксов и суффиксов будет работать только если включен Chat Manager.
  • Значение параметров: <такой> параметр обязателен для указания; [такой] параметр - опциональный.
  • Параметр [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> group add <group> [world] [lifetime] permissions.manage.membership.<user> Добавить игрока <user> в группу <group>
/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.manage.groups.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.memebership.<group> Показать всех игроков в группе <group>
/pex group <group> user add <user> [world] permissions.manage.memebership.<group> Добавить игрока/игроков <user> в группу <group>
/pex group <group> user remove <user> [world] permissions.manage.memebership.<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>

Ссылки

PermissionsEX на BukkitDev
PermissionsEX в викиeng