Перед вступлением

Данная статья является выжимкой самого важного с официальной wiki LuckPerms, если вы не нашли тут то, что искали - для вас есть luckperms wiki и её глупый брат через гугл переводчик, если вы не знаете английский.

Обратите внимание, что статью редактировали немного спустя рукава, из-за чего могут быть небольшие неточности. Если таковые обнаружатся - пишите @Quinowell. Исправим.

Вступление и всякая бяка

LuckPerms - это мощный и гибкий менеджер разрешений для серверов Minecraft, который поддерживает различные платформы:

  • Spigot(и его форки - paper, purpur и тд)
  • Sponge
  • Velocity
  • BungeeCord
  • Fabric (и Quilt)
  • Forge (и NeoForge)
  • Nukkit

Он позволяет детально настраивать доступы и права для игроков и групп на вашем сервере. Установка

  1. Скачайте последнюю версию LuckPerms соответствующую вашей серверной платформе с официального сайта или репозитория плагинов.
  2. Переместите скачанный файл .jar в папку plugins вашего сервера.
  3. Перезапустите сервер, чтобы плагин был загружен.

Настройка

После установки LuckPerms создаст конфигурационные файлы в папке plugins/LuckPerms. Вы можете отредактировать config.yml, чтобы настроить поведение плагина, включая настройки хранения данных, сообщения и многое другое.

Конфиг LuckPerms жирный, как поезд пассажирный, поэтому сюда включены лишь самые важные по мнению автора пункты. Краткие описания по поводу каждой опции доступны в самом config.yml, на английском правда. {.is-info}

Основные настройки

server

Определяет имя сервера, используемое для специфичных для сервера разрешений. Значение “global” игнорирует эту настройку.

use-server-uuid-cache

Указывает, следует ли использовать собственный кэш UUID сервера, когда запись для игрока отсутствует в LuckPerms. При false команды, использующие имя пользователя, не будут работать без прямого UUID.

Настройки хранения

storage-method

Выбор метода хранения данных (MySQL, MariaDB, PostgreSQL, MongoDB, H2, SQLite, YAML, JSON, HOCON, TOML).

data

Настройки для подключения к удаленным базам данных, включая адрес, базу данных, имя пользователя и пароль.

split-storage

Позволяет разделить хранение различных типов данных (пользователи, группы, треки и т.д.) по разным методам хранения. Синхронизация и сервис сообщений

sync-minutes

Частота автоматической синхронизации данных с хранилищем.

watch-files

Включение мониторинга файлов на изменения при использовании файлового метода хранения.

messaging-service

Выбор сервиса сообщений для информирования других серверов об изменениях (SQL, pluginmsg, lilypad, redis, rabbitmq, auto). Настройки кастомизации

temporary-add-behaviour

Определяет поведение при временном добавлении разрешений (accumulate, replace, deny).

primary-group-calculation

Метод расчета “основной” группы пользователя (stored, parents-by-weight, all-parents-by-weight).

log-notify

Включает или отключает уведомления в логах при изменении разрешений. Расчет разрешений и наследование

inheritance-traversal-algorithm

Алгоритм обхода дерева наследования (breadth-first, depth-first-pre-order, depth-first-post-order).

context-satisfy-mode

Режим определения удовлетворения контекста (at-least-one-value-per-key, all-values-per-key). apply-wildcards, apply-sponge-implicit-wildcards, apply-regex, apply-shorthand

Настройки для применения шаблонов разрешений, включая подстановочные знаки, неявные разрешения Sponge, регулярные выражения и сокращения.

Дополнительные настройки

enable-ops

Управляет использованием статуса оператора сервера (OP).

vault-unsafe-lookups

Разрешает или запрещает небезопасные запросы Vault для оффлайн игроков в основном потоке сервера.

Использование

Основные команды

LuckPerms работает через систему команд, которые можно вводить в консоли сервера или напрямую в игре, если у вас есть соответствующие права. Вот некоторые из основных команд:

/lp user <username> permission set <permission> true|false - Присвоить или отнять разрешение у игрока. /lp group <groupname> permission set <permission> true|false - Присвоить или отнять разрешение у группы. /lp group <groupname> parent set <parentgroup> - Назначить одну группу родительской для другой. /lp user <username> parent set <groupname> - Добавить игрока в группу. /lp user <username> parent addtemp <groupname> <duration> - Добавить игрока в группу на определённое время. /lp editor - Открыть веб-редактор для удобного управления разрешениями.

Веб редактор

<В будущем тут должны быть картиночки, типо красиво>

99% Процентов функционала доступно через редактор, поэтому советую обратить особое внимание на этот раздел {.is-info}

Один из самых мощных инструментов LuckPerms - веб-редактор. Вы можете получить доступ к нему, используя команду /lp editor. Это откроет в вашем браузере страницу с удобным интерфейсом для управления всеми вашими разрешениями и группами. Веб-редактор позволяет легко добавлять, удалять и изменять разрешения без необходимости вводить команды вручную.

/lp trusteditor xxxx-xxx

Когда вы откроете веб редактор, он предложит привязать себя к серверу. Это позволит применять настройки без ввода надоедливых…

/lp applyedits xxxxxxxxxx

Применить ваши изменения из веб редактора, если ваша сессия не привязана./lp applyedits vmNqad02P1/lp applyedits vmNqad02P1

Работа с разрешениями

Разрешения обычно представляют собой строку, например, essentials.kit, где essentials - это плагин, а kit - конкретное действие или набор действий, разрешённых в рамках этого плагина. Вы можете устанавливать разрешения индивидуально для каждого игрока или для групп.

Группы

Группы позволяют вам управлять разрешениями для многих пользователей одновременно. Вы можете создать группы для разных уровней игроков, администраторов, модераторов и т.д., и назначать разрешения этим группам.

Наследование

LuckPerms поддерживает наследование разрешений, что позволяет группам “наследовать” разрешения от других групп. Это полезно для создания иерархии разрешений, где базовые разрешения могут быть назначены одной группе, а дополнительные разрешения - другим группам.

Советы

  • Регулярно бекапьте ваши данные, особенно перед внесением значительных изменений в разрешения.
  • Используйте группы для управления разрешениями, чтобы минимизировать количество команд, необходимых для управления пользователями.
  • Тестируйте изменения разрешений в тестовой среде, прежде чем применять их на рабочем сервере.
  • Обучайте свою команду использованию LuckPerms, чтобы они могли эффективно управлять разрешениями на вашем сервере.