Permissions-плагины: настройка групп и прав
Модератор просит выдать себе команду /kick, а вы понимаете, что либо даёте ему полный оператор со всеми правами разом, либо лезете руками прописывать разрешения каждому новому человеку в команде отдельно. Оба варианта — боль: первый рано или поздно кончится случайно забаненным экономическим плагином, второй не масштабируется дальше пары админов. Permissions-плагин решает это одной моделью — группы, права, наследование — и дальше вы просто раздаёте людям готовые роли, а не гоняетесь за каждым правом вручную.
Содержание
- Как устроен permissions-плагин: группы, права, наследование
- Ставим LuckPerms и открываем консоль прав
- Создаём иерархию групп: игрок, VIP, модератор, админ
- Назначаем права: какие команды и зоны открывать группе
- Наследование: не дублируем права вручную
- Назначаем группу конкретному игроку
- Тот же принцип на других играх: Rust и CS2
Как устроен permissions-плагин: группы, права, наследование
Принцип у всех permissions-плагинов один и тот же, независимо от игры и конкретного инструмента. Есть три сущности:
- Права (permission nodes) — строки вида
essentials.kickилиworldedit.selection, которые плагины сервера проверяют перед тем, как разрешить игроку действие. Само право ничего не делает без плагина, который его читает — permissions-плагин только хранит, у кого что есть, а решение "пускать или нет" всегда принимает плагин-потребитель (Essentials, WorldEdit, WorldGuard и так далее). - Группы — именованные наборы прав (VIP, модератор, админ), которые можно назначать сразу пачке игроков, не расписывая права каждому по отдельности.
- Наследование — группа может быть "потомком" другой и автоматически получает всё, что есть у родителя, плюс что-то своё сверху. Это и есть механизм, который экономит 90% ручной работы: один раз выстроили цепочку — дальше просто добавляете права в нужное звено.
Дальше игроку назначается одна или несколько групп, и итоговый набор прав считается плагином на лету при каждой проверке команды. Самый известный и на 2026 год фактически стандартный инструмент такого рода для Minecraft — LuckPerms, на нём и разберём всю механику. В конце статьи — как та же логика выглядит в Rust (Oxide/uMod) и в CS2 (SourceMod), если у вас смешанный парк серверов.
Ставим LuckPerms и открываем консоль прав
LuckPerms бесплатен, ставится поверх Paper, Spigot, Purpur, Fabric (через отдельную Fabric-сборку), Sponge, а также на прокси BungeeCord и Velocity — то есть покрывает практически любую конфигурацию Minecraft-сети. Если у вас пока голый ванильный сервер без плагинов вообще, для начала стоит разобраться с чего начать с Bukkit и Spigot плагинами — LuckPerms ставится ровно тем же способом, что и любой другой .jar-плагин.
Порядок действий:
- Скачать актуальный
.jarс официального сайта luckperms.net (раздел Downloads, сборка под вашу платформу — Bukkit/Spigot/Paper отдельно от Fabric). - Положить файл в папку
plugins/сервера. - Перезапустить сервер (горячая загрузка плагина с нуля через
/reloadне рекомендуется — LuckPerms сам предупредит об этом в консоли, если попытаетесь). - Проверить, что плагин поднялся:
/lp info
Команда покажет версию, способ хранения данных и подключённые серверы (если у вас сеть из нескольких инстансов через один прокси). По умолчанию LuckPerms хранит данные в собственной SQLite/H2-базе внутри папки plugins/LuckPerms/ — этого достаточно для одного сервера. Если у вас сеть из нескольких серверов за BungeeCord/Velocity и права должны быть общими, в config.yml меняется storage-method на mysql (или mariadb) с указанием общей базы — тогда все серверы сети читают одни и те же группы и права.
Все дальнейшие команды выполняются с правом luckperms.* — по умолчанию оно есть только у оператора сервера (op) в консоли или у игрока с полным оператором.
Нужен игровой сервер?
MAATRIX GAMES — 45+ игр, деплой за минуты, DDoS-защита, автобэкапы. Тарифы от 399 ₽/мес.
Создать серверСоздаём иерархию групп: игрок, VIP, модератор, админ
В LuckPerms всегда существует группа default — в неё автоматически попадает любой новый игрок, если явно не назначить другую. Переопределить группу по умолчанию можно параметром default-group в config.yml, но проще и понятнее оставить default как есть и считать её ролью "обычный игрок".
Остальные группы создаются командой creategroup:
/lp creategroup vip
/lp creategroup moderator
/lp creategroup admin
Дальше стоит сразу задать вес (weight) — число, по которому LuckPerms определяет приоритет группы, если у игрока их несколько одновременно (например, показывать в чате префикс более "старшей" группы):
/lp group vip setweight 10
/lp group moderator setweight 20
/lp group admin setweight 30
Чем выше вес, тем выше приоритет группы. Для удобной последовательной выдачи ролей (когда админ вручную "повышает" игрока по цепочке) можно завести трек — упорядоченный путь групп:
/lp createtrack staff
/lp track staff append moderator
/lp track staff append admin
/lp user Steve promote staff
Команда promote сама переведёт игрока на следующую ступень трека, не нужно помнить точное название группы — удобно, когда повышениями занимается не только владелец сервера, а ещё пара доверенных модераторов.
Назначаем права: какие команды и зоны открывать группе
Права выдаются группе, а не читаются откуда-то автоматически — их нужно прописать явно для каждого плагина, который их проверяет. У большинства популярных плагинов (Essentials, WorldEdit, WorldGuard, LuckPerms сама) права описаны в документации или на странице плагина.
Пример для типичной связки "игрок — VIP — модератор — админ" на сервере с Essentials:
# базовые права обычного игрока
/lp group default permission set essentials.spawn true
/lp group default permission set essentials.help true
# VIP: косметика и удобства, без влияния на других игроков
/lp group vip permission set essentials.fly true
/lp group vip permission set essentials.kit.vip true
/lp group vip permission set essentials.workbench true
# модератор: управление игроками
/lp group moderator permission set essentials.kick true
/lp group moderator permission set essentials.mute true
/lp group moderator permission set essentials.tp true
/lp group moderator permission set essentials.vanish true
# админ: полный контроль, включая правку мира
/lp group admin permission set essentials.ban true
/lp group admin permission set worldedit.* true
/lp group admin permission set worldguard.region.* true
Обратите внимание на worldedit.* и worldguard.region.* — звёздочка на конце означает wildcard-право, включающее сразу всю ветку разрешений плагина. Wildcard удобен для верхних ролей, но злоупотреблять им на группах пониже не стоит: легко случайно открыть что-то, о чём не думали, когда плагин потом добавит новые команды под тем же префиксом в обновлении.
Права можно ограничивать и по зоне действия — контекстом. Например, разрешить полёт только в творческом мире:
/lp group vip permission set essentials.fly true world=creative
Без контекста право действует везде, где сервер вообще что-то проверяет; с контекстом — только при совпадении условия (мир, сервер сети, время суток для некоторых плагинов и так далее).
Наследование: не дублируем права вручную
Вручную прописывать модератору все права VIP плюс свои — плохая идея: как только меняете набор VIP-прав, придётся синхронно править и модератора, и админа. Вместо этого группы выстраиваются в цепочку через parent add:
/lp group vip parent add default
/lp group moderator parent add vip
/lp group admin parent add moderator
Теперь админ автоматически получает всё, что есть у модератора, тот — всё, что есть у VIP, а VIP — всё, что есть у обычного игрока. Добавили новое право обычному игроку в default — оно само "протекло" вверх по всей цепочке, до самого админа, без единой лишней команды.
Если какой-то группе в цепочке нужно явно забрать унаследованное право, а не добавить, права можно выставить в false — это override, который перекрывает унаследованное true:
/lp group vip permission set essentials.give false
Даже если essentials.give где-то выше окажется разрешено, у VIP оно будет явно запрещено — LuckPerms всегда берёт более специфичное значение, ближе к самому игроку, а не самое первое найденное в цепочке.
Назначаем группу конкретному игроку
Выдать игроку группу можно двумя способами: командой в игре/консоли или через веб-редактор.
Через команду:
/lp user Steve parent add vip
Игрок при этом остаётся и в default — группы не заменяют друг друга автоматически, они складываются. Если нужно временно выдать роль — например, доверенному человеку на время эвента или замену модератору в отпуске — есть версия с истечением срока:
/lp user Steve parent addtemp admin 7d
Через неделю право само отвалится, не нужно напоминание вручную снять роль. Отдельному игроку можно выдать и точечное право в обход групп, если это разовое исключение, а не новая роль:
/lp user Steve permission set essentials.fly true
Второй способ — веб-редактор LuckPerms. Команда /lp editor генерирует одноразовую ссылку на визуальный редактор в браузере (хостится на сервисе bytebin, том же, что использует сам проект LuckPerms). В нём можно мышкой раскрывать дерево групп, включать и выключать права галочками, перетаскивать наследование — удобно, когда правами занимается человек, которому проще кликать, чем печатать команды в консоли. После сохранения изменений редактор выдаёт код, который применяется командой /lp apply edits <код> обратно на сервере.
Полезная привычка после правок — проверить итоговый набор прав игрока одной командой, вместо того чтобы вспоминать всю цепочку наследования в уме:
/lp user Steve permission check essentials.kick
Плагин честно покажет, разрешено право, запрещено или не задано вовсе, и из какой именно группы оно унаследовано.
Тот же принцип на других играх: Rust и CS2
Модель "группы + права + наследование" — не изобретение LuckPerms, она встречается почти везде, где на сервере есть админский состав из нескольких человек с разными полномочиями.
Rust (Oxide/uMod). Здесь права выдаются через консоль сервера или RCON (см. подключение к RCON и основные команды, если ещё не настраивали удалённый доступ):
oxide.group add moderator "Модератор" 1
oxide.group parent moderator vip
oxide.usergroup add ИмяИгрока moderator
oxide.grant group moderator someplugin.kick
Логика полностью совпадает с LuckPerms: oxide.group parent — это то же наследование, oxide.grant group — то же назначение права группе, а не отдельному игроку. Подробнее про сам процесс установки Oxide/uMod и первые плагины — в отдельной статье Oxide и uMod: установка и первые плагины.
CS2 и другие Source-игры (SourceMod). Здесь права выдаются встроенной админ-системой: группы описываются в addons/sourcemod/configs/admin_groups.cfg с набором флагов (буквы, обозначающие конкретные полномочия — кик, бан, смена карты, доступ к чит-командам) и уровнем immunity, а кто из админов в какой группе — прописывается в admins_simple.cfg по SteamID, либо через SQL-таблицу при большом штате. Идея та же: не раздавать каждому персональный список флагов, а завести группы "модератор" и "админ" один раз.
Если на сервере не одна игра, а несколько — держать в голове три разных синтаксиса неудобно, но модель мышления одна: сначала спроектировать роли на бумаге, а потом переносить в конкретные команды плагина.
Нужен игровой сервер?
MAATRIX GAMES — 45+ игр, деплой за минуты, DDoS-защита, автобэкапы. Тарифы от 399 ₽/мес.
Создать серверЧастые вопросы
Можно ли выдать игроку сразу несколько групп?
Да, в LuckPerms это норма — например, VIP и модератор одновременно, если человек и донатер, и в штате. Итоговые права складываются, а вес групп определяет только приоритет отображения (префикс, цвет ника), а не то, какие права применяются.
Что будет, если у игрока в разных группах право задано и true, и false?
Побеждает более специфичное значение — прямое право у игрока перекрывает групповое, а среди групп ближе к игроку по цепочке наследования перекрывает более далёкое. Явный false всегда сильнее унаследованного true.
Нужно ли перезагружать сервер после каждой правки прав?
Нет, LuckPerms применяет изменения сразу — команды меняют данные в базе и сообщают всем подключённым серверам сети обновиться, если она есть. Полный рестарт нужен только на этапе самой установки плагина.
PermissionsEx (PEX) ещё стоит ставить в 2026?
Как исторический вариант он существует и где-то до сих пор работает, но у него ниже темп обновлений и меньше интеграций с современными плагинами по сравнению с LuckPerms — на новый сервер практического смысла ставить его вместо LuckPerms сейчас нет.
Как понять, какое именно право нужно для конкретной команды плагина?
Смотреть документацию плагина — почти все крупные проекты (Essentials, WorldEdit, WorldGuard) публикуют полный список permission-узлов на своей странице на SpigotMC/Hangar/GitHub. Угадывать название права наугад — плохая идея, можно случайно выдать не то, что думали.