Overview
/mod <player> — a clean paginated GUI.Commands
Staff utility commands available as direct slash commands.
| Command | Usage | Description | Permission | Alias |
|---|---|---|---|---|
/mod
|
/mod <player> |
Opens the full moderation GUI for a player. Supports online and offline targets. | vg.command.mod |
— |
/vanish
|
/vanish |
Toggles vanish mode. Vanished players are hidden from non-staff, have no join/quit messages, and receive Night Vision. | vg.command.vanish |
— |
/staffchat
|
/staffchat [message] |
With a message argument: sends directly to staff chat. Without arguments: toggles staff chat mode (all chat goes to staff only). | vg.command.staffchat |
/sc |
/commandspy
|
/commandspy |
Toggles command spy. When enabled, you will see every command run by any player in real time. | vg.command.commandspy |
/cspy |
/back
|
/back |
Teleports you to your previously saved location. Location is saved automatically before each teleport. | vg.command.back |
— |
/clearchat
|
/clearchat |
Pushes 100 blank lines to every online player, effectively clearing the global chat. Announces who cleared it. | vg.command.clearchat |
— |
/slowmode
|
/slowmode <seconds|off> |
Sets a global chat cooldown. Players without vg.chat.bypass must wait the specified seconds between messages. Use off or 0 to disable. |
vg.command.slowmode |
— |
/globalmute
|
/globalmute |
Toggles a server-wide chat mute. Only players with vg.chat.bypass can speak while active. Announces to all players. |
vg.command.globalmute |
— |
/report
|
/report <player> <reason> |
Submits a report against an online player. All online staff are notified immediately. Reports are stored in the database. | vg.command.report |
— |
/staffreports
|
/staffreports |
Lists all unresolved player reports with IDs, reporter, target, reason, and timestamp. | vg.command.staffreports |
— |
/vanguard
|
/vanguard <reload|version|altexempt> |
reload — Reloads config.yml and messages.yml without restart. version — Displays plugin and server version. altexempt <p1> <p2> — Permanently exempts two players from each other's alt detection (useful for shared-IP households). | vg.admin |
/vg |
/mod GUI — Actions
Run /mod <player> to open the GUI. Only actions you have permission for are shown. The GUI flow is: Action → Reason → Duration (temp) → Confirm (destructive) → Execute.
⚔ Punishment
Issues a formal warning logged to the database. Configurable auto-punish thresholds trigger temp-mutes, temp-bans, or permanent bans on repeat offences.
vg.command.warn
Instantly disconnects the player with a formatted kick message showing the reason and staff name.
vg.command.kick
Prevents the player from chatting for the specified duration. Works on offline players. Durations: 10 min → 30 days.
vg.command.tempmute
Permanently prevents the player from chatting until manually unmuted. Persists across restarts via database.
vg.command.mute
UUID-based ban for a set duration. Player is kicked if online. Duration range: 10 min → 30 days via GUI picker.
vg.command.tempban
Permanent UUID-based ban. Requires confirmation step. Player sees a custom ban screen on reconnect attempt.
vg.command.ban
Blocks all connections from the player's last known IP address. IP is resolved from the database or live connection. Requires confirmation.
vg.command.ipban
The player appears to be chatting normally but their messages are only visible to themselves and staff. Useful for catching spam bots.
vg.command.shadowmute
🔧 Staff Utilities
Completely halts the player's movement. Head rotation is still allowed. The player is notified they are frozen. The GUI button dynamically shows Freeze or Unfreeze depending on the player's current frozen state. Executes immediately on click.
vg.command.freeze
Puts you in spectator mode and sets the target as your spectator camera focus. You are automatically vanished. Your previous location and game mode are saved — use /back to exit spectate and return, which restores your game mode and removes vanish if it was applied by spectate.
vg.command.spectate
Opens the player's full inventory (including armor and off-hand) for inspection. Items can be taken or viewed.
vg.command.invsee
Opens the player's ender chest for inspection without requiring them to be near an ender chest block.
vg.command.endersee
Teleports you to the target player's current location. Your previous location is saved for /back.
vg.command.teleport
Teleports the target player to your current location. The player is notified they have been summoned.
vg.command.bring
Restores the target player's health to their maximum health value. Executes immediately on click.
vg.command.heal
Restores the target player's hunger and saturation to full. Executes immediately on click.
vg.command.feed
Clears ALL items from the player's inventory including armor. Requires confirmation. This action is irreversible.
vg.command.clearinv
📁 Information Lookup
Displays all past punishments for the player — bans, mutes, kicks, warns — with dates, staff names, and reasons. Works on offline players.
vg.command.history
Displays only formal warning records for the player with reasons, dates, and issuing staff member. Works on offline players.
vg.command.warnings
Queries the IP history database for other accounts that have connected from the same IP. Accounts exempted via /vanguard altexempt are excluded from results.
vg.command.alts
Permission Nodes
All permissions are false by default unless noted. Assign them via your permissions plugin (e.g. LuckPerms).
★ Rank Bundles
All Permission Nodes
| Node | Description | Default |
|---|---|---|
| Moderation GUI Actions | ||
vg.command.mod | Open the /mod GUI for any player | OP |
vg.command.warn | Issue formal warnings via GUI | OP |
vg.command.kick | Kick players via GUI | OP |
vg.command.tempmute | Temporarily mute players via GUI | OP |
vg.command.mute | Permanently mute players via GUI | OP |
vg.command.tempban | Temporarily ban players via GUI | OP |
vg.command.ban | Permanently ban players via GUI | OP |
vg.command.ipban | IP-ban players via GUI | OP |
vg.command.shadowmute | Shadow-mute players via GUI | OP |
vg.command.freeze | Freeze player movement via GUI | OP |
vg.command.spectate | Spectate a player via GUI | OP |
vg.command.invsee | Inspect player inventory via GUI | OP |
vg.command.endersee | Inspect player ender chest via GUI | OP |
vg.command.teleport | Teleport to a player via GUI | OP |
vg.command.bring | Pull a player to you via GUI | OP |
vg.command.heal | Heal a player via GUI | OP |
vg.command.feed | Feed a player via GUI | OP |
vg.command.clearinv | Clear player inventory via GUI (confirm required) | OP |
vg.command.history | View punishment history via GUI | OP |
vg.command.warnings | View warning history via GUI | OP |
vg.command.alts | Check alt accounts via GUI | OP |
| Staff Tools | ||
vg.command.vanish | Toggle vanish mode | OP |
vg.command.staffchat | Toggle or use staff chat | OP |
vg.command.commandspy | Toggle command spy mode | OP |
vg.command.back | Teleport to previous location | OP |
vg.command.clearchat | Clear global chat | OP |
vg.command.slowmode | Set or disable chat slow mode | OP |
vg.command.globalmute | Toggle server-wide chat mute | OP |
vg.command.report | Submit a player report | All |
vg.command.staffreports | View pending player reports | OP |
| Special | ||
vg.admin | Access to /vanguard reload, version, and altexempt | OP |
vg.chat.bypass | Bypass global mute and slow mode restrictions | OP |
vg.exempt | Cannot be punished by sub-admin staff (no punish.override) | false |
vg.punish.override | Can punish anyone regardless of rank or exempt status | false |
Staff Hierarchy System
Vanguard enforces a rank-based hierarchy to prevent lower staff from punishing superiors.
How it works
- The hierarchy list is defined in
config.ymlunderhierarchy:as an ordered list of permission nodes (lowest → highest). - When a staff member opens
/mod <target>, the target's rank is compared to the staff member's rank. - If the target has an equal or higher rank, destructive actions are blocked with a denial message.
- Players with
vg.exemptcannot be punished by anyone withoutvg.punish.override. - Players with
vg.punish.overridebypass all hierarchy checks and can punish anyone.
Example config.yml hierarchy
hierarchy: - vg.class.mod # rank 1 (lowest) - vg.class.admin # rank 2 (highest)
Add as many intermediate ranks as needed. A mod cannot punish another mod, and cannot punish an admin.