# Commands

This page lists every command Verité registers, grouped by what you use it for. Each table gives the command and its aliases, what it does, the arguments it takes, and the permission required to run it.

Conventions used in the argument column:

- `<required>` is a value you must supply.
- `[optional]` is a value you may omit.
- `a|b` means choose one of the listed options.
- `-s` is the silent flag on moderation commands. When present, the action is announced only to staff who hold the silent notification permission instead of being broadcast publicly.

!!! note "Permission defaults"
    Most permissions in the tables below default to operators. Grant them to your staff ranks through your permissions plugin (for example LuckPerms) so that non-operator staff can use the commands.

## Duration format

Several commands accept a duration. Where a command takes a duration as its own argument, supply it in that position. For `ban` and `mute`, a duration placed at the very start of the reason turns a permanent punishment into a temporary one.

Durations are written as a number followed by a unit, for example `30m`, `2h`, `7d`, or `1w`.

## Admin and configuration

| Command | Aliases | Description | Arguments | Permission |
| --- | --- | --- | --- | --- |
| `/verite` | `/vt` | Show which Verité components are active, reload the plugin, or read a player's flag count. | `[status&#124;reload&#124;count <player>&#124;config <flag> [value]&#124;dashboard]` | `status` is open to everyone. `reload` and `count` require `verite.admin`. |
| `/verite config` | | Read and edit Verité config flags from in-game. | `<flag> [value]` | `veritedoux.flag` |
| `/verite dashboard` | | Open the web dashboard and receive a private link. | `[trust <code>&#124;close]` | `verite.admin` |

Running `/verite` with no arguments (or `/verite status`) shows the on or off state of the chat filter, moderation, and vanish components. `/verite reload` reloads the chat filter, moderation, vanish, and config. `/verite count <player>` reports how many messages Verité has flagged for that player. `/verite config` with no arguments lists every editable config key; `/verite config <flag>` reads one, and `/verite config <flag> <value>` changes it.

`/verite dashboard` opens a browser session for managing punishments, players, and the configuration from outside the game. `/verite dashboard trust <code>` approves a waiting connection, and `/verite dashboard close` ends every open session. See the [Dashboard](page:web-dashboard) guide.

## Bans and mutes

| Command | Description | Arguments | Permission |
| --- | --- | --- | --- |
| `/ban` | Ban a player. The ban is permanent unless a duration leads the reason. | `<player> [-s] [reason]` | `veritesauver.ban` |
| `/tempban` | Temporarily ban a player for a set duration. | `<player> <duration> [-s] [reason]` | `veritesauver.ban` |
| `/mute` | Mute a player. The mute is permanent unless a duration leads the reason. | `<player> [-s] [reason]` | `veritesauver.mute` |
| `/tempmute` | Temporarily mute a player for a set duration. | `<player> <duration> [-s] [reason]` | `veritesauver.mute` |
| `/ipban` | Ban a player or IP address by IP. | `<player&#124;IP> [-s] [duration] [reason]` | `veritesauver.ipban` |
| `/ipmute` | Mute a player or IP address by IP. | `<player&#124;IP> [-s] [duration] [reason]` | `veritesauver.ipmute` |
| `/kick` | Kick an online player from the server. | `<player> [-s] [reason]` | `veritesauver.kick` |
| `/unban` | Unban a player. | `<player> [reason]` | `veritesauver.unban.own` for punishments you issued, `veritesauver.unban` for any. |
| `/unmute` | Unmute a player. | `<player> [reason]` | `veritesauver.unmute.own` for punishments you issued, `veritesauver.unmute` for any. |
| `/checkban` | Check a player's ban status. | `<player>` | `veritesauver.checkban` |
| `/checkmute` | Check a player's mute status. | `<player>` | `veritesauver.checkmute` |
| `/banlist` | List active bans, one page at a time. | `[page]` | `veritesauver.checkban` |
| `/mutelist` | List active mutes, one page at a time. | `[page]` | `veritesauver.checkmute` |

## Warnings

| Command | Description | Arguments | Permission |
| --- | --- | --- | --- |
| `/warn` | Warn a player. | `<player> [-s] [reason]` | `veritesauver.warn` |
| `/unwarn` | Remove a player's most recent warning. | `<player> [reason]` | `veritesauver.unwarn` |
| `/warnings` | Show a player's active warnings, or your own if no player is given. | `[player]` | Viewing your own warnings is open. Viewing another player's warnings requires `veritesauver.warnings`. |
| `/checkwarn` | Show how many active warnings a player has. | `<player>` | `veritesauver.checkwarn` |
| `/warnlist` | List every active warning on the server, one page at a time. | `[page]` | `veritesauver.warnlist` |

## Punishment history

| Command | Description | Arguments | Permission |
| --- | --- | --- | --- |
| `/history` | Show a player's punishment history. | `<player>` | `veritesauver.history` |
| `/staffhistory` | Show the punishments a staff member has issued. | `<player>` | `veritesauver.staffhistory` |
| `/staffrollback` | Reverse a staff member's recent punishments, optionally limited to a recent window. | `<staff> [duration]` | `veritesauver.staffrollback` |
| `/prunehistory` | Delete a player's inactive punishment history, optionally older than a duration. | `<player> [duration]` | `veritesauver.prunehistory` |

## Punishment GUI and captcha

| Command | Aliases | Description | Arguments | Permission |
| --- | --- | --- | --- | --- |
| `/punish` | `/punishtree`, `/ptree` | Open the punishment tree GUI to punish a player. | `[player]` | `veritesauver.tree` (or `veritesauver.tree.all` for every category). |
| `/captcha` | | Manually challenge a player, or every player, with a captcha. | `<standard&#124;detailed> <player&#124;*>` | `veritesauver.captcha` |

The punishment tree presents your configured punishment categories. `veritesauver.tree.all` lets a staff member use every category regardless of the rank mapping. Players with `verite.bypass` are exempt from captcha challenges.

## Account lookups

| Command | Description | Arguments | Permission |
| --- | --- | --- | --- |
| `/whois` | Show a player's full account dossier, whether online, offline, or never joined. | `<player>` | `veritesauver.whois` (`veritesauver.whois.ip` also shows the raw last IP). |
| `/seen` | Show when a player was last online. | `<player>` | `veritesauver.seen` |
| `/geoip` | Look up the country for a player or IP address. | `<player&#124;IP>` | `veritesauver.geoip` |
| `/dupeip` | List accounts that share a player's or IP's address. | `<player&#124;IP>` | `veritesauver.dupeip` |
| `/iphistory` | Show the IPs an account has connected from. | `<player>` | `veritesauver.iphistory` |
| `/namehistory` | Show the usernames an account has used. | `<player>` | `veritesauver.namehistory` |
| `/lastuuid` | Show the UUID last seen for a name. | `<player>` | `veritesauver.lastuuid` |

## Inventory inspection

| Command | Aliases | Description | Arguments | Permission |
| --- | --- | --- | --- | --- |
| `/invsee` | `/inventorysee`, `/isee` | View a player's inventory. | `<username&#124;uuid>` | `drigz.staff.invsee` |
| `/endersee` | `/enderchestsee`, `/esee` | View a player's ender chest. | `<username&#124;uuid>` | `drigz.staff.endersee` |

Editing another player's inventory or ender chest while spectating requires `drigz.staff.invsee.edit` or `drigz.staff.endersee.edit`. A player can protect themselves from inspection with `drigz.invsee.exempt` or `drigz.endersee.exempt`.

## Chat control

| Command | Aliases | Description | Arguments | Permission |
| --- | --- | --- | --- | --- |
| `/bc` | `/broadcast` | Broadcast a message to the whole server. | `<message>` | `veritesauver.broadcast` |
| `/chatclear` | `/cc` | Clear chat for everyone. | none | `veritesauver.chatclear` |
| `/chatmute` | `/mute *` | Freeze or unfreeze global chat. | none | `veritesauver.chatmute` |
| `/slowmode` | | Set chat slowmode, either globally or for a single player. | `<duration&#124;off> [player]` | `veritesauver.slowmode` |

Players with `veritesauver.chat.bypass` can speak past a chat mute and ignore slowmode.

## Server lockdown

| Command | Description | Arguments | Permission |
| --- | --- | --- | --- |
| `/lockdown` | Seal the server so new players cannot join, or lift an active lockdown. | `<reason&#124;end>` | `veritesauver.lockdown` |

Give a reason to start a lockdown, or `end` to lift it. Players with `veritesauver.lockdown.bypass` can still join while a lockdown is active.

## Vanish

| Command | Aliases | Description | Arguments | Permission |
| --- | --- | --- | --- | --- |
| `/vanish` | `/v` | Toggle your own vanish, or another player's. | `[player]` | `verite.vanish` for yourself, `verite.vanish.others` to hide or reveal another player. |

## Fake join and leave

| Command | Aliases | Description | Arguments | Permission |
| --- | --- | --- | --- | --- |
| `/fakejoin` | `/fjoin` | Broadcast a fake join message for yourself or another player, without anyone actually joining. | `[player]` | `verite.fakejoin` for yourself, `verite.fakejoin.others` to name another player. |
| `/fakeleave` | `/fleave` | Broadcast a fake leave message for yourself or another player, without anyone actually leaving. | `[player]` | `verite.fakeleave` for yourself, `verite.fakeleave.others` to name another player. |

With no player named the message is about you. The console must always name a player. The wording and colour of both messages are set under `fake.connect` in the config, where `%player%` is replaced with the chosen name.

## Building helpers

| Command | Aliases | Description | Arguments | Permission |
| --- | --- | --- | --- | --- |
| `/showbarriers` | `/sb`, `/sbar` | Reveal barrier blocks to yourself while building. | `all&#124;move&#124;off` | `veritedoux.showbarriers` |
| `/showlight` | `/sl`, `/slig` | Reveal light blocks to yourself while building. | `all&#124;move&#124;off` | `veritedoux.showlight` |

For both building helpers, `all` reveals every matching block, `move` reveals the blocks near you and updates as you move, and `off` stops revealing them.

## Notification permissions

Some staff alerts are controlled purely by permission rather than by a command. Grant these to decide who sees each alert.

| Permission | What it shows |
| --- | --- |
| `veritesauver.notify.broadcast` | Public punishment broadcasts. |
| `veritesauver.notify.silent` | Silent (`-s`) punishment broadcasts. |
| `veritesauver.notify.dupeip_join` | An alert when an alt of a punished account joins. |
| `veritesauver.notify.client_join` | An alert when a player joins on a non-vanilla client. |
| `veritesauver.notify.banned_join` | An alert when a banned player is turned away at login. |
| `veritesauver.notify.captcha` | Captcha pass and fail announcements. |

## Exemptions and overrides

| Permission | Effect |
| --- | --- |
| `veritesauver.exempt` | The holder cannot be punished, unless the issuer holds the bypass below. |
| `veritesauver.exempt.bypass` | Lets the holder punish players who are otherwise exempt. |
| `veritesauver.admin` | Reload the moderation component, and bypass duration caps and cooldowns. |
| `verite.bypass` | Exempt from captcha challenges. |
