Universal Perms
Тебе когда-нибудь приходилось ставить на сервер мод, который не даёт permission-узлы для своих команд? Сталкивался с тем, что мод не позволяет заблокировать доступ к своей корневой команде (привет, luckperms)? Что ж, этот мод решает эту проблему и не только.
- Загрузчики
- FabricQuilt
- Скачиваний на Modrinth
- 8 тыс.
- Подписчиков на Modrinth
- 45
- версий
- 11
- Обновлён
- 21 июня 202621 июн.
- Опубликован
- в 2022
Коротко о моде
Ставится только на сервер; игрокам ставить не нужно
Universal Perms
Вы когда-нибудь сталкивались с необходимостью установить мод, который не предоставляет узлы прав для своих команд на сервере? Бывало так, что мод не позволял заблокировать доступ к своей корневой команде (это я про тебя, luckperms)? Что ж, этот мод решает эту проблему и не только.
Использование
Сначала вам понадобится установить другой мод для управления правами. Я рекомендую luckperms, но player roles тоже должны подойти. Перед началом использования этого мода рекомендую зайти на сервер один раз, чтобы luckperms узнал все узлы, и вы могли увидеть их в веб-редакторе.
Теперь перейдём к настройке прав. Этот мод предоставляет два права для каждой команды: одно начинается с universal_perms:use/, другое — с universal_perms:view/.
Если задано, право use переопределяет обычные требования команды: любой, у кого оно установлено в true, сможет использовать команду, а у кого в false — доступ будет запрещён. Право view полезно, если вы хотите просто скрыть автодополнение, но оставить работоспособность для макросов или чего-то ещё.
Для всех ванильных команд (да, даже execute) подкоманды и аргументы видны как отдельные подузлы. Например, чтобы отключить использование `/help , но не /help, вы используете узел universal_perms:use/help.command`. Однако это не работает с модами, использующими собственную систему подкоманд (почему, luckperms?).
Вы даже можете повлиять на все команды сразу, используя universal_perms:use и universal_perms:view как узлы прав, но я не вижу в этом особой пользы.
Прочие права
Этот мод также добавляет узлы прав для вещей, которые не являются командами, но всё ещё используют проверки прав.
- (до 26.2)
universal_perms.misc.selectorпозволяет использовать селекторы вроде@aи@e. В ванили для этого требуется уровень прав 2. (после 26.2 это теперь добавлено Minecraft какminecraft:commands/entity_selectors) universal_perms:misc/query_block_nbtпозволяет клиентам запрашивать некоторые данные блоков с сервера при использовании F3 + I. В ванили для этого требуется уровень прав 2universal_perms:misc/query_entity_nbt— то же самое, но для сущностейuniversal_perms:misc/update_difficultyпозволяет менять сложность в меню паузы.universal_perms:misc/update_difficulty_lockпозволяет менять статус блокировки сложности, по умолчанию —universal_perms:misc/update_difficultyuniversal_perms:misc/use_admin_blocksпозволяет пройти проверкуisCreativeLevelTwoOpиз minecraft, если игрок в творческом режиме. В основном используется для админских инструментов вроде командных блоков и debug sticks- (1.21.11+)
universal_perms:misc/gamemode_switcherзаставляет сервер принимать смену игрового режима игроками. Клиент дополнительно должен быть уведомлён об этой возможности через мод или повышенный уровень прав.
Также есть мета-право universal_perms:misc/forced_permission_level, которое можно задать, чтобы выдать игроку ванильный уровень прав. Уровни прав используются как значения по умолчанию для всех проверок, добавляемых этим модом. Они также отправляются клиенту и проверяются там для некоторых функций вроде переключателя игрового режима Они должны покрывать все проверки прав, которые ещё не покрыты.
Замечание о синтаксисе прав
С появлением api прав в Fabric API синтаксис прав UniversalPerms изменился. Все узлы прав теперь имеют форму идентификаторов, как и везде в Minecraft. Это изменение произошло в обновлении 26.2. В версиях до него заменяйте : и / во всех узлах прав на ..
Также учтите, что LuckPerms несколько странно интерпретирует имена прав-идентификаторов: LuckPerms заменяет : на .. Это значит, что, например, universal_perms:use/help превращается в universal_perms.use/help.
Подводные камни и особенности
- Разрешение
viewимеет приоритет надuse, когда дело доходит до отправки клиенту доступных команд. Это значит, что можно создать ситуации, когда команда видна, но использовать её нельзя. Команды, являющиеся алиасами других команд, ведут себя странно, когда их цель запрещена/скрыта, но сами они видны. Вот список ванильных алиасов, за которыми стоит следить:
tellиwперенаправляют наmsgtpперенаправляет наteleportxpперенаправляет наexperiancetmперенаправляет наteammsg
- Совместимость с другими модами не гарантируется, если эти моды добавляют свои команды позже обычного или меняют свои требования после того, как universal perms это сделает.
- Многие из прочих разрешений не работают без модификаций клиента или более высоких заявленных уровней разрешений.
Частые вопросы
Как установить Universal Perms?
Установите Fabric под свою версию Minecraft, скачайте Universal Perms под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Universal Perms?
У Universal Perms есть сборки для Minecraft 1.19.2–1.21.3, 1.21.7, 1.21.11, 26.2.
Нужен ли Universal Perms на сервере?
Ставится только на сервер; игрокам ставить не нужно