
Vanilla Permissions
Мод Vanilla Permissions добавляет полноценную систему прав доступа в ванильный Майнкрафт. Позволяет гибко настроить команды, селекторы, операторские блоки и многое другое для каждого игрока на сервере.
Vanilla Permissions - гибкие права в ванильном Майнкрафте
Vanilla Permissions - мод для Minecraft (Fabric), который прикручивает к игре полноценную систему пермишенов. Зачем это нужно? В ванильном Майнкрафте всё завязано на уровнях оператора - игрок либо админ, либо нет. Ты не можешь, например, разрешить кому-то только /gamemode, но запретить креатив. Или дать доступ к командным блокам без права ставить структуры. Этот мод решает эти проблемы.
Как это работает
Vanilla Permissions сам по себе ничего не проверяет - ему нужен провайдер прав. Проще всего использовать LuckPerms (или другой мод, поддерживающий fabric-permissions-api). Просто поставь нужный плагин/мод на сервер, настрой права - и всё заработает.
Полный список прав
| Право | Что даёт |
|---|---|
minecraft.adminbroadcast.receive | Получать фидбек от команд |
minecraft.bypass.spawn-protection | Строить в зоне спавна |
minecraft.bypass.force-gamemode | Игнорировать принудительный режим игры |
minecraft.bypass.move-speed.player | Не вылетать за "Player moved too fast" |
minecraft.bypass.move-speed.vehicle.<entity> | То же, но сидя на транспорте (например minecraft.boat) |
minecraft.bypass.chat-speed | Не вылетать за слишком быстрые сообщения |
minecraft.bypass.whitelist | Заходить на сервер без вайтлиста |
minecraft.bypass.player-limit | Заходить при заполненном сервере |
minecraft.command.<command> | Доступ к команде (о синтаксисе ниже) |
minecraft.debug_stick.use.<block> | Использовать палку отладки на конкретном блоке |
minecraft.debug_chart | Смотреть график отладки |
minecraft.<query/load>.<entity/block> | Ставить блоки с NBT и использовать команды отладки |
minecraft.operator_block.<командный_блок/структура/джунгли>.<место/правка/ломка> | Взаимодействовать с операторскими блоками |
minecraft.selector | Использовать селекторы в командах |
minecraft.selector.entity.<selector> | Выбирать не-игроков через селектор |
minecraft.selector.player.<selector> | Выбирать других игроков |
minecraft.selector.self.<selector> | Выбирать себя |
Мета-права (дополнительные настройки)
Метаданные - это опции, влияющие на поведение прав.
| Мета | Тип | Описание |
|---|---|---|
minecraft.selector.limit.<selector> | Integer | Ограничить кол-во сущностей, которых можно выбрать селектором |
minecraft.selector.weight.<selector> | Integer | Вес селектора - кто кого может выбирать |
Команды и их под-права
Ванна Пермишенс использует нодовую систему Brigadier. Каждая команда - это дерево из узлов, у каждого свой пермишен.
Пример с /gamemode:
- Корень
/gamemodeтребуетminecraft.command.gamemode - Под-узлы
survival,creativeи т.д. -minecraft.command.gamemode.survival
По умолчанию, если игрок имеет доступ к корню, все под-команды считаются открытыми. Но ты можешь запретить конкретные:
Allow:
minecraft.command.gamemode
Deny:
minecraft.command.gamemode.creative
minecraft.command.gamemode.spectator
Тогда игрок сможет переключаться только между выживанием и приключением. Гибко, правда?
Селекторы: тонкая настройка
Если дать игроку minecraft.selector, он сможет использовать любые селекторы в своих командах. Но можно дробить дальше.
Например, для /teleport:
| Команда | Селектор | <selector> строка |
|---|---|---|
/teleport @e @s | @e (targets) | teleport.targets.targets.destination |
/teleport @e @s | @s (destination) | teleport.destination.targets.destination |
/teleport @e ~ ~ ~ | @e (targets) | teleport.targets.targets.location |
Можно использовать wildcard - teleport.* закроет все селекторы телепорта. Но в LuckPerms wildcard для метаданных не работает из коробки - придётся поставить Metadata Wildcard для fabric-permissions-api.
Вес селекторов
Фишка: ты можешь назначать вес игрокам. Сущности без веса всегда взаимодоступны. Если вес есть - селектор может выбрать только тех, чей вес меньше или равен его собственному.
Пример: у Player1 вес 7, у Player2 -1, у Player3 7, у Player4 нет веса. Player1 и Player3 могут менять геймод всем, Player2 - только Player2 и Player4, Player4 - вообще всем.
Команды для жизни
/execute if permission <entity> <permission>
Позволяет датапакам проверять права игрока. Например: /execute if permission @s group.admin run say I am an admin
Модификаторы выполнения
- feedback:
/execute feedback [silent | console]или/execute feedback entity <сущность>- выключить или перенаправить фидбек. - oplevel:
/execute oplevel <уровень>или/execute oplevel <цели>- понизить уровень прав для выполнения команды. Полезно, если хочешь запустить команду от игрока, но с проверками байпаса.
Клиентская и серверная стороны
Если мод стоит на сервере, клиенты будут думать, что они ОП - это позволяет им с соответствующими правами открывать интерфейс операторских блоков и меню переключения геймода.
Если мод стоит и на клиенте - игроки без ОП, но с правом на /gamemode, тоже могут пользоваться меню. Пригодится на серверах вроде Spigot.
Что по факту
Vanilla Permissions - вещь для тех, кто хочет заморочиться. Если у тебя простой сервер для друзей - может быть overkill. Но если ты строишь что-то серьёзное, с кучей мини-игр, админских зон и тонкими ролями - бери связку Vanilla Permissions + LuckPerms и настраивай под себя. Это даст тебе контроль, которого в ванильном Майнкрафте просто нет.
Ставить разрешено на любой сервер с Fabric. Скачайте Vanilla Permissions и начните управлять сервером Майнкрафта по-настоящему.
