как узнать permissions плагина
(Java Spigot) Как можно узнать какие права нужны для использования команд?
Пишу серверный плагин для minecraft (дополнительные права на сервере(vip, admin и т.п. помимо op)), используя spigot. Столкнулся с проблемой. По идеи PlayerComandPreprocessEvent передаёт только игрока, название команды, которая была вбита и ещё по мелочи. Мне же нужно узнать какие права нужны, чтобы использовать эту команду, но к сожалению я не могу получить из event.GetPermission(), так как это просто не предусмотрено. Очень не хотелось для отдельной команды прописывать проверку прав, так там их больше нескольких тысяч, а ещё есть команды из плагинов. По идеи это передаёт Command, но я не знаю как её получить или как преобразовать event в Command. Помогите пожалуйста, уже 2-ой день бьюсь, на форумах приводят пример с отдельными командами, название которых они уже знают.
1 ответ 1
Разобрался в теме, spigot сам проверяет привилегии игрока, так что совершенно не надо это проверять через код. Это работает как на консольные команды, так и на любые другие ивенты. Это нужно делать, только если есть специфичная команда, при которой что-то должно произойти.
Всё ещё ищете ответ? Посмотрите другие вопросы с метками java permissions minecraft или задайте свой вопрос.
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.13.40199
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
PermissionsEX
PermissionsEX (PEX) — плагин для Bukkit, который позволяет легко разграничивать полномочия игроков на сервере. Имеет встроенные дополнения Modifyworld, которое даёт возможность определять, что игроки могут или не могут изменять в игровом мире, а также ChatManager с помощью которого можно разделить чат на локальный и глобальный, раскрасить ники игроков и добавить к ним префиксы и суффиксы.
Содержание
Установка
Использование
Для распределения прав игрокам нужно отредактировать файл permissions.yml по адресу plugins/PermissionsEx. Это можно сделать с помощью любого текстового редактора, но для удобности рекомендуется использовать Online YAML Editor
Открыв его мы увидим:
Значение этих строк следующее:
groups: — указывает, что ниже будут идти группы и их права.
default: — название группы, куда попадают все только что зашедшие на сервер игроки, если они не прописаны в других группах. Вы можете менять это название на какое захотите.
default: true — параметр, который задаёт группу, как группу по-умолчанию. То есть, все права этой группы будет иметь любой игрок, для которого не определены другие группы и/или исключения.
permissions: — все, что идёт ниже, это и есть сами «права» для группы, сюда нужно прописывать permissions от различных плагинов установленных на вашем сервере. Значение null означает, что у группы/игрока нет никаких прав.
— modifyworld.* — возможность «модифицировать» мир. Если Вы не намерены конкретно определять, что игроки могут или не могут изменять в игровом мире, то это право лучше оставить как есть, а если намерены, то смотрите в Modifyworld (с версии 1.0 функция плагина modifyworld вшита в плагин PermissionsEx).
Рассмотрим как мы можем отредактировать данный файл:
Здесь мы добавили новую группу Admins, а также права для отдельного игрока BigBoss:.
default: false — означает, что данная группа не является группой по-умолчанию.
inheritance: — параметр, с помощью которого можно установить наследственность прав определённой группы, в данном случае — это группа default. Это значит, что Вам не придётся еще раз прописывать права группы default для группы Admins.
Звездочка (‘*’) означает, что у группы/игрока есть абсолютно все права на все плагины, установленные на сервере.
users: — означает, что ниже идут права отдельных игроков.
BigBoss: — имя игрока для которого настраиваются отдельные права.
group: Admins — указывает на то, что игрок входит в группу Admins
rank: — ранг игрока.
Предположим, что группа Admins имеет право permissions.manage, данное право позволяет получить полный доступ ко всем командам PermissionsEx. Если Вы захотели ограничить группу в определенном праве (например permissions.manage.users), то перед правом нужно ставить две черты:
Если Вы хотите раскрасить ники игроков и добавить к ним префиксы и суффиксы то нужно включить и настроить в permissions.yml Chat Manager.
Важно! В YAML нужно чётко соблюдать последовательность, один лишний пробел — и параметр работать не будет. Поэтому для проверки permissions.yml рекомендуется использовать этот сайт. Там в левое окошко нужно вставить ваш код из permissions.yml, и если в правом окне не выдаст ошибок, то код написан правильно и он будет работать, если будут ошибки, то оно выдаст номер забракованной строки.
Команды и права
С помощью следующих команд вы можете управлять PEX прямо через консоль или игровой чат, не редактируя файл permissions.yml
Как настраивать и редактировать permissions в Minecraft 1.2.5
Все плагины в 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 плагинов, записанные как:
inheritance: указывает группу выступающей родительской, как напримере выше, группа Moder берёт права у группы default и дополняет их своими, а Admin берёт за основу своих прав права группы Moder в которую включены права default.
Раздел users содержит в себе ники пользователей и непосредственно группу в которой они состоят. Вместо группы может быть permissions если необходимо указать определённые права какому то пользователю, а не группе. Тут как и в разделе groups необходимо сохранять туже табуляцию.
Все вопросы в комментарии.
Туториал по настройке PermissionsEx (PEX)
И так, наверно у каждого из вас, кроме опытных держателей серверов имеются проблемы с настройкой прав доступа.
Лично я использую плагин PermissionsEx, так как считаю что это самый лучший плагин распределения прав доступа для серверов.
Что нам понадобится:
1. Notepad++
2. Сам плагин. Последнюю версию можно всегда скачать тут.
3. Прямые руки. (Обязательный пункт)
И так, начнем.
1. Скачиваем плагин, распаковываем. В папке есть 3 файла:
2. Закидываем файлы в папку с плагинами, запускаем сервер, останавливаем.
Там появились 3 папки:
PermissionsEx, ChatManager и ModifyWorld
3. Открываем папку PermissionsEx. В этой папке открываем файл permissions.yml с помощью Notepad++
И видим это:
И так, по порядку:
groups: //не трогаем данное слово, оно указывает на то, что ниже будут идти группы и их permissions.
default: //название группы в неё попадают все только что зашедшие на сервер пользователи, если конечно вы не прописали их в другую группу.
default: true // данный параметр задаёт группу, как группу по-умолчанию. это означает, что все права этой группы будет иметь любой игрок, для которого не определены другие группы и/или исключения.
permissions: //всё что идёт ниже, это собственно и есть сами «права» для группы, туда нужно прописывать permissions от различных плагинов установленных на вашем сервере.
Данный 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 отлично работает с лишними проблемами или даже с пустыми строками, единственное, от чего он ломается — табуляция.
И приносим свои изменения за задержку при проверки статьи, были очень заняты кое-какими делами, в том числе и подготовкой сервера к переезду.
Permissions ex настройка
Как настроить permissions ex в minecraft [1.16.1][1.15.2][1.14.4][1.12.2] и другие версии. Добрый день. В сегодняшней статье я постараюсь вам раскрыть много интересных моментов в игре minecraft! Наверняка каждый второй игрок хотел создавал себе игровой сервер, но на его пути всегда вставали какие либо препятствия. Первое из них является как раз установка и настройка permissionsex. В интернете я ни как не мог найти подходящей информации, которая бы помогала бы мне справиться с вопросом как настроить permissions ex для minecraft.
И так для работы с плагином, его нужно для начала скачать permissionex и установить его в папку plugins. После этого нужно запустить сервер и подождать пока в папке plugins появится еще одна папка с pex.
Теперь открываем эту папку, а сервер можно отключить и теперь можно редактировать файл permissions.yml! Открывать такой файл рекомендуется в notepad++:
Теперь мы можем не много разобрать что у нас получилось:
groups: — это группы
user: — это группа пользователей/игроков
default: true — это значит что группа user стоит по умолчанию
permissions: — это права игроков
— modifyworld. — это само право) оно разрешает игроку
Вы так же можете скачать готовый сервер по этой ссылке:
А вот уже настроенный стандартный набор плагинов, вам лишь нужно убрать те плагины которые не установлены на вашем серверы:
На этом всё! Оставляйте свои комментарии и делитесь с друзьями гайдом! Качайте плагины и будьте вместе с сайтом upminecraft! Готовый лаунчер готов для скачивания Tlauncher