Плагин на pex user 1.8 настроенный. Туториал по настройке PermissionsEx (PEX)

Все плагины в 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 необходимо сохранять туже табуляцию.

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

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.

И так, наверно у каждого из вас, кроме опытных держателей серверов имеются проблемы с настройкой прав доступа.
Лично я использую плагин 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 отлично работает с лишними проблемами или даже с пустыми строками, единственное, от чего он ломается — табуляция.
И приносим свои изменения за задержку при проверки статьи, были очень заняты кое-какими делами, в том числе и подготовкой сервера к переезду.

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

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

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

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

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

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

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

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

Служебные

Команда 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 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.manage.groups.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. Показать/установить вес группы

Не видно скрины? Увеличь!

1) Установить плагин и перезапустить сервер

2) Заходим в папку Plugins => папку PermissionsEx => файл Permissions

3) И что мы видим?

Смотрим по цифрам слева
1 - это группы пермишена именно их мы и будем настраивать
2 и 6 - это 2 группы. default - стандартная группа присутствует сразу как
будет установлен плагин. Admin - группа созданная мной. Думаю вам понятно для чего она.
3 и 7 - эта строка отвечает за права при входе на сервер т.е. если стоит true, то человек
зашедший на сервер сразу получит права данной группы.
4 и 8 - это собственно и есть сами права, после этой строки нужно вписывать права данной группе
5 - это право дает возможность изменять мир (ломать и ставить блоки).
9 - эта строка дает абсолютно все права владельцу данной группы
10 - префикс - надпись перед ником. После префикса обязательно ставим
пробел иначе префикс слипнется с ником.
11 - суффикс - цвет текста
12 - раздел с никами пользователей и группами в которой они состоят
13 - ник игрока
14 - группы. После этой строки прописываем группы в которых будет состоять данный игрок
15 - собственно группа в которой я состою
И есть еще 1 очень нужная строка, указывающая группу выступающей родительской

После добавления этой строки группа Admin берет все права группы default

Для написания permissions нужно соблюдать табуляцию:
groups, users: 0 пробелов.
Названия групп в groups, Ники игроков в users: 2 пробела.
Параметры, permissions и прочее: 4 пробела.