Permissions Reference¶
This page lists every permission node Verité uses, its default, and what it grants. Nodes are grouped by family: verite.* for core features, veritedoux.* for chat and build helpers, veritesauver.* for moderation, and the legacy drigz.staff.* family for inventory spectating.
Defaults follow the Bukkit convention:
opmeans server operators hold the node automatically. Everyone else must be granted it.falsemeans no one holds the node until it is granted explicitly, including operators.
ASCII node names
Permission nodes are always ASCII, even though the plugin name is written "Verité" in prose. Grant nodes exactly as written, for example veritesauver.ban, not veritésauver.ban.
How inheritance works¶
Some nodes declare children. Granting a parent automatically grants each child listed under it, unless you override the child directly. Children are shown in the "Grants children" column of each table and are spelled out again where relevant. Granting a child on its own does not grant the parent.
Core family: verite.*¶
These nodes cover the admin command surface, captcha bypass, and vanish.
| Node | Default | Grants | Grants children |
|---|---|---|---|
verite.admin |
op | Use the Verité admin commands (/verite status, /verite reload, /verite count). |
none |
verite.bypass |
false | Exempt the holder from captcha challenges. | none |
verite.vanish |
op | Toggle your own vanish with /vanish. |
none |
Vanish sub-nodes¶
The vanish command reads several further nodes to decide who may see hidden staff and which vanish perks apply. These nodes are checked in code and are not declared with an explicit default, so they resolve to not-granted until you assign them.
| Node | Grants |
|---|---|
verite.vanish.others |
Hide or reveal another player, for example /vanish Steve. |
verite.vanish.see |
See players who are currently vanished. Without this node, vanished players are hidden from you. |
verite.vanish.fly |
Keep flight enabled while vanished (when the vanish flight option is on). |
verite.vanish.fly.keep |
Retain flight after un-vanishing instead of having it removed. |
verite.vanish.invulnerable |
Be invulnerable while vanished (when the vanish invulnerability option is on). |
verite.vanish.effects |
Receive the configured vanish potion effects (when the vanish effects option is on). |
verite.vanish.level.<n> |
Set the holder's vanish tier to the highest number <n> granted. Higher tiers can see lower tiers. Requires LuckPerms; without it every staffer shares one tier and verite.vanish.see alone governs visibility. |
Vanish tiers
verite.vanish.level.<n> is a numeric tier. A staffer at a higher tier can see staff at lower tiers. Grant verite.vanish.level.1, verite.vanish.level.2, and so on. A player's tier is the highest numbered node they effectively hold.
Chat and build family: veritedoux.*¶
| Node | Default | Grants |
|---|---|---|
veritedoux.flag |
op | Read and edit Verité config flags in-game with /veriteflag. |
veritedoux.showbarriers |
(command permission) | Reveal nearby or all barrier blocks to yourself with /showbarriers. |
veritedoux.showlight |
(command permission) | Reveal nearby or all light blocks to yourself with /showlight. |
Command permissions
veritedoux.showbarriers and veritedoux.showlight are declared on their commands rather than in the permissions list, so they follow the default Bukkit command permission behaviour. Grant them to the staff who should use those build helpers.
Moderation family: veritesauver.*¶
This is the largest family. It covers punishments, lookups, chat control, the punishment tree GUI, exemptions, and notifications.
Punishment commands¶
| Node | Default | Grants | Grants children |
|---|---|---|---|
veritesauver.ban |
op | Ban and tempban players. | none |
veritesauver.mute |
op | Mute and tempmute players. | none |
veritesauver.ipban |
op | IP-ban players or addresses. | none |
veritesauver.ipmute |
op | IP-mute players or addresses. | none |
veritesauver.kick |
op | Kick players. | none |
veritesauver.captcha |
op | Manually challenge a player with a captcha. | none |
veritesauver.warn |
op | Warn players. | none |
veritesauver.unwarn |
op | Remove warnings. | none |
veritesauver.lockdown |
op | Seal or lift a server lockdown. | none |
veritesauver.lockdown.bypass |
op | Join the server during a lockdown. | none |
Unban and unmute¶
unban and unmute each split into an "any" node and an "own" node. The "any" node inherits the "own" node as a child, so granting the "any" node also grants the "own" node.
| Node | Default | Grants | Grants children |
|---|---|---|---|
veritesauver.unban |
op | Unban any player. | veritesauver.unban.own |
veritesauver.unban.own |
false | Unban only punishments you issued. | none |
veritesauver.unmute |
op | Unmute any player. | veritesauver.unmute.own |
veritesauver.unmute.own |
false | Unmute only punishments you issued. | none |
Own-only moderators
To let a staff member reverse only their own punishments, grant veritesauver.unban.own and veritesauver.unmute.own without the parent nodes. The /unban and /unmute commands themselves default to the .own permission.
Warnings and lookups¶
| Node | Default | Grants |
|---|---|---|
veritesauver.warnings |
op | View other players' warnings. |
veritesauver.checkwarn |
op | Check a player's warning count. |
veritesauver.warnlist |
op | List all active warnings. |
veritesauver.checkban |
op | Check a player's ban status, and list active bans. |
veritesauver.checkmute |
op | Check a player's mute status, and list active mutes. |
veritesauver.dupeip |
op | List accounts sharing an IP. |
veritesauver.iphistory |
op | View IP history. |
veritesauver.namehistory |
op | View name history. |
veritesauver.lastuuid |
op | Resolve a name to its last UUID. |
veritesauver.history |
op | View a player's punishment history. |
veritesauver.staffhistory |
op | View punishments a staff member issued. |
veritesauver.staffrollback |
op | Reverse a staff member's recent punishments. |
veritesauver.prunehistory |
op | Delete inactive punishment history. |
veritesauver.geoip |
op | Look up the country for a player or IP. |
veritesauver.whois |
op | View a player's full account dossier. |
veritesauver.whois.ip |
op | Include the raw last IP in a whois dossier. |
veritesauver.seen |
op | Show when a player was last online. |
Chat control¶
| Node | Default | Grants |
|---|---|---|
veritesauver.broadcast |
op | Broadcast a message to the server. |
veritesauver.chatclear |
op | Clear chat for everyone. |
veritesauver.chatmute |
op | Freeze or unfreeze global chat. |
veritesauver.slowmode |
op | Set chat slowmode. |
veritesauver.chat.bypass |
op | Speak past a chat mute and ignore slowmode. |
Admin and the punishment tree¶
veritesauver.admin reloads the moderation component and lifts duration caps and cooldowns. It inherits both tree nodes. veritesauver.tree.all additionally inherits veritesauver.tree.
| Node | Default | Grants | Grants children |
|---|---|---|---|
veritesauver.admin |
op | Reload the moderation component; bypass duration caps and cooldowns. | veritesauver.tree, veritesauver.tree.all |
veritesauver.tree |
op | Open the punishment tree GUI (/punish). |
none |
veritesauver.tree.all |
op | Use every punishment tree category regardless of rank mapping. | veritesauver.tree |
Exemption group¶
Exemption protects a target from being punished. A target holding veritesauver.exempt cannot be punished unless the issuer holds veritesauver.exempt.bypass. Both nodes also support a type-scoped form, letting you exempt a player from one punishment type while leaving others available.
| Node | Default | Grants |
|---|---|---|
veritesauver.exempt |
false | The holder cannot be punished (unless the issuer has the bypass). |
veritesauver.exempt.bypass |
op | Punish players who are otherwise exempt. |
Type-scoped exemption
Alongside the broad nodes above, the moderation code also checks a type-scoped form: veritesauver.exempt.<type> on the target and veritesauver.exempt.bypass.<type> on the issuer, where <type> is ban, mute, warning, or kick. For example, granting a player veritesauver.exempt.ban shields them from bans while leaving them muteable. These type-scoped nodes are checked in code and are not declared with an explicit default, so they resolve to not-granted until assigned.
Exemption requires an online target and live permissions
Permission exemption is only evaluated for online targets, because an offline player's live permissions cannot be read. An offline target is never treated as exempt. Console issuers are never blocked by exemption.
Notification group¶
Notification nodes decide who sees each category of moderation broadcast. Note the two false defaults: public punishment broadcasts and captcha announcements are opt-in even for operators.
| Node | Default | Grants |
|---|---|---|
veritesauver.notify.broadcast |
false | See public punishment broadcasts. |
veritesauver.notify.silent |
op | See silent (-s) punishment broadcasts. |
veritesauver.notify.dupeip_join |
op | Be alerted when an alt of a punished account joins. |
veritesauver.notify.client_join |
op | Be alerted when a player joins on a non-vanilla client. |
veritesauver.notify.banned_join |
op | Be alerted when a banned player is turned away at login. |
veritesauver.notify.captcha |
false | See captcha pass and fail announcements. |
Inventory spectating family: drigz.staff.*¶
The inventory spectate feature (/invsee and /endersee) uses a separate legacy drigz.* node family. The view nodes each inherit tab completion, and the edit nodes inherit the matching view node.
View and edit nodes¶
| Node | Default | Grants | Grants children |
|---|---|---|---|
drigz.staff.invsee |
op | View a player's inventory. | drigz.staff.invsee.tabcomplete |
drigz.staff.endersee |
op | View a player's ender chest. | drigz.staff.invsee.tabcomplete |
drigz.staff.invsee.edit |
op | Edit a player's inventory while spectating. | drigz.staff.invsee |
drigz.staff.endersee.edit |
op | Edit a player's ender chest while spectating. | drigz.staff.endersee |
drigz.staff.invsee.tabcomplete |
op | Tab-complete player names for spectate commands. | none |
Edit inherits view
Granting drigz.staff.invsee.edit also grants drigz.staff.invsee (view), and likewise for the ender chest. You do not need to grant both.
Spectate restriction¶
| Node | Default | Grants |
|---|---|---|
invsee.no.takeout |
false | While spectating, allow putting items in but never taking items out. |
Spectate bypass nodes¶
| Node | Default | Grants |
|---|---|---|
drigz.staff.invsee.bypass-exempt |
op | Ignore inventory spectate exemption on targets. |
drigz.staff.endersee.bypass-exempt |
op | Ignore ender chest spectate exemption on targets. |
Spectate exemption nodes¶
These nodes are held by the players who should be protected, not by staff. Exemption is resolved for online targets directly, and for offline targets through LuckPerms, so it applies whether or not the target is connected.
| Node | Default | Grants |
|---|---|---|
drigz.invsee.exempt |
false | Protects the holder from having their inventory spectated. |
drigz.endersee.exempt |
false | Protects the holder from having their ender chest spectated. |
Bypassing spectate exemption
A staff member with drigz.staff.invsee.bypass-exempt (or the ender chest equivalent) can spectate a target even if that target holds the matching exemption node.