Skip to main content

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:

OptionTypeDescription
priorityintegerWhich group wins when a player has multiple. Higher = wins
commandslistCommands shown in tab-complete for this group
extendsstringInherit all commands from another group
serverslist(Proxy only) Limit the group to specific backend servers
info

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:

ActionFormatExample
messagemessage: <text>message: &cNo permission!
titletitle: fadeIn;stay;fadeOut;title;subtitletitle: 20;40;20;&cBlocked;&7Stop
playsoundplaysound: SOUND;volume;pitchplaysound: BLOCK_NOTE_BLOCK_PLING;10;0.1
console_commandconsole_command: <cmd>console_command: kick %player% Bye
give_potion_effectgive_potion_effect: TYPE;duration;levelgive_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 commands list from a blacklist to a whitelist.

use_commands_as_whitelist: false
ValueBehavior
falseCommands in the list are blocked
trueCommands 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"
tip

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 actions
  • actions — same action format as blocked_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!"