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

Permission Groups

Groups control which commands appear in a player's tab-complete list. Each player is assigned one group, and the plugin filters tab-complete based on that group's command list.

How It Works

  1. Define groups in config.yml under tab:
  2. Assign the permission commandguard.tab.<group> to players via LuckPerms (or any permission plugin)
  3. CommandGuard picks the group with the highest priority the player has
  4. Only commands from that group appear in the player's tab-complete

Basic Example

tab:
default:
priority: 0
commands:
- "/spawn"
- "/help"
- "/rules"

vip:
priority: 1
extends: default
commands:
- "/home"
- "/tpa"
- "/tpaccept"

admin:
priority: 2
extends: vip
commands:
- "/gamemode"
- "/tp"
- "/ban"

Assign a group via LuckPerms:

/lp user <player> permission set commandguard.tab.vip true
/lp group vip permission set commandguard.tab.vip true

Priority

The priority value decides which group wins when a player has permissions for multiple groups.

SituationResult
Player has one groupThat group is used
Player has multiple groups with different prioritiesHighest priority group wins
Player has multiple groups with equal priorityTheir command lists are merged
Player has no group permissiondefault group is used
к сведению

The default group applies to everyone automatically. You never need to assign commandguard.tab.default manually.


Group Inheritance (extends)

Use extends to inherit all commands from another group without repeating them:

tab:
default:
priority: 0
commands:
- "/spawn"
- "/help"

vip:
priority: 1
extends: default # inherits /spawn and /help
commands:
- "/home"

moderator:
priority: 3
extends: vip # inherits /spawn, /help, /home
commands:
- "/ban"
- "/mute"

Inheritance is recursivemoderatorvipdefault.


Group Merging

If two groups have the same priority, their command lists are merged into one:

tab:
survival-player:
priority: 1
commands:
- "/home"
- "/spawn"

creative-player:
priority: 1
commands:
- "/gamemode"
- "/fly"

A player with both commandguard.tab.survival-player and commandguard.tab.creative-player will see all four commands.


Per-Server Groups (Proxy only)

On a proxy, you can restrict a group to specific backend servers using the servers option:

tab:
survival-admin:
priority: 2
servers:
- survival
- survival2
commands:
- "/gamemode"
- "/tp"

lobby-admin:
priority: 2
servers:
- lobby
commands:
- "/hub"
- "/motd"

When a player switches servers, CommandGuard re-evaluates their active group based on the current server.

подсказка

Per-server groups are only evaluated on the proxy side. Backend groups apply regardless of which server the player is on.