Перейти к основному содержимому

Группы прав

Группы определяют, какие команды игрок видит в автодополнении. Игрок попадает в группу через право commandguard.tab.<имяГруппы>. Группа default действует на всех без исключения.

Как это работает​

  1. Группы описываются в config.yml в секции tab:.
  2. Игроку выдаётся право commandguard.tab.<группа> (например, через LuckPerms или любой плагин прав).
  3. Плагин выбирает группу с наивысшим приоритетом среди тех, что есть у игрока.

Базовый пример​

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, поэтому чит-клиенты не могут «вытащить» скрытые команды в обход обычного автодополнения. Скрытые команды остаются скрытыми даже для модифицированных клиентов.