PermissionsEX (PEX) — плагин для Bukkit, который позволяет легко разграничивать полномочия игроков на сервере. Имеет встроенные дополнения Modifyworld, которое даёт возможность определять, что игроки могут или не могут изменять в игровом мире, а также ChatManager с помощью которого можно разделить чат на локальный и глобальный, раскрасить ники игроков и добавить к ним префиксы и суффиксы.
- 1 Установка
- 2 Использование
- 3 Команды и права
- 3.1 Служебные
- 3.2 Управление правами игроков
- 3.3 Управление правами групп игроков
- 3.4 Управление правами групп
- 3.5 Управление игроками в группах
- 3.6 Управление наследственностью миров
- 4.1 Что не так?
- 4.2 Что использовать вместо PEX?
Установка [ ]
- Скачать последнюю версию плагина: PermissionsEX
- Поместить PermissionsEX.jar в папку plugins на сервере.
- Перезапустить сервер.
Использование [ ]
Для распределения прав игрокам нужно отредактировать файл permissions.yml по адресу plugins/PermissionsEx. Это можно сделать с помощью любого текстового редактора, но для удобности рекомендуется использовать Online YAML Editor
Как настроить права для игроков в LuckPerms | Minecraft | #aternos
Открыв его мы увидим:
groups: default: default: true permissions: — `*`
Значение этих строк следующее:
groups: — указывает, что ниже будут идти группы и их права.
default: — название группы, куда попадают все только что зашедшие на сервер игроки, если они не прописаны в других группах. Вы можете менять это название на какое захотите.
default: true — параметр, который задаёт группу, как группу по-умолчанию. То есть, все права этой группы будет иметь любой игрок, для которого не определены другие группы и/или исключения.
permissions: — все, что идёт ниже, это и есть сами «права» для группы, сюда нужно прописывать permissions от различных плагинов установленных на вашем сервере. Значение null означает, что у группы/игрока нет никаких прав.
— modifyworld.* — возможность «модифицировать» мир. Если Вы не намерены конкретно определять, что игроки могут или не могут изменять в игровом мире, то это право лучше оставить как есть, а если намерены, то смотрите в Modifyworld (с версии 1.0 функция плагина modifyworld вшита в плагин PermissionsEx).
Рассмотрим как мы можем отредактировать данный файл:
groups: player: 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: — ранг игрока.
Предположим, что группа Admins имеет право permissions.manage, данное право позволяет получить полный доступ ко всем командам PermissionsEx. Если Вы захотели ограничить группу в определенном праве (например permissions.manage.users), то перед правом нужно ставить две черты:
groups: Admins: default: false inheritance: — default permissions: — 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.reload | Перезагружает плагин |
/pex config [value] | permissions.manage.config | Выводит значение из конфигурации PEX. Дополнительно можно ввести [value] чтобы задать новое значения для параметра. |
/pex backend | permissions.manage.backend | Вывести используемые на данный момент бэкенды. |
/pex backend | permissions.manage.backend | Измените базу данных разрешений «на лету» (используйте с осторожностью!) Обратите внимание, что это только изменяет базу данных «на лету», она не сохранит изменения в файле конфигурации и не преобразует ничего. Это только для тестирования. |
/pex hierarchy | permissions.manage.users | Показывает полную иерархию игроков/групп |
/pex dump | permissions.manage.dump | Создает дамп пользователей и групп в выбранный формат в файл |
Управление правами игроков [ ]
/pex users | permissions.manage.users | Показывает список всех записанных пользователей. И игроков сервера |
/pex user [world] | permissions.manage.users | Показывает права игрока |
/pex user prefix [newprefix] [world] | permissions.manage.users.prefix. | Установить игроку префикс [newprefix] |
/pex user suffix [newsuffix] [world] | 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] [lifetime] | permissions.manage.users.permissions.timed. | Дать временное право игроку на время [lifetime] (в сек.) Выставите значение на «» (две двойные скобки) если вы хотите использовать право во всех мирах! |
/pex user group remove | permissions.manage.users.permissions.timed. | Забрать у игрока временное право |
/pex user set [world] | permissions.manage.users.permissions. | Выставить опцию на значение . Выставите значение на «» (две двойные кавычки) если вы хотите убрать опцию |
Управление правами групп игроков [ ]
/pex user group list [world] | permissions.manage.membership. | Показать список групп в которых состоит игрок |
/pex user group add [*] [lifetime] | permissions.manage.membership. | Добавить игрока в группу на время [lifetime]= [minhourday] = [3min] |
/pex user group set [world] | permissions.manage.membership. | Установить группу для игрока (удалит его из остальных групп) |
/pex user group remove [world] | permissions.manage.membership. | Удалить игрока из группы |
Управление правами групп [ ]
/pex groups | permissions.manage.groups.list | Показать все зарегистрированные группы |
/pex default group [world] | permissions.man-умолчанию | |
/pex set default group [world] | permissions.manage.groups.inheritance | Установить группу , как группу по-умолчанию |
/pex group prefix [newprefix] [world] | permissions.manage.groups.prefix. | Установить группе префикс [newprefix] |
/pex group suffix [newsuffix] [world] | permissions.manage.groups.suffix. | Установить группе суффикс [newsuffix] |
/pex group create [parents] | permissions.manageups.create. | Создать группу и если нужно установить для нее родительскую группу/группы [parents] |
/pex group delete | permissions.manage.groups.remove. | Удалить группу |
/pex group parents [world] | permissions.manage.groups.inheritance. | Список родительских групп для группы |
/pex group parents set [world] | permissions.manage.groups.inheritance. | Установить группе родительскую группу/группы |
/pex group | permissions.manage.groups.permissions. | Показать все права группы |
/pex group add [world] | permissions.manage.groups.permissions. | Дать право группе |
/pex group remove [world] | permissions.manage.groups.permissions. | Забрать право у группы |
/pex group timed add [lifetime] [world] | permissions.manage.groups.permissions.timed. | Дать временное право группе на время [lifetime] (в сек.) |
/pex group timed remove [world] | permissions.manage.groups.permissions.timed. | Забрать временное право у группы |
/pex group set [world] | permissions.manage.groups.permissions. | Выставить опцию значение для . Выставите значение на «» (две двойные кавычки) если вы хотите убрать опцию |
/pex group weight [value] | permissions.manage.groups.weight. | Показать/установить вес группы |
Управление игроками в группах [ ]
/pex group users | permissions.manage.membership. | Показать всех игроков в группе |
/pex group user add [world] [time] | permissions.manage.membership. | Добавить игрока/игроков в группу на время [time] |
/pex group user remove [world] | permissions.manage.membership. | Удалить игрока/игроков из группы |
/pex promote | permissions.user.promote. | Повысить игрока в высшую группу |
/pex demote | permissions.user.demote. | Понизить игрока в низшую группу |
Управление наследственностью миров [ ]
/pex worlds | permissions.manage.worlds | Показать загруженные миры |
/pex world | permissions.manage.worlds | Показать информацию о наследственности мира |
/pex world inherit | permissions.manage.worlds.inheritance | Установить родительский мир/миры для мира |
Критика [ ]
API полномочий Bukkit’а (также называющееся “superperms”) был разработан с целью централизации конфигурации прав пользователей, отсутствия необходимости поиска плагинов, которые были бы совместимы с какой-то определенной системой прав. Все текущие плагины полностью поддерживают ‘superperms’, кроме PermissionsEx. PEX же работает против этой системы путем встраивания собственного кода.
Это вызывало проблемы как у PEX, так и в самом Bukkit’е. Реализация «superperms» очень слабая, в некоторых случаях приводящая к серьезным сбоям. PEX пытается перенаправить все проверки привилегий через свою собственную систему, вместо работы с «superperms» Bukkit’а.
С версии 1.13 PEX поддерживает superperms
Что не так? [ ]
- Неверная реализация дочерних привилегий. Может привести к тому, что у пользователей есть привилегии, которых им не давали напрямую.
- PEX приводит к проблемам в других плагинах. [1]
- Дэдлоки. Фриз сервера с комментарием ‘Read timed out’.
- Когда PEX вылетает, вместе с ним в небытие уходит множество других плагинов (в силу жесткого встраивания кода в Bukkit).
- Использование SQL приводит к падению производительности сервера. При удалении/добавлении привилегии происходит полная перезапись всех привилегий пользователя на сервере.
Что использовать вместо PEX? [ ]
- LuckPerms. Имеет возможность импорта настроек PEX, поддерживает множество серверных платформ, включая прокси-сервера (BungeeCord).
- bPermissions. Имеет возможность импорта настроек PEX.
- PermissionsBukkit.
- Privileges.
Примечания [ ]
- ↑ Шаги к повтору — PermissionsEx is broken — Things PermissionsEx has broken — Breaks other plugins without error messages
Источник: minecraft.fandom.com
Как настроить permissions
Когда вы скачиваете какой-нибудь более-менее комплексный плагин, вам всегда попадается страница с текстом, где расписаны так называемые «permissions» (права доступа). Они позволяют настроить доступ к определенным командам по различным уровням: например, разрешить использовать лаву группам «Админ» и «Модератор», но запретить группам «Игрок», «Донатор» и «Гость». Разберем настройку permissions на примере плагина PermissionsEx.
Устанавливаем PermissionsEx
Для начала скачайте плагин по ссылке. Затем загрузите плагин в папку /plugins/ вашего FTP-сервера. После этого запустите ваш сервер и вы обнаружите новую папку /plugins/PermissionsEx. В ней хранится файл permissions.yml, который вам нужно скачать на ваш компьютер и открыть в каком-нибудь расширенном текстовом редакторе вроде Notepad++.
Скачайте готовый пример
Если вам лень, можно скачать готовый файл и добавить в него своих админов (см. ниже «Как добавить админов»). В файле уже есть один администратор, не забудьте его убрать соответствующей командой. Для полноценной работы сервера с готовым файлом и инструкцией вам также необходимо скачать набор следующих плагинов:
- EssentialsX, EssentialsXAntiBuild, EssentialsXChat — жмите на ссылки под словами «Артефакты последней успешной сборки». Команды и права по ссылкам.
- Vault — плагин для корректной работы префиксов в EssentialsX.
- mcMMO — можно скачать здесь, но нужно зарегистрироваться. Список прав и пояснений смотрите по ссылкам.
- WorldEdit — скачайте редактор карты здесь. Права и команды доступны здесь.
- AuthMe — скачиваем здесь, нажав на ссылку вида AuthMe-5.6.0-Snapshot.jar. Смотрите права и команды соответственно.
Какие группы мы создаем?
Нужно понимать структуру файла. Мы создаем сервер для друзей, на который можно войти и играть лишь если владелец сервера дал вам такое право. Поэтому в нашем примере мы создаем следующие группы:
- Guest. Группа для гостей. Все игроки по умолчанию помещаются в эту группу (видите «default: true» на строчке 11?).
- Player. Группа, куда владелец сервера будет переносить игроков после регистрации. Могут делать практически всё. Не могут использовать лаву и редактор карты.
- VIP. Группа, где будут игроки, оплатившие донат или приближенные к администратору. Имеют различные дополнительные доступы.
- Moderator. Группа с доступом к редактору карт и прочему.
- Admin. Группа для владельца сервера, полный доступ.
Настройка группы «Гость»
Теперь попытаемся разобраться, как настроить различные права для группы «Гость». Нам понадобится установить плагин Authme. Жмите на текст вида «AuthMe-5.6.0-SNAPSHOT.jar» для скачивания. Поместите плагин в папку /plugins/ и перезапустите сервер.
Permissions плагина AuthMe можно посмотреть здесь. Отсюда мы и скопируем наши первые четыре права для гостей:
— authme.player.register — authme.player.login — authme.player.*
authme.player.* в нашем случае, в принципе, не нужно. Оно здесь лишь для примера
Что же они означают?
- — authme.player.register — позволяет гостю сервера зарегистрироваться командой /register password password. После регистрации игроку придется перезайти на сервер
- — authme.player.login — позволяет гостю войти в свой аккаунт командой /login password
- — authme.player.* — позволяет использовать любые permissions, которые идут после authme.player. Иными словами, мы могли бы не добавлять первые два права доступа, а добавить лишь последнее — и игрок все равно смог бы зарегистрироваться и войти.
Внизу прав доступа в группе «Guest» мы видим следующее:
options: prefix: ‘f’ suffix: ‘f[Guest] f означает текст [Guest] белого цвета — в строчке чата «[Guest] Anton: всем привет» слово «[Guest]» будет отображаться в белом цвете. Смотрите здесь список цветов для плагина EssentialsX.
Настройка группы «Игрок»
В правах группы «Player» видно следующее:
— essentials.build.* — authme.player.* — essentials.tpa — essentials.tpahere — essentials.tpaccept — essentials.back — essentials.hat — essentials.home — essentials.sethome — essentials.sethome.multiple — essentials.delhome — -essentials.build.place.lava
Набор прав доступа для группы «Игрок»
Пояснения по каждому праву доступа:
- essentials.build.* — эта группа получает право строить на сервере (если установлен плагин EssentialsXAntiBuild)
- authme.player.* — см. права группы «Гость»
- essentials.tpa — права на запрос телепорта к другому игроку
- essentials.tpahere — права на запрос на перенос другого игрока к себе
- essentials.tpaccept — права на принятие запросов, упомянутых выше
- essentials.back — права на телепорт в место, которое вы недавно покинули (например, вы были в пещере, написали /home чтобы вернуться домой, а теперь пишете /back чтобы вернуться в пещеру)
- essentials.hat — права на установку себе определенных видов «шляп»
- essentials.sethome — права на создание «дома» (места, куда вы телепортируетесь командой /home)
- essentials.sethome.multiple — права на создание множества домов
- essentials.delhome — права на удаление ваших домов
Все права плагина EssentialsX можно посмотреть здесь. По последнему же праву посмотрим подробнее.
Сам текст права доступа составлен необычным образом, с двумя черточками перед ним: — -essentials.build.place.lava. Если бы черточка была одна, как и везде, это бы позволяло этому праву работать в этой группе «Игрок». Но так как черточек две, это запрещает работать этому праву. Таким образом, игроки из этой группы не смогут помещать лаву на любые объекты в игре.
Настройка группы «Донатор»
В группе «VIP» будут некоторые дополнительные функции, которые можно разрешить донаторам.
inheritance: — user permissions: — authme.player.* — essentials.item — essentials.keepinv
Права для группы «Донатор»
Что такое inheritance? Это наследование прав доступа от другой группы. Например, в нашем случае права наследуются от группы «Игрок», поэтому мы вполне можем не указывать «authme.player.*» в группе «Донатор».
- essentials.item — позволяет использовать команду /i (например /i cobblestone 64), чтобы выдать себе любые блоки. Команды EssentialsX можно посмотреть здесь.
- essentials.keepinv — позволяет не потерять инвентарь в случае смерти. Удобно для донаторов.
Настройка группы «Модератор»
Модератор, помимо прав донатора, получает также доступ к редактору карты.
— essentials.item — essentials.keepinv — worldedit.*
Звездочка означает доступ ко всем командам WorldEdit
Права редактора карты WorldEdit можно посмотреть здесь.
Настройка группы «Администратор»
Права администратора безграничны — ему разрешено всё.
— ‘*’ — worldedit.*
Право, выглядящее как — ‘*’ позволяет администратору иметь доступ ко всем командам и права доступа. Второе право — worldedit.* вполне можно удалить — оно дублирует вышенаписанное.
Как добавить админов
Полный список команд плагина PermissionsEx можно посмотреть здесь. А мы же ознакомимся с базовыми командами.
/pex group User user add Oleg444 — команда добавляет игрока Oleg444 в группу «Игрок»
/pex group VIP user add Artem150 — добавляем игрока Artem150 в донаторы.
/pex group User user remove Oleg444 — удаляем Oleg444 из «Игроков». Теперь он в группе по умолчанию «Гости».
Если вкратце, это практически все команды, которые вам понадобятся при работе с PermissionsEx.
С любовью,
команда Ru-hoster ❤
Источник: ru-hoster.com
Плагин PermissionsEx | Плагин позволяющий настроить права игрокам на сервере Minecraft
PermissionsEx — плагин для сервера майнкрафт, который позволит настроить права игрокам и донатером, а так же создать другие привилегии, например вид, премиум, админ и настроить им права.
Плагин работает самостоятельно, без дополнительных плагинов, но для того, чтобы в чате красиво отображались префиксы, ники и сообщения советуем скачать плагин ChatManager или другой плагин на чат. С его помощью вы сможете настроить свой чат, как вам захочется. Так же этот плагин защитит от спама, рекламы, матных слов и т.д.
Основные команды:
/pex — Показать все команды.
/pex reload — Перезагрузить плагин.
/pex user «user» group add «группа» — Добавить игроку группу.
/pex user «user» group set «группа» — Установить игроку группу.
/pex user «user» group remove «группа» — Удалить игрока из группы.
/pex group — Показать список всех групп.
/pex user — Показать список игроков и их группы.
Пример конфига:
#Доступные права для этой группы
#Выдавать игроку группу по дефолту? (true -да, false — нет)
#Префикс этой группы
prefix: ‘6Игрок6’
#Выдать права группы default
prefix: ‘eVIPe’
Видеообзор:
Установка:
1. Скачать плагин.
2. Возьмите скачанный .jar файл и перенесите в папку plugins вашего сервера.
3. Перезапустите сервер.
Источник: minesborka.com