Skip to content

Configuration Reference

This page documents every key in Verité's config.yml. Defaults shown are the values Verité ships with. Config keys, values, and code appear exactly as they are written in the file (ASCII), while prose uses the accented name Verité.

Verité's configuration is grouped into modules:

  • general: plugin-wide settings.
  • chat.filter: the chat filter, Veritédoux.
  • moderation: the moderation system, Veritésauver.
  • invsee: inventory viewing.
  • vanish: the vanish system, Veritévoiler.

Editing flags in game

Many of these keys can be read and changed from in game with /veriteflag, which patches the single key on disk and keeps every comment in the file. This command is gated behind the veritedoux.flag permission. Keys that /veriteflag can edit are marked in the tables below. Most edits apply live; the module gates (chat.filter.enabled, moderation.enabled, vanish.enabled) and the two auto-update flags require a restart to take effect.

General

The general section holds plugin-wide settings.

general:
  prefix: "<#808080>[<#B1C7F0>Verité<#808080>]<reset>"
  auto.update.config: true
Key Default Controls
general.prefix <#808080>[<#B1C7F0>Verité<#808080>]<reset> The public facing prefix on every Verité message, in MiniMessage format.
general.auto.update.config true Automatically appends new keys to the config when the plugin updates. Does not bypass tokenizer updates. Editable with /veriteflag as auto.update.config, but requires a restart to apply.

Chat Filter (Veritédoux)

The chat.filter section configures message filtering.

chat.filter:
  enabled: true
  auto.update.eve: false
  block.message: "@prefix Your message wasn't sent. Please keep chat friendly."
  repeat.message: "@prefix You've already sent that message. Please wait a moment before repeating yourself."
Key Default Controls
chat.filter.enabled true Enables the chat filter module. Editable with /veriteflag as chat.filter.enabled, but requires a restart to apply.
chat.filter.auto.update.eve false Automatically updates the .eve configuration files when new entries are added. When enabled, custom entries are overwritten or discarded when the .eve files are replaced with updated versions. Editable with /veriteflag as auto.update.eve, but requires a restart to apply.
chat.filter.block.message @prefix Your message wasn't sent. Please keep chat friendly. The notice shown when a message is blocked by the filter. Supports &-codes and &#RRGGBB hex. Use @prefix to insert your chosen prefix.
chat.filter.repeat.message @prefix You've already sent that message. Please wait a moment before repeating yourself. The notice shown when a message is blocked as a repeat. Supports &-codes and &#RRGGBB hex, and @prefix.

Self-harm message

The self-harm block message cannot be changed. This ensures users are always given the proper guidance and support when dealing with self-harm related content.

Languages

The chat.filter.general.lang block chooses which languages are content-checked and which detection categories run for each. Profanity detection is disabled by default so that servers which permit casual swearing are unaffected. Adjust these to match your server's tolerance.

Each language block supports these keys:

Key Default Controls
allowed true Whether the language is permitted in chat.
self.harm.detection true Detects self-harm related content in this language.
abuse.detection true Detects abusive content in this language.
slur.detection true Detects slurs in this language.

Profanity keys are per language. Each is false by default. Set one to true to flag profanity for that dialect or region.

Language Profanity keys (all default false)
english profanity.global
spanish profanity.spain, profanity.argentinian, profanity.chilean, profanity.colombian, profanity.mexican, profanity.peruvian, profanity.venezuelan, profanity.uruguayan, profanity.cuban, profanity.dominican, profanity.panamanian, profanity.global
french profanity.france, profanity.canadian
portuguese profanity.european, profanity.brazilian
german profanity.global
italian profanity.global

Two additional entries cover text whose language could not be resolved:

Key Default Controls
chat.filter.general.lang.unknown.lang.allowed true Whether messages in a language Verité does not recognize are allowed.
chat.filter.general.lang.undeterminable.allowed true Whether messages whose language cannot be determined are allowed.

An example language block:

chat.filter:
  general.lang:
    english:
      allowed: true
      self.harm.detection: true
      abuse.detection: true
      slur.detection: true
      profanity.global: false

Advanced

The chat.filter.advanced block holds tuning for readability, spam, and repeat detection.

chat.filter:
  advanced:
    keep.chat.readable: false
    block.possible.spam: false
    block.repeat.messages: false
    block.repeat.exact: true
    block.repeat.near: true
    block.repeat.history.size: 5
    block.repeat.window.ms: 5000
    block.repeat.similarity.threshold: 0.85
    block.unsupported.languages: false
Key Default Controls
keep.chat.readable false Blocks messages that may make chat unreadable, such as fancy font substitutions, even when the message would otherwise pass the filter. Emojis are not blocked. Editable with /veriteflag as keep.chat.readable.
block.possible.spam false Uses Verité's tokenizer to detect and block possible spam and advertisements. Editable with /veriteflag as block.possible.spam.
block.repeat.messages false Enables repeat message detection. Every key below only applies when this is enabled.
block.repeat.exact true Blocks a message identical to a recent one from the same user. Comparison ignores case, accents, and repeated letters, so HELLO, hello, and helllo all count as the same.
block.repeat.near true Blocks a message that is similar (but not identical) to a recent one from the same user. How similar counts as a match is set by block.repeat.similarity.threshold.
block.repeat.history.size 5 How many of each user's most recent messages are remembered and checked for repeats. Set to -1 to remember all messages, or 0 to disable repeat detection entirely.
block.repeat.window.ms 5000 How far back in time (milliseconds) a remembered message still counts as a repeat. Messages older than this are ignored. Set to -1 to ignore time and remember messages indefinitely, or 0 to disable repeat detection entirely.
block.repeat.similarity.threshold 0.85 For near-repeat matching, how alike two messages must be to count as a repeat. A value between 0 and 1, where 1 means identical. Higher is stricter (fewer blocks); lower is more aggressive.
block.unsupported.languages false Blocks languages Verité does not yet support. The supported languages are English, Spanish, French, Italian, Portuguese, and German. All other languages are blocked when this is enabled. Editable with /veriteflag as block.unsupported.languages.

Language Detection Weights

The chat.filter.advanced.language block tunes how Verité assigns a language to each word in a message.

chat.filter:
  advanced:
    language:
      context.weight: 0.6
      smoothing.passes: 3
      known.word.weight: 50
      unknown.word.weight: 0.1
Key Default Controls
context.weight 0.6 A value from 0 to 1 for how hard neighbouring words pull a word's language. Higher means a word leans more on its neighbours and less on its own base rate. Editable with /veriteflag as language.context.weight.
smoothing.passes 3 How many times the neighbour pull is applied across the line. Editable with /veriteflag as language.smoothing.passes.
known.word.weight 50 Weight for a word a language's dictionary knows but the rate table does not list. Higher means dictionary membership counts for more.
unknown.word.weight 0.1 Floor weight for a word no dictionary knows and the rate table omits.

Evasion Passes

The chat.filter.advanced.evasion block toggles the passes that undo attempts to slip content past the filter. Each is true by default. Disabling passes may reduce latency slightly.

chat.filter:
  advanced:
    evasion:
      homoglyph: true
      entity: true
      deobfuscate: true
      segmentation: true
      fingerprint: true
Key Default Controls
homoglyph true Folds fullwidth, Cyrillic, and math-bold letter spoofs back to ASCII. Editable with /veriteflag as evasion.homoglyph.
entity true Strips HTML entities and similar encodings. Editable with /veriteflag as evasion.entity.
deobfuscate true Reverses character-inserted and spaced-out obfuscation. Editable with /veriteflag as evasion.deobfuscate.
segmentation true Splits run-together words back into separate words. Editable with /veriteflag as evasion.segmentation.
fingerprint true Catches transposed spellings. Editable with /veriteflag as evasion.fingerprint.

Profanity Confidence

The chat.filter.advanced.use.profanity.confidence block sets the minimum confidence before a message is treated as profane.

chat.filter:
  advanced:
    use.profanity.confidence:
      enabled: true
      profanity.confidence.threshold: 0.30
Key Default Controls
enabled true Enables the profanity confidence threshold. Editable with /veriteflag as use.profanity.confidence.enabled.
profanity.confidence.threshold 0.30 The minimum confidence required to consider a message profane. Editable with /veriteflag as use.profanity.confidence.profanity.confidence.threshold.

Moderation (Veritésauver)

The moderation section configures the moderation system.

moderation:
  enabled: true
  use.rank.weights: true
  auto.ban.alts: false
  expire.warns.after: 7d
  shared.ip.scan.limit: 20
Key Default Controls
moderation.enabled true Enables the moderation module. Editable with /veriteflag as moderation.enabled, but requires a restart to apply.
moderation.use.rank.weights true Compares LuckPerms group weight so staff cannot punish equal or higher ranks. Operators are always treated as the highest rank, regardless of LuckPerms weight.
moderation.auto.ban.alts false Automatically bans alts of a banned player, regardless of whether the player was IP-banned. Discouraged on servers that share IP addresses between distinct users. Editable with /veriteflag as moderation.auto.ban.alts.
moderation.expire.warns.after 7d How long a warning counts as active before it lapses.
moderation.shared.ip.scan.limit 20 The maximum number of accounts shown in a duplicate IP-scan. Editable with /veriteflag as moderation.shared.ip.scan.limit.

Muted Command Blacklist

moderation.muted.command.blacklist lists commands a muted player may not use.

Proxy injection

On a network with proxy injection, these commands may not be blocked by Verité, meaning a muted user could still use them.

The shipped list is:

moderation:
  muted.command.blacklist:
    - "me"
    - "say"
    - "tell"
    - "whisper"
    - "reply"
    - "pm"
    - "message"
    - "msg"
    - "msgall"
    - "tellall"
    - "speak"
    - "emsg"
    - "epm"
    - "etell"
    - "ewhisper"
    - "w"
    - "m"
    - "t"
    - "r"
    - "mail"

Exempt

The moderation.exempt block controls how rank weight comparisons treat equal-weight targets.

moderation:
  exempt:
    use.group.weights: false
    permit.same.weight: true
Key Default Controls
use.group.weights false Allows acting on an equal-weight target when group weights are in use. Editable with /veriteflag as moderation.exempt.use.group.weights.
permit.same.weight true Permits acting on a target of the same weight. Editable with /veriteflag as moderation.exempt.permit.same.weight.

Punish Message Templates

moderation.punish.message.templates sets the text shown to punished players and to staff. Templates support \n (newline) and the quantifiers @duration, @enforcer, @target, @reason, @punishment, @total.warns, and @remaining. If no reason was set, @reason is replaced with No reason provided.

moderation:
  punish.message.templates:
    ban.template.temporary: {You have been banned for @duration.\n@reason}
    ban.template.permanent: {You have been permanently banned.\n@reason}
    mute.template.temporary: {You have been muted by @enforcer for @duration.\n@reason}
    mute.template.permanent: {You have been muted by @enforcer.\n@reason}
    mute.notice: {You are muted. Time remaining: @remaining}
    mute.notice.permanent: {You are muted.}
    warn.template: {You have been warned by @enforcer. Active warnings: @total.warns\n@reason}
    kick.template: {You have been kicked by @enforcer.\n@reason}
    admin.receipt.template: {@target was @punishment by @enforcer.\n@reason}
Key Default
ban.template.temporary {You have been banned for @duration.\n@reason}
ban.template.permanent {You have been permanently banned.\n@reason}
mute.template.temporary {You have been muted by @enforcer for @duration.\n@reason}
mute.template.permanent {You have been muted by @enforcer.\n@reason}
mute.notice {You are muted. Time remaining: @remaining}
mute.notice.permanent {You are muted.}
warn.template {You have been warned by @enforcer. Active warnings: @total.warns\n@reason}
kick.template {You have been kicked by @enforcer.\n@reason}
admin.receipt.template {@target was @punishment by @enforcer.\n@reason}

Punishment Tree

The moderation.tree block defines the punishment categories, the escalation steps within each category, and which staff groups may enact which categories. Each category applies its punishments in order. Supported punishment types are warn, mute, kick, and ban. A duration after a colon (for example ban: 14d) makes that step temporary; the same type with no duration is permanent. The final minecraft: entry in each category is the item shown for that category on the punishment GUI.

moderation:
  tree:
    enabled: true
    use.fields: true
Key Default Controls
moderation.tree.enabled true Enables the punishment tree.
moderation.use.fields true Uses Minecraft 1.21.7+ Fields for punishment completion rather than chat.

Permissions

moderation.tree.permissions.luckperms maps LuckPerms group names to the categories they may enact. Hierarchy is supported top-down: if your groups go helper then mod then admin, admin inherits the mod and helper categories, and mod inherits the helper categories. Replace the group names with your own.

moderation:
  tree:
    permissions:
      luckperms:
        helper: {harassment, threats, spam, advertising, macroing, misinformation, inappropriate.content}
        mod: {exploiting, discrimination, impersonation}
        admin: {hacking, fraud, evading.punishment, inappropriate.username, inappropriate.skin, griefing}
Group Categories granted
helper harassment, threats, spam, advertising, macroing, misinformation, inappropriate.content
mod exploiting, discrimination, impersonation
admin hacking, fraud, evading.punishment, inappropriate.username, inappropriate.skin, griefing

Categories

moderation.tree.categories lists each category and its ordered escalation steps.

moderation:
  tree:
    categories:
      harassment: {kick, ban: 14d, ban, minecraft:nether_star}
      threats: {mute: 5h, ban: 14d, ban, minecraft:tnt}
      spam: {warn, mute: 10m, mute: 1h, ban: 3d, ban, minecraft:cactus}
      advertising: {mute: 1d, ban: 3d, ban, minecraft:redstone_block}
      macroing: {warn, kick, ban: 7d, ban: 31d, ban, minecraft:redstone_torch}
      misinformation: {warn, mute: 20m, mute: 1h, ban: 3d, ban, minecraft:paper}
      inappropriate.content: {warn, mute: 1h, mute: 7h, ban: 7d, ban, minecraft:book}
      exploiting: {warn, warn, warn, ban: 2d, ban, minecraft:lever}
      discrimination: {ban: 31d, ban, minecraft:iron_sword}
      impersonation: {ban: 7d, ban, minecraft:player_head}
      hacking: {ban: 31d, ban, minecraft:diamond_sword}
      fraud: {ban: 31d, ban, minecraft:gold_ingot}
      evading.punishment: {ban: 31d, ban, minecraft:ender_pearl}
      inappropriate.username: {ban, minecraft:name_tag}
      inappropriate.skin: {ban, minecraft:leather_chestplate}
      griefing: {ban: 7d, ban, minecraft:stone_pickaxe}
      staff.disruption: {warn, kick, ban: 7d, minecraft:bottle_o_enchanting}
      chat.violation: {warn, mute: 1h, ban: 3d, minecraft:book_and_quill}
Category Escalation steps GUI item
harassment kick, ban: 14d, ban minecraft:nether_star
threats mute: 5h, ban: 14d, ban minecraft:tnt
spam warn, mute: 10m, mute: 1h, ban: 3d, ban minecraft:cactus
advertising mute: 1d, ban: 3d, ban minecraft:redstone_block
macroing warn, kick, ban: 7d, ban: 31d, ban minecraft:redstone_torch
misinformation warn, mute: 20m, mute: 1h, ban: 3d, ban minecraft:paper
inappropriate.content warn, mute: 1h, mute: 7h, ban: 7d, ban minecraft:book
exploiting warn, warn, warn, ban: 2d, ban minecraft:lever
discrimination ban: 31d, ban minecraft:iron_sword
impersonation ban: 7d, ban minecraft:player_head
hacking ban: 31d, ban minecraft:diamond_sword
fraud ban: 31d, ban minecraft:gold_ingot
evading.punishment ban: 31d, ban minecraft:ender_pearl
inappropriate.username ban minecraft:name_tag
inappropriate.skin ban minecraft:leather_chestplate
griefing ban: 7d, ban minecraft:stone_pickaxe
staff.disruption warn, kick, ban: 7d minecraft:bottle_o_enchanting
chat.violation warn, mute: 1h, ban: 3d minecraft:book_and_quill

Invsee

The invsee section controls inventory viewing.

invsee:
  enable-offline-player-support: true
  enable-unknown-player-support: true
  tabcomplete-offline-players: true
Key Default Controls
invsee.enable-offline-player-support true Allows viewing the inventory of offline players.
invsee.enable-unknown-player-support true Allows viewing the inventory of players who have not been seen before.
invsee.tabcomplete-offline-players true Includes offline players in tab completion.

Vanish (Veritévoiler)

The vanish section configures the vanish system. The vanish.features block toggles individual behaviors, each true by default. Every feature key is editable with /veriteflag as vanish.features.<name>.

vanish:
  enabled: true
  features:
    fake.message: true
    actionbar: true
    self.view: true
    fly: true
    invulnerability: true
    effects: true
    gamemode: true
    ride.entity: true
    silent.container: true
    inventory.inspect: true
    server.ping: true
    ghost: true
    prevent.chat: true
    prevent.pickup: true
    prevent.drop: true
    prevent.interact: true
    prevent.block.break: true
    prevent.block.place: true
    prevent.target: true
    prevent.damage: true
    prevent.food: true
    prevent.buckets: true
    prevent.advancement: true
    prevent.projectiles: true
    muffle.sounds: true
    muffle.particles: true
Key Default Controls
vanish.enabled true Enables the vanish module. Editable with /veriteflag as vanish.enabled, but requires a restart to apply.
vanish.features.fake.message true Shows a fake join or leave message when vanishing or unvanishing.
vanish.features.actionbar true Shows a persistent action bar reminder while vanished.
vanish.features.self.view true Lets the vanished player still see themselves.
vanish.features.fly true Grants flight while vanished.
vanish.features.invulnerability true Makes the vanished player invulnerable.
vanish.features.effects true Applies vanish related potion effects.
vanish.features.gamemode true Manages the player's game mode while vanished.
vanish.features.ride.entity true Allows the vanished player to ride entities.
vanish.features.silent.container true Opens containers silently while vanished.
vanish.features.inventory.inspect true Allows inspecting inventories while vanished.
vanish.features.server.ping true Adjusts the player's contribution to the server ping list while vanished.
vanish.features.ghost true Hides the vanished player as a ghost so they pass unseen.
vanish.features.prevent.chat true Prevents the vanished player from sending chat.
vanish.features.prevent.pickup true Prevents the vanished player from picking up items.
vanish.features.prevent.drop true Prevents the vanished player from dropping items.
vanish.features.prevent.interact true Prevents the vanished player from interacting with the world.
vanish.features.prevent.block.break true Prevents the vanished player from breaking blocks.
vanish.features.prevent.block.place true Prevents the vanished player from placing blocks.
vanish.features.prevent.target true Prevents mobs from targeting the vanished player.
vanish.features.prevent.damage true Prevents the vanished player from dealing or taking damage.
vanish.features.prevent.food true Prevents the vanished player's food level from changing.
vanish.features.prevent.buckets true Prevents the vanished player from using buckets.
vanish.features.prevent.advancement true Prevents the vanished player from gaining advancements.
vanish.features.prevent.projectiles true Prevents the vanished player from launching projectiles.
vanish.features.muffle.sounds true Muffles sounds the vanished player would otherwise produce.
vanish.features.muffle.particles true Muffles particles the vanished player would otherwise produce.