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

Туториал LuckPerms, что это и с чем его едят

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем InterWall, 9 апр 2018.

  1. Автор темы
    InterWall

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

    Баллы:
    173
    http://rubukkit.org/posts/1534002
    http://rubukkit.org/posts/1535688
    Тут подробно написано про значение параметра "server".
     
    Последнее редактирование: 31 июл 2018
  2. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    А последний чейнджлог под 1.13 говорит что
    То LuckPerms поддерживает 1.7.10 или нет?
     
  3. Автор темы
    InterWall

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

    Баллы:
    173
    На момент написания так и было. Совместимость была поломана, но сейчас всё хорошо.
     
  4. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Ну тогда можно опять советовать LP динозаврам на 1.7.10 :lol:
     
  5. Автор темы
    InterWall

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

    Баллы:
    173
    Поправил первый пост.

    Кстати, так как времени у меня появилось больше, я планирую продолжить цикл статей. Временные права и, возможно, контекст.
     
  6. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Ну и с того самого чейнджлога, думаю надо обновить
     
  7. Автор темы
    InterWall

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

    Баллы:
    173
    Информация получена, вот теперь дело должно пойти проще. По-хорошему все статьи надо переписать под новый LP. Там столько всего, что и не исправишь.
    Вообще сейчас пишу цикл статей для LP под губку для другого сайта. Может там всё это расскажу.
     
  8. anigami

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

    Баллы:
    61
    Ребят такая проблема возникла. Игроку из группы default выдаю право на группу deluxe

    ...lp user (игрок) parent addtemp deluxe 0d0h10m...

    После истечения времени 10 минут, игрок переходит обратно в группу default но, в группе deluxe есть два разрешения или больше не важно.

    ...lp group deluxe permission set nucleus.god.base true...
    ...lp group deluxe permission set nucleus.fly.base true...

    И после перехода в группу default если права были активны то они остаются. Голову сломал не пойму как побороть.
     
  9. Akame

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

    Баллы:
    76
    Имя в Minecraft:
    Akame
    Что значит активны ?
     
  10. anigami

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

    Баллы:
    61
    Похоже какой то баг был сервера, пересобрал все ушло. Выходило что можно было в группе VIP при окончании времени, игрок переходил автоматом в группу Default и все что можно было VIP стало можно и Default.

    Честно без понятия что был за глюк, после пересборки сервера все стало нормально.
     
  11. Peppa

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

    Баллы:
    66
    Имя в Minecraft:
    Kenny
    До последнего не хотел переходить на него, но как попробовал аж пожалел что раньше не поставил данное чудо.
     
  12. cubespace

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

    Баллы:
    103
    Стоит версия плагина 4.3.7 на bungee(версия для bungee) и других серверах
    Что то не получилось правильно настроить(
    Делал как писалось в первых постах о настройке серверов с отдельными правами.
    Есть сервер bungee lobby survival.
    На сервере lobby прописал команду (вес старого 100):
    Код:
    lp group staff meta addprefix 101 "&c[C] &f" server=survival
    Но на survival ничего не изменилось
    Вот что показало в логах bungee:
    Код:
    21:17:49 [INFO] [LP] LOG > (console@lobby) [G] (staff)
    21:17:49 [INFO] [LP] LOG > meta addprefix 101 [C]  server=survival
    21:17:51 [INFO] [LuckPerms] [Messaging] Received update ping with id: 0c4dba92-5e29-4ca8-beda-574c660f0c98
    
    В survival ничего в логах консоли не было.
    Конфиг bungee:
    Код:
    server: bungee
    use-server-uuid-cache: false
    messaging-service: bungee
    auto-push-updates: true
    push-log-entries: true
    broadcast-received-log-entries: true
    Конфиг survival:
    Код:
    server: survival
    include-global: true
    include-global-world: true
    apply-global-groups: true
    apply-global-world-groups: true
    
    messaging-service: bungee
    auto-push-updates: true
    push-log-entries: true
    broadcast-received-log-entries: true
    Конфиг lobby:
    Код:
    server: lobby
    include-global: true
    include-global-world: true
    apply-global-groups: true
    apply-global-world-groups: true
    
    messaging-service: bungee
    auto-push-updates: true
    push-log-entries: true
    broadcast-received-log-entries: true
    Все остальные настройки дефолтные. все сервера подключаються к одной базе mysql, и у всех одинаковые настройки подключения.

    Если сервер survival перезагрузить или плагин LuckPerms, то префикс уже будет новый на сервере.
    Что не так с настройками или как связать сервера ?
     
  13. Автор темы
    InterWall

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

    Баллы:
    173
    Для связки нужен только MySQL и ему подобные, на каждом сервере должно стоять в spigot.yml bungeecord: true, в настройках самой банджи должно стоять ip_forward: true.
    Пункт с БД обязателен, я про него писал в гайде на 2-й странице.
     
  14. cubespace

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

    Баллы:
    103
    Писал же выше что "все сервера подключаються к одной базе mysql, и у всех одинаковые настройки подключения (127.0.0.1)."
    На сурваче и лобби стоит: bungeecord: true
     
  15. Автор темы
    InterWall

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

    Баллы:
    173
    Тогда странно, попробуй использовать другую версию LP, может за последнее время вышло обновление. Вообще всё должно работать.
    Или проверь настройки на стороне мускуля, в них может быть ограничение на запросы.
     
  16. HorizonInGames

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

    Баллы:
    103
    Возможно ли как-нибудь изменение дефолтных таблиц лака на нужные?
    К примеру: У меня есть сайт, к которому я подключаю лакпермс. Но у меня уже создана таблица dle_users с группами. И мне нужно, чтобы группа на сайте и группа на сервере брала информацию из dle_users . group.
     
  17. Автор темы
    InterWall

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

    Баллы:
    173
    Конечно можно, в конфиге должно быть.
     
  18. Akame

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

    Баллы:
    76
    Имя в Minecraft:
    Akame
    НЕТ, если в коде не копаться самого плагина
     
  19. danyadanya

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

    Баллы:
    76
    Имя в Minecraft:
    Mazafaka
    не могли бы вы расписать или гайд кинуть
    • Локальные БД
    • Текстовые файлы
     
  20. Автор темы
    InterWall

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

    Баллы:
    173
    Раздел второй, часть первая. Локальные и файловые БД.
    Содержание:
    Поскольку плагин имеет свойство обновляться, а сидеть на старых версиях ни мне ни вам не хочется, я решил все инструкции разделить на разделы. Каждый раздел пишется для определённой версии плагина и игры, которые упоминаются в первых частях каждого из этих разделов.
    1. Первый раздел
      1. Часть первая. Быстрый старт.
      2. Часть вторая. Префиксы и суффиксы.
      3. Часть третья. Форматы хранения.
      4. Часть четвёртая. BungeeCord.
      5. Часть пятая. Мелкие, но важные детали.
    2. Второй раздел
      1. Часть первая. Локальные и файловые БД.
    Приветствую всех вас! Вопрос написания первой части второго раздела инструкций по LuckPerms! Вопросов много, а времени не особо много, поэтому сразу к делу. Конфигурация, с которой я буду работать в этом разделе:
    • PaperSpigot 1.12.2 (git-Paper-1581);
    • LuckPerms-Bukkit 4.3.11
      • enable-ops: false
      • commands-allow-op: false
      • apply-bukkit-default-permissions: false
    • Vault 1.6.7
    • ChatControl 5.7.1

    Итак, возвращаемся к форматам хранения. Как я писал ещё в третьей части первого раздела, базы данных делятся на удалённые, локальные и файловые. О работе с удалёнными БД подробно написано в той самой третьей части, здесь же мы поговорим о двух остальных.

    Локальными БД в LP являются H2 и SQLite, причём разработчик отмечает в комментариях, что в этом типе предпочтительнее будет использовать H2. Изменяется формат хранения внутри конфига, в строке: storage-method: sqlite (вместо sqlite можно установить h2 или любой другой формат). Никаких дополнительных настроек для их использования не требуется.
    Визуально локальные БД не представляют ничего особого, просто файлы, которые не получится отредактировать напрямую. В этом, кстати, их основное, помимо скорости, преимущество — редактировать такие БД можно либо при помощи особых программ (H2/SQLite Editor какой-нибудь), либо при помощи интерфейсов LP (команды и web-editor). Следовательно, сломать их не получится. Работа с этими БД происходит быстрее (по заявлению разработчика), чем с файлами, особенно при больших объёмах информации. Подробнее об этом можно также почитать на специализированных ресурсах.

    Файловые БД, если их можно назвать базами данных, делятся на несколько типов: yaml, json, hocon, toml, из которых разработчик советует выбирать yaml. Они представляют собой привычный всем формат хранения PermissionsEx — файл, который можно редактировать напрямую. Только, в отличие от PEX, LP разделяет файлы на несколько составляющих — группы, игроки, иерархические наследования (о которых как-нибудь в другой раз), кэш UUID и лог действий. Однако можно убрать всю структуру папок и закинуть всё в один файл, если добавить -combined после названия формата хранения:
    storage-method: yaml-combined
    Выглядит это примерно так:
    Код:
    default:
      permissions:
      - chatcontrol.chat.global
      - chatcontrol.chat.overrideranged
    admin:
      permissions:
      - '*'
      prefixes:
      - '&cAdmin&r ':
          priority: 20
    Любые прямые изменения файла применяются сразу благодаря функции File Watcher. LP сам видит все внесённые изменения и применяет их. Если же вам привычнее применять изменения самостоятельно, то File Watcher можно отключить в конфиге:
    watch-files: false
    После чего изменения применяются командой /lp sync.
    Если локальные БД редактировались только специальными программами, то здесь всё стандартно, достаточно обычного блокнота (или его заменителя) и прямых рук. Но появляется возможность нарушить синтаксис, что не есть хорошо. Да и скорость у файлов (особенно если он один) оставляет желать лучшего, тем более при больших объёмах.

    Смотрите, анализируйте и выберите самый оптимальный для вас вариант. Я же выбираю локальную H2.
    На этом я с вами прощаюсь. С вами был InterWall, надеюсь ещё увидимся.
     
    Последнее редактирование: 11 ноя 2018

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