Скачать настроенный pex. Туториал по настройке PermissionsEx (PEX)

И так, наверно у каждого из вас, кроме опытных держателей серверов имеются проблемы с настройкой прав доступа.
Лично я использую плагин PermissionsEx, так как считаю что это самый лучший плагин распределения прав доступа для серверов.

Что нам понадобится:

1. Notepad++
2. Сам плагин. Последнюю версию можно всегда скачать .
3. Прямые руки. (Обязательный пункт)

И так, начнем.

1. Скачиваем плагин, распаковываем. В папке есть 3 файла:

2. Закидываем файлы в папку с плагинами, запускаем сервер, останавливаем.
Там появились 3 папки:
ChatManager и ModifyWorld

3. Открываем папку PermissionsEx. В этой папке открываем файл permissions.yml с помощью Notepad++
И видим это:

И так, по порядку:
groups: //не трогаем данное слово, оно указывает на то, что ниже будут идти группы и их permissions.
default: //название группы в неё попадают все только что зашедшие на сервер пользователи, если конечно вы не прописали их в другую группу.
default: true // данный параметр задаёт группу, как группу по-умолчанию. это означает, что все права этой группы будет иметь любой игрок, для которого не определены другие группы и/или исключения.
//всё что идёт ниже, это собственно и есть сами «права» для группы, туда нужно прописывать permissions от различных плагинов установленных на вашем сервере.

Groups default: default: true permissions: - modifyworld.* - commandbook.spawn - commandbook.who - commandbook.say - commandbook.msg - myhome.home.soc.* - iConomy.access - iConomy.bank.access - iConomy.bank.deposit - iConomy.bank.join - iConomy.bank.join.multiple - iConomy.bank.leave - iConomy.bank.list - iConomy.bank.main - iConomy.bank.main.change - iConomy.bank.main.set - iConomy.bank.main.view - iConomy.bank.transfer - iConomy.bank.transfer.multiple - iConomy.bank.withdraw - iConomy.list - iConomy.payment - iConomy.rank - jobs.join.* - jobs.world.* - lwc.protect - iConomyChestShop.shop.create - iConomyChestShop.shop.create. - iConomyChestShop.shop.exclude. - iConomyChestShop.shop.buy - iConomyChestShop.shop.sell - iConomyChestShop.command.iteminfo - commandbook.call - commandbook.time.check - commandbook.rules - myhome.home.basic.home - myhome.home.basic.set - myhome.home.basic.delete - myhome.home.soc.invite Moder: default: false inheritance: - Default permissions: - modifyworld.* - commandbook.kick - commandbook.bans.ban - commandbook.bans.unban - commandbook.shock.other - commandbook.rocket.other - commandbook.shock - commandbook.rocket - commandbook.mute - commandbook.teleport.* - commandbook.spawn - commandbook.kit.list - commandbook.who - commandbook.say - commandbook.msg - worldgurad.god - worldguard.ungod - worldguard.god.other - worldguard.ungod.other - worldguard.heal.* - worldguard.slay.* - myhome.* - iConomy.access - iConomy.bank.access - iConomy.bank.deposit - iConomy.bank.join - iConomy.bank.join.multiple - iConomy.bank.leave - iConomy.bank.list - iConomy.bank.main - iConomy.bank.main.change - iConomy.bank.main.set - iConomy.bank.main.view - iConomy.bank.transfer - iConomy.bank.transfer.multiple - iConomy.bank.withdraw - iConomy.list - iConomy.payment - iConomy.rank - jobs.join.* - jobs.world.* - commandbook.whereami.compass - commandbook.whereami - lwc.protect - iConomyChestShop.shop.create - iConomyChestShop.shop.create. - iConomyChestShop.shop.exclude. - iConomyChestShop.shop.buy - iConomyChestShop.shop.sell - iConomyChestShop.command.iteminfo - commandbook.call - worldedit.navigation.jumpto - worldedit.navigation.thru - commandbook.time.check - commandbook.rules - lwc.mod - myhome.home.basic.home - myhome.home.basic.set - myhome.home.basic.delete - myhome.home.soc.invite - vanish.* Admins: default: false inheritance: - Moder permissions: - "*" users: admin: group: - Admins permissions: null Moderator: group: - Moder permissions: null

Данный Permissions настроен для плагинов: CommandBook, MyHome, VanishNoPickup, Jobs, LWC, WorldEdit, iConomy, iConomy ChestShop, WorldGuard.

Здесь как вы могли заметить появились новые параметры:

info: //параметры группы
prefix: » //префикс
suffix: » //суффикс

// для отображения префиксов/суффиксов необходимо включить плагин ChatManager, который входит в состав PEX. Для этого в папке plugins/ChatManager/ в файле config.yml находим enable и меняем его при необходимости с enable: false на enable: true

inheritance: //наследование прав
— Default //в данном случае наследуются все права группы «default»
Так же вы могли заметить что появился параметр users:
под ним нужно указывать никнеймы пользователей, которым вы хотите дать дополнительные права и/или переместить в другую группу. К примеру:

Moderator:
group:
— Moder
permissions: null

где «Moderator»-никнейм игрока, «Moder»- название группы, permissions: null-дополнительные права для этого пользователя, в данном случае их нет.

Запомните! В YAML нужно чётко соблюдать последовательность, один лишний пробел и параметр не будет работать.

Примечание от idg_dima: YAML отлично работает с лишними проблемами или даже с пустыми строками, единственное, от чего он ломается — табуляция.
И приносим свои изменения за задержку при проверки статьи, были очень заняты кое-какими делами, в том числе и подготовкой сервера к переезду.

Установка плагина:
1) Скачать сам плагин, свежую версию ВСЕГДА можно найти по ЭТОЙ ссылке.
После скачивания архива мы обнаружим в нём следующие файлы:
2)Перемещаем (копируем) файлы (ChatManager, Modifyworld, Permissions, PermissionsEx) в папку плагинов вашего сервера (путь для примера: C:\Server\plugins)
3) Запускаем сервер, дожидаемся надписи "Done" в консоли сервера и останавливаем его.
4) Идём в папку Plugins и видим следующие:


Если вы сделали всё правильно и увидели созданные плагином папки, то можете считать что плагин установлен.

Настройка PermissionsEx:
Для начала давайте рассмотрим файл permissions.yml по адресу (ваш сервер\plugins\PermissionsEx). Ремарка: файлы с расширением.yml можно просматривать ЛЮБЫМ текстовым редактором, но для удобства рекомендую пользоваться Notepad++ (скачать его можно )

Открыв файл мы увидим следующие:


По порядку:

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

Теперь давайте рассмотрим уже настроенный permissions для нескольких плагинов.

groups: default: default: true permissions: - modifyworld.* - commandbook.spawn - commandbook.who - commandbook.say - commandbook.msg - myhome.home.soc.* - iConomy.access - iConomy.bank.access - iConomy.bank.deposit - iConomy.bank.join - iConomy.bank.join.multiple - iConomy.bank.leave - iConomy.bank.list - iConomy.bank.main - iConomy.bank.main.change - iConomy.bank.main.set - iConomy.bank.main.view - iConomy.bank.transfer - iConomy.bank.transfer.multiple - iConomy.bank.withdraw - iConomy.list - iConomy.payment - iConomy.rank - jobs.join.* - jobs.world.* - lwc.protect - iConomyChestShop.shop.create - iConomyChestShop.shop.create. - iConomyChestShop.shop.exclude. - iConomyChestShop.shop.buy - iConomyChestShop.shop.sell - iConomyChestShop.command.iteminfo - commandbook.call - commandbook.time.check - commandbook.rules - myhome.home.basic.home - myhome.home.basic.set - myhome.home.basic.delete - myhome.home.soc.invite Moder: default: false inheritance: - Default permissions: - modifyworld.* - commandbook.kick - commandbook.bans.ban - commandbook.bans.unban - commandbook.shock.other - commandbook.rocket.other - commandbook.shock - commandbook.rocket - commandbook.mute - commandbook.teleport.* - commandbook.spawn - commandbook.kit.list - commandbook.who - commandbook.say - commandbook.msg - worldgurad.god - worldguard.ungod - worldguard.god.other - worldguard.ungod.other - worldguard.heal.* - worldguard.slay.* - myhome.* - iConomy.access - iConomy.bank.access - iConomy.bank.deposit - iConomy.bank.join - iConomy.bank.join.multiple - iConomy.bank.leave - iConomy.bank.list - iConomy.bank.main - iConomy.bank.main.change - iConomy.bank.main.set - iConomy.bank.main.view - iConomy.bank.transfer - iConomy.bank.transfer.multiple - iConomy.bank.withdraw - iConomy.list - iConomy.payment - iConomy.rank - jobs.join.* - jobs.world.* - commandbook.whereami.compass - commandbook.whereami - lwc.protect - iConomyChestShop.shop.create - iConomyChestShop.shop.create. - iConomyChestShop.shop.exclude. - iConomyChestShop.shop.buy - iConomyChestShop.shop.sell - iConomyChestShop.command.iteminfo - commandbook.call - worldedit.navigation.jumpto - worldedit.navigation.thru - commandbook.time.check - commandbook.rules - lwc.mod - myhome.home.basic.home - myhome.home.basic.set - myhome.home.basic.delete - myhome.home.soc.invite - vanish.* Admins: default: false inheritance: - Moder permissions: - "*" users: admin: group: - Admins permissions: null Moderator: group: - Moder permissions: null

Данный Permissions настроен для плагинов: CommandBook, MyHome, VanishNoPickup, Jobs, LWC, WorldEdit, iConomy, iConomy ChestShop, WorldGuard.

Здесь как вы могли заметить появились новые параметры:

  • info: //параметры группы
  • prefix: "" //префикс
  • suffix: "" //суффикс

// для отображения префиксов/суффиксов необходимо включить плагин ChatManager, который входит в состав PEX. Для этого в папке plugins/ChatManager/ в файле config.yml находим enable и меняем его при необходимости с enable: false на enable: true

  • inheritance: //наследование прав

Default //в данном случае наследуются все права группы "default"

Так же вы могли заметить что появился параметр users:
под ним нужно указывать никнеймы пользователей, которым вы хотите дать дополнительные права и/или переместить в другую группу. К примеру:

Moderator:
group:
- Moder
permissions: null

где "Moderator"-никнейм игрока, "Moder"- название группы, permissions: null-дополнительные права для этого пользователя, в данном случае их нет.

Запомните! В YAML нужно чётко соблюдать последовательность, один лишний пробел и параметр не будет работать. Для того чтобы было меньше ошибок я РЕКОМЕНДУЮ пользоваться ЭТИМ сайтом.Ремарка: в левое окошко вставляете ваш код, если в правом окне не выдаёт ошибок, значит вы корректно написали код на yaml и он будет работать.

Данная статья взята с rubukkit.org

Если вы задумали создать свой сервер или проект, то вам скорее всего нужен будет плагин, который делит всех игроков на разные группы. К примеру вам нужны модераторы и хелперы, как же внести их в специальные группы и дать определенные права? На помощь приходит плагин с названием "PermissionsEX". Именно такой плагин и стоит у нас на серверах.

Благодаря этому плагину вы сможете вносить игроков в специальные группы и давать им разные права. Так же вплагин даёт возможность сделать глобальный и локальный чат, изменить цвет ника.

Настраиваем плагин:

Для начала нужно зайти в файл permissions.yml и немного подправить его.

Когда откроете файл, то увидите следующее:

Разберем каждое составляющее.

groups: - После этого параметра будут идти группы и права.

default: - группа по умолчанию. Туда попадут все игроки, которые только зашли.

default:true - с помощью этого параметра можно установить группу по умолчанию.

permissions: - ниже этого параметра можно вписать права для определенной группы.

modifyworld.* - Возможность вносить игрокам изменения в мир. Лучше оставить пустым.

Пример группы

Команды:

Служебные

Команда Permission Описание
/pex permissions.manage Показывает помощь по PEX
/pex toggle debug permissions.manage Вкл./откл. режим отладки (создает много отладочной информации в server.log)
/pex user check permissions.manage. Проверить право Игрока
/pex reload permissions.manage.reload Перезагружает плагин
/pex config permissions.manage.config Выводит значение из конфигурации PEX. Дополнительно можно ввести чтобы задать новое значения для параметра.
/pex backend permissions.manage.backend Вывести используемые на данный момент бэкенды.
/pex 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 permissions.manage.dump Создает дамп пользователей и групп в выбранный формат в файл

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

Команда Permission Описание
/pex users permissions.manage.users Показывает список всех записанных пользователей. И игроков сервера
/pex user permissions.manage.users Показывает права игрока
/pex user prefix permissions.manage.users.prefix. Установить игроку префикс
/pex user suffix permissions.manage.users.suffix. Установить игроку суффикс
/pex user delete permissions.manage.users. Удалить игрока из бэкенда, используемого на данный момент.
/pex user add Дать право Игроку
/pex user remove permissions.manage.users.permissions. Забрать право У игрока
/pex user timed add Дать временное право Игроку
/pex user timed remove permissions.manage.users.permissions.timed. Забрать у игрока временное право
/pex user set permissions.manage.users.permissions. Выставить опцию

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

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

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

Команда Permission Описание
/pex groups permissions.manage.groups.list Показать все зарегистрированные группы
/pex default group Показать группу по-умолчанию
/pex set default group permissions.manage.groups.inheritance Установить группу , как группу по-умолчанию
/pex group prefix permissions.manage.groups.prefix. Установить группе префикс
/pex group suffix permissions.manage.groups.suffix. Установить группе суффикс
/pex group create permissions.manageups.create. Создать группу и если нужно установить для нее родительскую группу/группы
/pex group delete permissions.manage.groups.remove. Удалить группу
/pex group parents Список родительских групп для группы
/pex group parents set permissions.manage.groups.inheritance. Установить группе родительскую группу/группы
/pex group Показать все права группы
/pex group add permissions.manage.groups.permissions. Дать право Группе
/pex group remove permissions.manage.groups.permissions. Забрать право У группы
/pex group timed add Дать временное право Группе на время (в сек.)
/pex group timed remove permissions.manage.groups.permissions.timed. Забрать временное право У группы
/pex group set permissions.manage.groups.permissions. Выставить опцию
/pex group weight permissions.manage.groups.weight. Показать/установить вес группы

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

Команда Permission Описание
/pex group users permissions.manage.membership. Показать всех игроков в группе
/pex group user add permissions.manage.membership. Добавить игрока/игроков в группу на время
/pex group user remove permissions.manage.membership. Удалить игрока/игроков из группы
/pex promote permissions.user.promote. Повысить игрока в высшую группу
/pex demote permissions.user.demote. Понизить игрока в низшую группу permissions.manage.worlds Показать информацию о наследственности мира
/pex world inherit permissions.manage.worlds.inheritance Установить родительский мир/миры Для мира

Установка:

2. Кидаем в папку Plugins.

3. Перезагружаем сервер.

What is PermissionsEx?

PermissionsEx (PEX) is a new permissions plugin, based on Permissions ideas and supports all of its features. But PEX is more! It offers different backends, powerful ingame management, fine grained restrictions for world modification.

Please use forum for help/discussions.

Current features

  • Support for UUIDs as of version 1.21
  • Several backend support. Currently bundled backends is File (YAML) and SQL (MySQL, SQLite). Also it’s possible to add your own.
  • YAML backend, with new, fully rethinked, config schema. Now all user, groups and their permissions are stored in one file – permission.yml. File name can also be adjusted.
  • SQL backend, most delicious. Currently MySQL and SQLite supported, but other DB (like Postgre) are possible too. PEX deploys the DB scheme (tables and initial data) automatically. This means, that you only need to provide data on how to connect to the db, everything else PEX will handle by itself.
  • Flexible architecture and API – you can change a lot programmatically.
  • Rich chat/console command interface. You can do almost everything ingame. Command list below.
  • Modifyworld – Permission-based restrictions mechanism (we call it “modifyworld”), which provides the possibility to control players abilities, such as destroying/placing blocks, riding carts/boats or even getting spotted by mobs and much more. Available from its project page
  • Multigroup inheritance. User, as well as Group, can be member of several groups. And inherit their permissions, options and prefix/suffix.
  • Permissions based upon Regular Expressions. This mean you can use regular expressions. Example: modifyworld.blocks.(destroy|place).(3|12) – this permission allow place or destroy only sand (12) or dirt (3) blocks. There is still limitation on dot usage in your regexps – dots are escaped by default. Raw regex flag is also available and explained on the wiki.
  • Multiworld permissions. Just don’t specify world and permission would work in any world.
  • Multiworld inheritance. You can inherit different groups in different worlds.
  • Perfomance friendly. Low-level caching helps a lot when you have 100+ online users
  • Promotional/Demotional system. You can assign ranks to groups and promote/demote users to higher/lower ranked group. NEW: new you can make serveral ranking ladders.
  • World-inheritance – permissions/option of one world can be inherited by another world.
  • Timed Permissions – you can give user permission only for some amount of time.
  • As of version 1.21.1, PermissionsEx automatically updates to keep you up to date with the latest bugfixes and new features. The automatic update functionality will only perform updates between minor releases (for example only 1.21.1->1.21.2, not 1.21.3->1.22). To disable it, set the updater option to false in plugins/PermissionsEx/config.yml.
  • Bukkit Permissions (SuperPerms) compatible.

To disable error reporting, create a file called `report-disable` in the plugins/PermissionsEx folder. Note that enabling this option means you WILL NOT get any support for errors because the information published (permissions file, configuration, and versions) is essential to resolving issues.

Все плагины в Minecraft любой версии имеют свои установки прав или разрешений на определённые команды плагина и действия. Эти разрешения необходимо прописывать в файле permissions.yml , который находится в папке от плагина прав (например: PermissionsEx ).

Все права на плагины находятся в файле permissions.yml .

В этом файле должно всё записываться так:

groups:
default:
default: true
permissions:
- lwc.protect
- commandbook.kit
- commandbook.kit.list
- commandbook.spawn
Moder:
inheritance:
- default
default: false
permissions:
- iConomy.holdings.others
- permission: iConomy.accounts.take
- iConomyChestShop.shop.create
- ChestShop.shop.create
Admin:
inheritance:
- Moder
default: false
permissions:
- authme.admin.changepassword
- authme.admin.reload
- authme.admin.unregister
- authme.admin.register
Helper:
inheritance:
- default
default: false
permissions:
- commandbook.mute
- commandbook.unmute
- commandbook.msg
- commandbook.broadcast
- commandbook.return
- commandbook.teleport
- commandbook.teleport.other
users:
Kratos:
group:
- Admin
Nexus:
group:
- Helper
Bezumets:
group:
- Moder

Самое важное в permissions.yml это сохранение табуляции в данных. Если её нарушить то ничего работать не будет.

Как выглядит и что обозначает слово "табуляция" в файле permissions.yml :

Если обьяснять совсем уж простым языком, это сохранение определённого числа пробелов от левого края отдельных разделов и параметров файла. Тоесть должно быть:

(Для простоты понимания перечислю всё в следующем виде)

groups, users: 0 пробелов .

Названия групп в groups, Ники игроков в users: 2 пробела .

Параметры, permissions и прочее: 4 пробела .

Разделы groups и users не могут повторяться и сществуют в 1 экхемпляре. В описываються права группам игроков (Администраторам, Модераторам, Хелперам, VIP), здесь никаких ников игроков быть не может, только сами права permissions плагинов, записанные как:

-<пробел>(permission)

Commandbook.teleport

default: true - означает что это право быдет выдано по умолчанию всем игрокам зашедшим на сервер, оно должно существовать в 1 экземпляре, в остальных группах прав должно быть default: false

inheritance: указывает группу выступающей родительской, как напримере выше, группа Moder берёт права у группы default и дополняет их своими, а Admin берёт за основу своих прав права группы Moder в которую включены права default .

Раздел users содержит в себе ники пользователей и непосредственно группу в которой они состоят. Вместо группы может быть permissions если необходимо указать определённые права какому то пользователю, а не группе. Тут как и в разделе groups необходимо сохранять туже табуляцию.

Все вопросы в комментарии.