Installation

This page covers what Verité needs to run, the optional plugins it can work alongside, and what happens the first time it starts. For the download steps and a short overview, see the home page. The material here goes deeper into requirements, dependencies, and first-run behaviour.

Requirements

Verité targets modern Minecraft servers and their common forks.

Requirement Detail
Server platform Paper, Purpur, Folia, or Spigot
Minecraft version 1.21.6 through 26.3
API level Built against API version 1.21.6
Folia Supported
Java The Java version required by your server software for your chosen Minecraft version

Verité does not ship a separate build per platform beyond the version appropriate for your server. Install the correct file for your Minecraft version and server software, place it in the plugins/ directory, and restart.

On any Minecraft version outside the supported range, Verité disables itself at startup and logs the running version alongside the supported range. Verité 1.2.8 is the last release for Minecraft 1.19 through 1.21.5.

Java version

Verité follows the Java requirement of the server you run it on. Newer Minecraft versions require newer Java releases. If your server starts, Verité has the Java version it needs.

Runtime library

Verité stores its data in an embedded H2 database. H2 is declared as a plugin library in plugin.yml:

libraries:
  - com.h2database:h2:2.4.240

Your server resolves and downloads this library automatically at load onto an isolated library class loader. No manual download is required. If the library cannot be resolved, Verité disables itself rather than run without storage, so watch the console on first start.

The database runs in embedded file mode with no network socket. It is described further on the Privacy and data page.

Soft dependencies

Verité declares four soft dependencies:

softdepend: [floodgate, PlaceholderAPI, LuckPerms, Skript]

A soft dependency is never required. When one of these plugins is present, the server loads it before Verité so the matching feature can turn on. When it is absent, Verité runs normally and the feature simply does not exist.

Plugin What it enables
Floodgate Improves handling of Bedrock players who join through Floodgate.
PlaceholderAPI Exposes vanish state to other plugins as placeholders under the verite identifier. When PlaceholderAPI is absent, the placeholders are never registered.
LuckPerms Supplies group weights for rank-aware moderation, so staff cannot punish equal or higher ranks. This is controlled by use.rank.weights in the moderation section of the config. Operators are always treated as the highest rank.
Skript Makes Verité's chat-filter syntax available to scripts automatically. See the Skript integration guide.

Custom chat systems

If another plugin intercepts and delivers chat itself, Verité may never see the message to filter it. The Custom Chat Integration guide explains how to pass messages through Verité in that case.

First run

The first time Verité loads it prepares its own data folder at plugins/Verite/. During this first start it will:

  • Create the plugin data folder.
  • Open the embedded H2 database (verite.mv.db) in that folder, creating it if absent.
  • Write the default config.yml.
  • Deploy the chat-filter resources into a filter/ subfolder.
  • Register commands, listeners, and integrations for any soft dependencies that are installed.

Watch the console during this first start. Confirm that Verité loads and that no warnings or errors appear that point to a configuration or compatibility problem.

Console output

Verité colours its console messages so failures stand out from routine start-up lines. Errors are red, successes green, and counts are shown in the Verité brand colour. Every message is prefixed with [Verité].

Colour is added only when the console can display it. Verité checks, in order:

Check Effect
NO_COLOR is set (to any value) Colour is disabled. This is the NO_COLOR standard, honoured by many command-line tools.
TERM is dumb Colour is disabled.
Windows without a known ANSI-capable terminal Colour is disabled, unless Windows Terminal or ANSICON is detected.
Anything else Colour is enabled.

When colour is disabled the messages are written as plain text, with no escape codes left behind, so log files stay readable.

Two system properties override the detection if you need to force a result:

-Dverite.console.colour=false
-Dverite.console.truecolour=false

The first turns colour off (or on) outright. The second keeps colour but drops from 24-bit to the basic 16-colour palette, which is worth trying if your console shows stray characters instead of colour.

Modules

Verité is built from three modules, each toggled independently in config.yml. All three are enabled by default. Disable a module by setting its enabled flag to false; the rest of the plugin continues to run.

Module Config key Purpose
Veritédoux chat.filter.enabled Chat filtering and content checks.
Veritésauver moderation.enabled Moderation, punishments, and account intelligence.
Veritévoiler vanish.enabled Staff vanish.
chat.filter:
  enabled: true

moderation:
  enabled: true

vanish:
  enabled: true

Configuration auto-update

When Verité updates, it can append new keys to your existing config.yml so you do not lose your settings. This is controlled in the general section:

general:
  auto.update.config: true

With this enabled, new configuration keys added in a later release are merged into your file automatically. This does not bypass tokenizer updates, which are handled separately.

The chat-filter resource files (the .eve files) have their own toggle, which is off by default:

chat.filter:
  auto.update.eve: false

Custom filter entries

When auto.update.eve is enabled, the .eve files are replaced with updated versions when new entries are added, and any custom entries you added are overwritten or discarded. Leave it off if you maintain your own entries.