Соберём структуру прав для типичного сервера: игроки, донат-ранги, команда модерации. Команды можно копировать по очереди, права в примерах взяты из EssentialsX, LiteBans и CoreProtect.
Названия прав зависят от плагина, точный список смотрите в его документации.
premium наследует vip, vip наследует default. У premium есть всё, что у vip и обычных игроков, плюс своё.
Что класть в донат-группы: по правилам Mojang продавать преимущество в игре нельзя, поэтому безопаснее косметика и удобства без влияния на геймплей. Подробнее в гайде про донат в разделе о продвижении.
Число - приоритет префикса: если игрок в нескольких группах, показывается префикс с наибольшим приоритетом. Сам LuckPerms префикс в чат не выводит. Это делает плагин чата, например EssentialsX Chat через Vault, или любой плагин с поддержкой PlaceholderAPI через плейсхолдер %luckperms_prefix%.
parent set заменяет все группы игрока одной, parent add добавляет к имеющимся. addtemp выдаёт группу на время: 30d, 12h, 1d12h. Когда срок выйдет, LuckPerms снимет группу сам, это удобно для привилегий на месяц.
Модерация наследует default, а не донат-группы: модератор не должен бесплатно получать донатную косметику. Если модератор ещё и донатер, у него будут обе группы, а префикс покажется тот, у которого приоритет выше.
Имя сервера для контекста server задаётся в config.yml LuckPerms, параметр server. Полёт в лобби - нормальная косметика, а полёт в выживании уже преимущество, поэтому такие права и ограничивают контекстом.
Если право «не работает»:permission check покажет, есть ли право у игрока и откуда оно пришло. verbose выводит проверки прав в реальном времени: включили, выполнили команду, увидели, какое именно право проверяет плагин.
Вопросы по теме — пишите ниже, ответим.
Как устроен LuckPerms
- Группа - набор прав, например vip или moder.
- Наследование - группа получает все права родителя, поэтому права не нужно дублировать.
- Вес - приоритет группы, когда у игрока их несколько.
Базовые права игроков
Код
/lp group default permission set essentials.spawn true
/lp group default permission set essentials.home true
/lp group default permission set essentials.sethome true
/lp group default permission set essentials.tpa true
/lp group default permission set essentials.tpaccept true
/lp group default permission set essentials.msg trueДонат-ранги с наследованием
Код
/lp creategroup vip
/lp group vip parent add default
/lp group vip setweight 10
/lp group vip permission set essentials.hat true
/lp group vip permission set essentials.chat.color true
/lp creategroup premium
/lp group premium parent add vip
/lp group premium setweight 20
/lp group premium permission set essentials.nick true
/lp group premium permission set essentials.nick.color trueЧто класть в донат-группы: по правилам Mojang продавать преимущество в игре нельзя, поэтому безопаснее косметика и удобства без влияния на геймплей. Подробнее в гайде про донат в разделе о продвижении.
Префиксы
Код
/lp group vip meta setprefix 10 "&a[VIP] &f"
/lp group premium meta setprefix 20 "&6[Premium] &f"Выдача рангов
Код
/lp user Steve parent set vip
/lp user Steve parent add premium
/lp user Steve parent addtemp vip 30d
/lp user Steve parent remove vipКоманда модерации
Код
/lp creategroup helper
/lp group helper parent add default
/lp group helper setweight 50
/lp group helper permission set litebans.mute true
/lp group helper permission set coreprotect.inspect true
/lp creategroup moder
/lp group moder parent add helper
/lp group moder setweight 60
/lp group moder permission set litebans.tempban true
/lp group moder permission set coreprotect.lookup trueКонтексты: право на одном сервере или в одном мире
Код
/lp group vip permission set essentials.fly true server=lobby
/lp group default permission set essentials.home false world=arenaВеб-редактор и проверка
Набирать всё в чате не обязательно. Команда /lp editor даёт ссылку на веб-редактор, где видны все группы и права и их можно править мышкой. После сохранения редактор покажет команду /lp applyedits с кодом, её нужно выполнить на сервере.Если право «не работает»:
Код
/lp user Steve permission check essentials.hat
/lp verbose on
/lp verbose offЧастые ошибки
- Право * кому попало. Звёздочка даёт абсолютно всё, включая управление самим LuckPerms.
- Одинаковый вес у разных групп. Порядок становится непредсказуемым.
- Сеть серверов с локальным хранилищем. Для нескольких серверов нужна общая база (storage-method в config.yml, например MySQL или MariaDB) и синхронизация через messaging-service, иначе изменения не дойдут до остальных серверов.
Вопросы по теме — пишите ниже, ответим.