Configuration
CommandGuard generates its config automatically on first start. The backend and proxy have separate config files.
File Locations
plugins/CommandGuard/config.yml ← Paper / Spigot
plugins/CommandGuard/velocity-config.yml ← Velocity
plugins/CommandGuard/bungee-config.yml ← Waterfall / BungeeCord
config.yml — Backend (Paper / Spigot)
# Language file to use. Files are located in the lang/ folder.
# Bundled languages: en_EN, ru_RU
lang: en_EN
lang
Language used for all plugin messages.
Available values: en_EN, ru_RU (or any custom file you place in lang/)
tab
Groups that define which commands appear in a player's tab-complete list.
tab:
default:
priority: 0
commands: []
vip:
priority: 1
extends: default
commands:
- "/home"
- "/tpa"
Each group has the following options:
| Option | Type | Description |
|---|---|---|
priority | integer | Which group wins when a player has multiple. Higher = wins |
commands | list | Commands shown in tab-complete for this group |
extends | string | Inherit all commands from another group |
servers | list | (Proxy only) Limit the group to specific backend servers |
The default group applies to all players automatically. Do not remove it.
blocked_command_default_actions
Actions executed when a player tries to use a blocked command.
blocked_command_default_actions:
- "message: &cYou can't use that command."
- "playsound: BLOCK_NOTE_BLOCK_PLING;10;0.1"
- "title: 20;40;20;&cBlocked!;&7Don't use that command!"
Available actions:
| Action | Format | Example |
|---|---|---|
message | message: <text> | message: &cNo permission! |
title | title: fadeIn;stay;fadeOut;title;subtitle | title: 20;40;20;&cBlocked;&7Stop |
playsound | playsound: SOUND;volume;pitch | playsound: BLOCK_NOTE_BLOCK_PLING;10;0.1 |
console_command | console_command: <cmd> | console_command: kick %player% Bye |
give_potion_effect | give_potion_effect: TYPE;duration;level | give_potion_effect: BLINDNESS;100;1 |
Color codes (&a, &c...) and hex colors (#ff5555) are supported in messages and titles.
Available placeholder in actions: %player%
update_notify
Show update notifications to OP players on join.
update_notify: true
is_network
Enable TabSync — proxy pushes its allowed commands to this backend.
is_network: false
Set to true on both the proxy and backend when running a network setup. See Cross-Server Setup.
legacy_support
Enable tab-complete packet filtering for 1.12 and older clients.
legacy_support: false
Requires ProtocolLib. Restart the server after changing this option.
use_commands_as_whitelist
Flip the
commandslist from a blacklist to a whitelist.
use_commands_as_whitelist: false
| Value | Behavior |
|---|---|
false | Commands in the list are blocked |
true | Commands in the list are allowed, everything else is blocked |
commands
The list of commands to block (or allow, if
use_commands_as_whitelist: true).
commands:
- "/plugins"
- "/pl"
- "/version"
- "/ver"
- "/about"
- "/bukkit:version"
- "/bukkit:plugins"
Commands must start with /. Use lowercase — the plugin matches case-insensitively.
block_colon_commands
Block all commands that contain
:(e.g./minecraft:gamemode,/bukkit:ver).
block_colon_commands: false
custom_commands_actions
Override the default blocked-command actions for specific commands.
custom_commands_actions:
example1:
commands:
- "/ver"
- "/version"
actions:
- "console_command: kick %player% You can't check the server version!"
Each entry under custom_commands_actions is a named group with:
commands— which blocked commands trigger these actionsactions— same action format asblocked_command_default_actions
The commands listed here must also be present in the main commands list.
velocity-config.yml / bungee-config.yml — Proxy
The proxy configs have the same options as the backend, plus two additional ones:
# Same as backend config
lang: en_EN
tab:
default:
priority: 0
commands:
- "/server"
- "/hub"
- "/skin"
blocked_command_default_actions:
- "message: &cYou can't use that command."
use_commands_as_whitelist: false
update_notify: true
is_network: false
commands:
- "/velocity"
block_colon_commands: false
Extra proxy-only options
tab_sync_delay
Delay in milliseconds before sending TabSync to the backend after a player connects.
tab_sync_delay: 500
Increase this if players connect to slow backend servers and see incomplete tab-complete on join.
Full Default Backend Config
lang: en_EN
tab:
default:
priority: 0
commands: []
vip:
priority: 1
extends: default
commands:
- "/home"
blocked_command_default_actions:
- "message: &8[&b&lCG&8] &cYou don't have permissions to use that command."
- "playsound: BLOCK_NOTE_BLOCK_PLING;10;0.1"
- "title: 20;40;20;&cWhat are you doing?;&7Don't use that command!"
update_notify: true
is_network: false
legacy_support: false
use_commands_as_whitelist: false
commands:
- "/?"
- "/bukkit:?"
- "/bukkit:ver"
- "/bukkit:version"
- "/bukkit:pl"
- "/bukkit:plugins"
- "/bukkit:help"
- "/bukkit:about"
- "/ver"
- "/version"
- "/plugins"
- "/pl"
- "/minecraft:me"
- "/about"
- "/icanhasbukkit"
block_colon_commands: false
custom_commands_actions:
example1:
commands:
- "/ver"
- "/version"
- "/about"
actions:
- "console_command: kick %player% You can't see the version of the server!"