Files
AdminMode/LUCKPERMS_SETUP.md
2026-08-02 22:21:03 +03:00

12 KiB
Raw Permalink Blame History

Настройка LuckPerms для AdminMode

Эта инструкция рассчитана на LuckPerms 5.5.x и стандартный config.yml, который поставляется с AdminMode.

Как AdminMode использует LuckPerms

LuckPerms является обязательной зависимостью: без него Paper не загрузит AdminMode.

Плагин использует две разновидности групп:

  • moder — постоянная группа обычного модератора. Она разрешает включать AdminMode.
  • admin_moder — временная группа. AdminMode сам добавляет её при входе в режим и удаляет при выходе.
  • chief_moder — рекомендуемая постоянная группа главного модератора. Главный модератор определяется правом adminmode.chief, а не названием группы.

Не назначайте admin_moder игрокам вручную как постоянную группу. Также не добавляйте постоянные группы в admin_mode.luckperms.groups: все перечисленные там группы плагин удаляет у игрока при выходе из AdminMode.

Проверяйте настройку на игроке без OP. Права adminmode.use, adminmode.admin, adminmode.chief и adminmode.reload имеют значение default: op, поэтому оператор сервера получит их даже без настроенного LuckPerms.

Права самого AdminMode:

  • adminmode.use — вход в режим и открытие панели.
  • adminmode.admin — сильные действия, принудительное отключение режима и /admfix.
  • adminmode.chief — управление доступом других модераторов и Creative в режиме, если он разрешён конфигом.
  • adminmode.reload — перезагрузка конфига AdminMode.
  • adminmode.special.belzebool — специальная способность, которая дополнительно привязана в коде к нику BelzeBool; обычным группам её выдавать не нужно.

1. Установка LuckPerms

  1. Скачайте Bukkit-версию LuckPerms 5.5.x.
  2. Поместите JAR в папку plugins/ рядом с AdminMode.
  3. Полностью перезапустите сервер.
  4. Проверьте из консоли:
lp info

Команды ниже можно выполнять в консоли без / или в игре от имени OP с /.

Если удобнее работать через браузер, команда lp editor открывает официальный веб-редактор LuckPerms. После сохранения изменений редактор выдаст команду, которую нужно выполнить на сервере для применения данных. Команды из следующих разделов дают тот же результат без веб-редактора.

2. Создание групп

Выполните:

lp creategroup moder
lp creategroup admin_moder
lp creategroup chief_moder

Если LuckPerms сообщает, что группа уже существует, это не ошибка — переходите дальше.

3. Права обычного модератора

Выдайте постоянной группе moder право входить в режим:

lp group moder permission set adminmode.use true

Обычный модератор сможет использовать /adminmode, /adm и /am, но не сможет ограничивать других модераторов или выполнять административные команды повышенного риска.

4. Права, доступные только внутри AdminMode

Группа admin_moder автоматически появляется у игрока после включения режима. Рекомендуемый минимальный набор:

lp group admin_moder permission set adminmode.admin true

adminmode.admin разрешает сильные действия AdminMode, включая принудительное отключение режима другого игрока и /admfix.

Если сильные действия обычным модераторам не нужны, не выдавайте этот узел. Вход и выход из режима продолжат работать по adminmode.use.

Права на кнопки наказаний выдаются отдельно. Пример полного набора для временной группы:

lp group admin_moder permission set adminmode.punishment.warn true
lp group admin_moder permission set adminmode.punishment.unwarn true
lp group admin_moder permission set adminmode.punishment.mute true
lp group admin_moder permission set adminmode.punishment.unmute true
lp group admin_moder permission set adminmode.punishment.kick true
lp group admin_moder permission set adminmode.punishment.ban true
lp group admin_moder permission set adminmode.punishment.unban true

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

CoreProtect

Если установлен CoreProtect и модераторы должны пользоваться его инструментами из панели AdminMode, добавьте необходимые права в временную группу:

lp group admin_moder permission set coreprotect.inspect true
lp group admin_moder permission set coreprotect.lookup true

Rollback и restore меняют мир, поэтому выдавайте их только доверенным сотрудникам:

lp group admin_moder permission set coreprotect.rollback true
lp group admin_moder permission set coreprotect.restore true

Не используйте coreprotect.*, если модератору не нужен полный доступ к CoreProtect.

InvSee и команды наказаний

AdminMode вызывает команду invsee от имени модератора, поэтому право на неё зависит от установленного у вас плагина инвентарей. Добавьте соответствующий permission этого плагина в admin_moder.

По умолчанию команды warn, mute, ban и kick выполняются от консоли:

moderation_actions:
  dispatch_as_console: true

При такой настройке отдельные права на команды наказаний модератору не нужны. Если установить dispatch_as_console: false, эти команды начнут выполняться от имени игрока, и их permissions также потребуется выдать группе admin_moder.

Чтобы узнать неизвестное право конкретной команды, используйте LuckPerms verbose:

lp verbose command <ник_модератора> "invsee <ник_цели>"

5. Главный модератор

Пусть chief_moder наследует обычную группу и получает специальные права:

lp group chief_moder parent add moder
lp group chief_moder permission set adminmode.chief true
lp group chief_moder permission set adminmode.reload true
  • adminmode.chief разрешает ограничивать и восстанавливать доступ других модераторов, смотреть статус ограничений и использовать Creative внутри AdminMode, если это разрешено конфигом.
  • adminmode.reload разрешает /adminmode reload.

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

6. Назначение игроков

Обычный модератор:

lp user <ник> parent add moder

Главный модератор:

lp user <ник> parent add chief_moder

Используется parent add, а не parent set, чтобы случайно не удалить другие существующие группы игрока.

Примеры:

lp user Steve parent add moder
lp user Alex parent add chief_moder

7. Конфигурация AdminMode

Проверьте файл plugins/AdminMode/config.yml:

admin_mode:
  luckperms:
    enabled: true
    groups:
      - "admin_moder"
    remove_on_disable: true

groups:
  base: "moder"
  admin: "admin_moder"
  chief: "chief_moder"

Рекомендации:

  • Оставьте enabled: true.
  • Оставьте remove_on_disable: true, чтобы временные группы снимались при выходе игрока из режима.
  • Значение groups.admin должно совпадать с основной временной группой.
  • В admin_mode.luckperms.groups перечисляйте только группы, которые должны выдаваться временно.
  • groups.base не назначает игроку группу автоматически.
  • Название groups.chief само по себе не даёт полномочий: обязательно право adminmode.chief.

После изменения конфига выполните:

adminmode reload

или перезапустите сервер.

8. Проверка настройки

Проверьте постоянную группу и право игрока:

lp user <ник> info
lp user <ник> permission check adminmode.use

Затем зайдите на сервер этим игроком:

  1. Выполните /adminmode on.
  2. Проверьте группы командой lp user <ник> parent info — должна появиться admin_moder.
  3. Выполните /adminmode off.
  4. Снова проверьте группы — admin_moder должна исчезнуть, а moder или chief_moder остаться.

9. Если временная группа не снялась

Удалите её вручную:

lp user <ник> parent remove admin_moder

После аварийной остановки сервера AdminMode сохраняет активную сессию и продолжает её после следующего входа игрока. Обычно достаточно войти на сервер и корректно выполнить /adminmode off.

Если команда недоступна, проверьте:

lp user <ник> permission check adminmode.use
lp user <ник> permission check adminmode.admin
lp user <ник> permission check adminmode.chief

Официальная документация: LuckPerms Usage, Command Usage, Verbose.