Группы прав
Группы определяют, какие команды игрок видит в автодополнении. Игрок попадает в
группу через право commandguard.tab.<имяГруппы>. Группа default действует на
всех без исключения.
Как это работает
- Группы описываются в
config.ymlв секцииtab:. - Игроку выдаётся право
commandguard.tab.<группа>(например, через LuckPerms или любой плагин прав). - Плагин выбирает группу с наивысшим приоритетом среди тех, что есть у игрока.
Базовый пример
tab:
default:
priority: 0
commands:
- "/spawn"
- "/help"
vip:
priority: 1
extends: default # наследует /spawn и /help
commands:
- "/home"
- "/tpa"
admin:
priority: 2
extends: vip
commands:
- "/gamemode"
- "/tp"
Выдать игроку группу vip (пример с LuckPerms):
/lp user <игрок> permission set commandguard.tab.vip true
commandguard.tab.<группа> — это обычное право Bukkit. LuckPerms здесь лишь
пример; подойдёт любая система прав.
Приоритет и слияние
- Если у игрока одна группа — используется она.
- Если групп несколько — выигрывает та, у которой наивысший приоритет.
- Если две группы имеют одинаковый приоритет — их списки команд объединяются.
Наследование (extends)
extends добавляет команды другой группы к текущей, без повторения:
tab:
moderator:
priority: 3
extends: vip # получает все команды vip
commands:
- "/ban"
- "/mute"
Наследование рекурсивное: moderator → vip → default.
Группы для отдельных серверов (servers) — только прокси
На прокси группу можно ограничить конкретными бэкенд-серверами через servers:
tab:
survival-admin:
priority: 2
servers:
- survival
- survival2
commands:
- "/gamemode"
Такая группа действует только когда игрок на сервере survival или survival2.
Если servers не указан — группа действует на всех серверах.
Режим белого списка
По умолчанию commands в config.yml — это чёрный список (заблокированные). Если
включить whitelist, всё наоборот: разрешены только перечисленные команды.
use_commands_as_whitelist: true
commands:
- "/spawn"
- "/msg"
Теперь работают только /spawn и /msg, остальное блокируется.
Защита от spy-клиентов
CommandGuard фильтрует сырые пакеты TAB_COMPLETE, поэтому чит-клиенты не могут
«вытащить» скрытые команды в обход обычного автодополнения. Скрытые команды
остаются скрытыми даже для модифицированных клиентов.