feat: pizdec
This commit is contained in:
234
LUCKPERMS_SETUP.md
Normal file
234
LUCKPERMS_SETUP.md
Normal file
@@ -0,0 +1,234 @@
|
||||
# Настройка 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. Проверьте из консоли:
|
||||
|
||||
```text
|
||||
lp info
|
||||
```
|
||||
|
||||
Команды ниже можно выполнять в консоли без `/` или в игре от имени OP с `/`.
|
||||
|
||||
Если удобнее работать через браузер, команда `lp editor` открывает официальный веб-редактор LuckPerms. После сохранения изменений редактор выдаст команду, которую нужно выполнить на сервере для применения данных. Команды из следующих разделов дают тот же результат без веб-редактора.
|
||||
|
||||
## 2. Создание групп
|
||||
|
||||
Выполните:
|
||||
|
||||
```text
|
||||
lp creategroup moder
|
||||
lp creategroup admin_moder
|
||||
lp creategroup chief_moder
|
||||
```
|
||||
|
||||
Если LuckPerms сообщает, что группа уже существует, это не ошибка — переходите дальше.
|
||||
|
||||
## 3. Права обычного модератора
|
||||
|
||||
Выдайте постоянной группе `moder` право входить в режим:
|
||||
|
||||
```text
|
||||
lp group moder permission set adminmode.use true
|
||||
```
|
||||
|
||||
Обычный модератор сможет использовать `/adminmode`, `/adm` и `/am`, но не сможет ограничивать других модераторов или выполнять административные команды повышенного риска.
|
||||
|
||||
## 4. Права, доступные только внутри AdminMode
|
||||
|
||||
Группа `admin_moder` автоматически появляется у игрока после включения режима. Рекомендуемый минимальный набор:
|
||||
|
||||
```text
|
||||
lp group admin_moder permission set adminmode.admin true
|
||||
```
|
||||
|
||||
`adminmode.admin` разрешает сильные действия AdminMode, включая принудительное отключение режима другого игрока и `/admfix`.
|
||||
|
||||
Если сильные действия обычным модераторам не нужны, не выдавайте этот узел. Вход и выход из режима продолжат работать по `adminmode.use`.
|
||||
|
||||
Права на кнопки наказаний выдаются отдельно. Пример полного набора для временной группы:
|
||||
|
||||
```text
|
||||
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, добавьте необходимые права в временную группу:
|
||||
|
||||
```text
|
||||
lp group admin_moder permission set coreprotect.inspect true
|
||||
lp group admin_moder permission set coreprotect.lookup true
|
||||
```
|
||||
|
||||
Rollback и restore меняют мир, поэтому выдавайте их только доверенным сотрудникам:
|
||||
|
||||
```text
|
||||
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 выполняются от консоли:
|
||||
|
||||
```yaml
|
||||
moderation_actions:
|
||||
dispatch_as_console: true
|
||||
```
|
||||
|
||||
При такой настройке отдельные права на команды наказаний модератору не нужны. Если установить `dispatch_as_console: false`, эти команды начнут выполняться от имени игрока, и их permissions также потребуется выдать группе `admin_moder`.
|
||||
|
||||
Чтобы узнать неизвестное право конкретной команды, используйте LuckPerms verbose:
|
||||
|
||||
```text
|
||||
lp verbose command <ник_модератора> "invsee <ник_цели>"
|
||||
```
|
||||
|
||||
## 5. Главный модератор
|
||||
|
||||
Пусть `chief_moder` наследует обычную группу и получает специальные права:
|
||||
|
||||
```text
|
||||
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. Назначение игроков
|
||||
|
||||
Обычный модератор:
|
||||
|
||||
```text
|
||||
lp user <ник> parent add moder
|
||||
```
|
||||
|
||||
Главный модератор:
|
||||
|
||||
```text
|
||||
lp user <ник> parent add chief_moder
|
||||
```
|
||||
|
||||
Используется `parent add`, а не `parent set`, чтобы случайно не удалить другие существующие группы игрока.
|
||||
|
||||
Примеры:
|
||||
|
||||
```text
|
||||
lp user Steve parent add moder
|
||||
lp user Alex parent add chief_moder
|
||||
```
|
||||
|
||||
## 7. Конфигурация AdminMode
|
||||
|
||||
Проверьте файл `plugins/AdminMode/config.yml`:
|
||||
|
||||
```yaml
|
||||
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`.
|
||||
|
||||
После изменения конфига выполните:
|
||||
|
||||
```text
|
||||
adminmode reload
|
||||
```
|
||||
|
||||
или перезапустите сервер.
|
||||
|
||||
## 8. Проверка настройки
|
||||
|
||||
Проверьте постоянную группу и право игрока:
|
||||
|
||||
```text
|
||||
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. Если временная группа не снялась
|
||||
|
||||
Удалите её вручную:
|
||||
|
||||
```text
|
||||
lp user <ник> parent remove admin_moder
|
||||
```
|
||||
|
||||
После аварийной остановки сервера AdminMode сохраняет активную сессию и продолжает её после следующего входа игрока. Обычно достаточно войти на сервер и корректно выполнить `/adminmode off`.
|
||||
|
||||
Если команда недоступна, проверьте:
|
||||
|
||||
```text
|
||||
lp user <ник> permission check adminmode.use
|
||||
lp user <ник> permission check adminmode.admin
|
||||
lp user <ник> permission check adminmode.chief
|
||||
```
|
||||
|
||||
Официальная документация: [LuckPerms Usage](https://luckperms.net/wiki/Usage), [Command Usage](https://luckperms.net/wiki/Command-Usage), [Verbose](https://luckperms.net/wiki/Verbose).
|
||||
Reference in New Issue
Block a user