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.240Your 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=falseThe 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: trueConfiguration 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: trueWith 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: falseCustom 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.