12 KiB
Настройка 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
- Скачайте Bukkit-версию LuckPerms 5.5.x.
- Поместите JAR в папку
plugins/рядом с AdminMode. - Полностью перезапустите сервер.
- Проверьте из консоли:
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
Затем зайдите на сервер этим игроком:
- Выполните
/adminmode on. - Проверьте группы командой
lp user <ник> parent info— должна появитьсяadmin_moder. - Выполните
/adminmode off. - Снова проверьте группы —
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.