1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем HgeN, 20 фев 2012.

  1. Автор темы
    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
    
    Вот цветовые коды:​
    [​IMG]
    Дальше они нам понадобятся. Перед кодом необходимо проставить знак '&'​

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

    Код:
    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 написал более простой и красочный тотуриал, но увы сказал не о всем
    Обязательно к прочтению:
    * Заветные правила при прописывании премишенса
    * Помощь по пермишенсу
     
    Mr_RoboMan, _NЕО_, monster и 4 другим нравится это.
  2. Vova96

    Vova96 Старожил Пользователь

    Баллы:
    173
  3. Автор темы
    HgeN

    HgeN Активный участник

    Баллы:
    68
    Первую ссылку я указал. Остальные - да, могут помочь. Я именно про РЕХ написал, про разделение прав между мирами обмолвился и еще киллер фича "минус права". Про это я вроде нигде не видел. Вон в туториале голда кто-то мне втирал чо в РЕХе нет поддержи мультимира.
     
  4. Vova96

    Vova96 Старожил Пользователь

    Баллы:
    173
    Это я ссылки для того, чтобы всё в одном месте было, оставил)
     
    ВремяПриключений нравится это.
  5. Автор темы
    HgeN

    HgeN Активный участник

    Баллы:
    68
    Сейчас в саму тему запилю. ИМХО чем больше статей, тем лучше. Как говорят: повторение - женщина-родитель по отношению к своему ребёнку учению.
     
  6. AHTOXA

    AHTOXA Активный участник

    Баллы:
    88
    Skype:
    Amir-Ahmet-Alhader
    Имя в Minecraft:
    Tristam
    Ошибкииии...так то информативно, но с опечатками, что за группа такая
    "
    - moderarot
    "
    Написал бы хотя бы ModeraVrot;)

    и еще NE GUSTA бла бла бла и код рядом повторяется.
     
    PiFFk0 нравится это.
  7. Автор темы
    HgeN

    HgeN Активный участник

    Баллы:
    68
    Аригато за поправки, это ж как я был упорот что б столько очепяток допустить >_<. Если честно, не очень удобный редактор у этого движка.
     
  8. Vova96

    Vova96 Старожил Пользователь

    Баллы:
    173
    Хотелось бы поднять тему чуть повыше, чем третья страница.
     
  9. Dante662

    Dante662 Активный участник

    Баллы:
    63
    Up(нехотелось бы чтоб туториал пропал
     
    Mr_RoboMan и slavik123123123 нравится это.
  10. iluha97

    iluha97 Активный участник

    Баллы:
    88
    Автор, спасибо огромное за объяснения!!!
    ----------------------------------------------------
    P.S. когда вы научитесь математике? :why: "Допустим мы хотим иметь три группы: админы, модеры, юзеры и випы."
     
    Mr_RoboMan и KalabukDima нравится это.
  11. Vova96

    Vova96 Старожил Пользователь

    Баллы:
    173
    Юзвери - ничто. Мы их не считаем.
     
  12. iluha97

    iluha97 Активный участник

    Баллы:
    88
    ладно....
     
  13. youngpirate32

    youngpirate32 Активный участник Пользователь

    Баллы:
    68
    а можно сделать исключение?
    то есть например
    дать весь ворлд едит
    но запретить worldedit.region.set
     
    ВремяПриключений нравится это.
  14. Vova96

    Vova96 Старожил Пользователь

    Баллы:
    173
    - -worldedit.region.set
     
  15. youngpirate32

    youngpirate32 Активный участник Пользователь

    Баллы:
    68
    при многим благодарен
     
  16. iluha97

    iluha97 Активный участник

    Баллы:
    88
    а как сделать так, чтоб разрешить людям при помощи команды (/i или /give) давать себе только определленые предметы? (например чтобы випы могли получать только 1,2,3,4,5,7,10) ?
     
  17. FrostJkeee

    FrostJkeee Активный участник

    Баллы:
    61
    Помогло, спасибо).
    Вот только проблема(

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

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

    HgeN Активный участник

    Баллы:
    68

    Может плагин не совместим с PEX
     
  19. KaMiKaZa

    KaMiKaZa Активный участник

    Баллы:
    88
    Кхем... Как WorldGuard может быть не совместим с PEX, уважаемый?

    Скинь свой "рабочий" permission сюда, или сразу, самостоятельно, запости на дЭнный сайт и исправь ошибки. Если выведет нормальную структуру - поздравляю, в 90-процентном случае всё заработает.
     
  20. Автор темы
    HgeN

    HgeN Активный участник

    Баллы:
    68
    XD
    И правда, это ж WG. Не вчитывался просто
     

Поделиться этой страницей