Туториал Permissionsex(pex) туториал с примерами.

  • Автор темы Автор темы HgeN
  • Дата начала Дата начала

HgeN

Активный участник
Баллы
68
АХТУНГ​
Статья рассчитана на юзверей умеющих ХОТЬ ЧТО-ТО.​
Я не горю желанием объяснять как ставить сам сервер и плагины к нему.​
Тут есть более простой туториал.​
​
Что за зверь такой этот PEX?​
PEX - новый плагин разрешений. EX(extended) намекает на богатый функционал. И он действительно такой. Можно тонко ограничивать возможности пользователей разных групп и в разных мирах. Кроме того в поставку PEX встроен собственный Чат Менеджер, который без плясок с бубном позволяет выводить пре/суффиксы и многое другое. В этом туториале мы рассмотрим основные возможности.​
​
Теоретическая часть.​
PEX имеет поддержку нескольких режимов хранения данных(Файлы YML и SQL). Мы рассмотрим вариант с YML файлами так как он проще и не требует настройки еще и базы данных. Но у файлов YML есть свои сложности, а именно строгая разметка.​
*Один большой такой отступ " " это четыре пробела.​
Код:
категория1:
    группа1:
        параметр1: значение
        параметр2: значение
    группа2:
        параметр1: значение
        перечисление1:
        - класс.объект.подобъект # включает только подобъект
        - класс.объект.* # включает все подобъекты данного объекта
        - класс.* # включает все объекты данного класса
        перечисление2:
        - '*' # включает все возможные классы
​
Установка PEX.​
PEX устанавливается так же как и все остальные плагины. Качаем архив на буккит дев тут. В архиве четыре файла: Permissions.jar, PermissionsEx.jar, Modifyworld.jar, ChatManager.jar, смело кидаем их в папку плагинов. Запускаем сервер, ждем полной загрузки и вырубаем его. Все, установка закончена, можно переходить к настройке.​
​
Настройка.​
Теперь самое интересное. Заходим в /plugins/PermissionsEX/. Там лежит два файла. config.yml и permissions.yml. Открывем первый...​
​
Код:
permissions:  # говорит нам о том что начались настройки пермишенса.
    log-players: false # вести ли логи игроков
    backends: # настройки бэкенда(бэкенд в этом случае обозначает форму хранения)
        file:
            file: permissions.yml # имя файла разрешений
    backend: file # форма хранения файл/база данных SQL
    superperms: # настройка интеграции со встроенным пермишеном
        parent-nodes: true
        enable: true
        strict-mode: false
    createUserRecords: false # создавать ли записи пользователей? Если нет, то всех пользователей не дефолтной группы придётся прописывать ручками, зато нет кучи ненужных записей юзверей.
    allowOps: false # позволить ли операторов
    debug: false
    basedir: plugins/PermissionsEx # базовая директория плагина[/I]

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

Код:
groups: # дальше пойдут группы
    default: # название группы
        default: true # сделать группой по умолчанию?(может быть только одна)
        permissions: # список разрешений
        - modifyworld.* # позволит игрокам изменять мир, позже разберём подробнее

NE GUSTO. Что поделать, конфиг то дефолтный! Ничего, мы его дополним.
Допустим мы хотим иметь три группы: админы, модеры, юзеры и випы.

Код:
groups:
    moderator:
        default: false
        permissions:
        - -bukkit.command.stop # запрещаем останавливать сервер модерам
        - -bukkit.command.unban.player # запрещаем разбанивать
        - modifyworld.* # позволяем модифицировать мир
        - bukkit.command.* # позволяем все остальные администраторские команды(кик, бан и тд)
    admin:
        default: false
        inheritance: # наследовать права группы moderator
        - moderarot
        permissions: # админам можно все!
        - '*'
    user:
        default: true # группа по умолчанию
        permissions:
        - modifyworld.*
    vip:
        default: false
        inheritance: # наследовать права группы user
        - user
        permissions:
        - bukkit.command.gamemode # ну как пример, гейммод випам это плохо...
users: # тут всё ясно
    Moder:
        group:
        - moderator
    Admin:
        group:
        - admin

Тут все стандартные пермишенсы ведерка :3

Так, настраиваем пре/суффиксы! Идем в /plugins/ChatManager/ и открываем там файл config.yml.
​
Код:
chat-range: 100.0
display-name-format: '%prefix%player%suffix'
global-message-format: <%prefix%player%suffix> &e%message # формат сообщений
enable: false # меняем эту строчку на true, тем самым включаем вывод пре/суффиксов
message-format: <%prefix%player%suffix> %message
ranged-mode: false

Вот цветовые коды:​
Colour.jpg
Дальше они нам понадобятся. Перед кодом необходимо проставить знак '&'​

Пре/суффиксы можно проставлять таким образом:

Код:
groups:
    admin:
        default: false
        permissions:
        - '*'
        prefix: '&4[&2Администратор&4]&6 ' # для всех пользователей группы
users:
    HgeN:
        group:
        - admin
        permissions:
        - modifyworld.*
        prefix: '&4[&2Главный админ&4]&6 ' # для одного пользователя

А теперь самое интересное :3. Для каждого мира можно выставить свои права и пре/суффиксы

Код:
groups:
    moderator:
        default: false
        permissions:
        - modifyworld.*
        - bukkit.command.*
        - -bukkit.command.stop
        - -bukkit.command.unban.player
    admins:
        inheritance:
        - default
        permissions:
        - '*'
        worlds:
            nether:
                permissions:
                - nocheat.fly
                prefix: '&7[Админ из ада]'

Ну вот и все :3
Тут официальная вики, все на инглише, но советую её все же почитать.
А тут онлайн парсер. В нем можно проверять YML конфиги на валидность.
Большая просьба, если будите предоставлять свои конфиги в комментариях, заливайте их сюда.
gold-morphin написал более простой и красочный тотуриал, но увы сказал не о всем
Обязательно к прочтению:
* Заветные правила при прописывании премишенса
* Помощь по пермишенсу
 
Первую ссылку я указал. Остальные - да, могут помочь. Я именно про РЕХ написал, про разделение прав между мирами обмолвился и еще киллер фича "минус права". Про это я вроде нигде не видел. Вон в туториале голда кто-то мне втирал чо в РЕХе нет поддержи мультимира.
 
Это я ссылки для того, чтобы всё в одном месте было, оставил)
Сейчас в саму тему запилю. ИМХО чем больше статей, тем лучше. Как говорят: повторение - женщина-родитель по отношению к своему ребёнку учению.
 
Ошибкииии...так то информативно, но с опечатками, что за группа такая
"
- moderarot
"
Написал бы хотя бы ModeraVrot;)

и еще NE GUSTA бла бла бла и код рядом повторяется.
 
Ошибкииии...так то информативно, но с опечатками, что за группа такая
"
- moderarot
"
Написал бы хотя бы ModeraVrot;)

и еще NE GUSTA бла бла бла и код рядом повторяется.
Аригато за поправки, это ж как я был упорот что б столько очепяток допустить >_<. Если честно, не очень удобный редактор у этого движка.
 
Хотелось бы поднять тему чуть повыше, чем третья страница.
 
Автор, спасибо огромное за объяснения!!!
----------------------------------------------------
P.S. когда вы научитесь математике? :why: "Допустим мы хотим иметь три группы: админы, модеры, юзеры и випы."
 
Автор, спасибо огромное за объяснения!!!
----------------------------------------------------
P.S. когда вы научитесь математике? :why: "Допустим мы хотим иметь три группы: админы, модеры, юзеры и випы."
Юзвери - ничто. Мы их не считаем.
 
Помогло, спасибо).
Вот только проблема(

Когда ставлю группе вип пермиссион:
- worldguard.god
- worldguard.ungod
- worldguard.heal
- worldguard.stack

Они не работают, пишет нет прав. Почему?
 
Может плагин не совместим с PEX
Кхем... Как WorldGuard может быть не совместим с PEX, уважаемый?
Помогло, спасибо).
Вот только проблема(

Когда ставлю группе вип пермиссион:
- worldguard.god
- worldguard.ungod
- worldguard.heal
- worldguard.stack

Они не работают, пишет нет прав. Почему?

Скинь свой "рабочий" permission сюда, или сразу, самостоятельно, запости на дЭнный сайт и исправь ошибки. Если выведет нормальную структуру - поздравляю, в 90-процентном случае всё заработает.
 
Кхем... Как WorldGuard может быть не совместим с PEX, уважаемый?

Скинь свой "рабочий" permission сюда, или сразу, самостоятельно, запости на дЭнный сайт и исправь ошибки. Если выведет нормальную структуру - поздравляю, в 90-процентном случае всё заработает.
XD
И правда, это ж WG. Не вчитывался просто
 
Назад
Верх