Getting Started
Requirements
- A server running Paper or Purpur, version 1.21.10.
- Java 21 (whatever your Paper/Purpur install already requires to run).
FlagForge refuses to enable a single gameplay-observing listener or any enforcement on any other Minecraft version:
- Older (e.g. Paper 1.21.9): rejected outright by Paper's own
api-versiongate — FlagForge never even runs. - Newer (e.g. Paper 1.21.11): the jar loads, but FlagForge's own internal version guard detects the mismatch and skips registering every listener.
Installing
- Copy
flagforge-<version>.jarinto your server'splugins/directory. - (Optional) To enable
movement.timer.a,packet.rate.a, andpacket.sequence.a, also install PacketEvents 2.x as its own separate plugin. FlagForge boots fine and simply leaves those three checks registered-but-disabled without it. - Start the server. FlagForge creates
plugins/FlagForge/config.yml,checks.yml,actions.yml,alerts.yml,messages.yml, andstorage.ymlwith safe, conservative defaults, connects and migrates its SQLite database (plugins/FlagForge/flagforge.dbby default), then prints a startup summary to console showing the detected server version/brand, operating mode, enabled/experimental checks, and available capabilities. - Run
/ff status(alias of/flagforge status, requiresflagforge.command.status, granted to operators by default) to see the same summary in-game, plus live persistence and Discord queue metrics.
Upgrading
Drop in the new jar and restart. checks.yml/actions.yml/etc. are never overwritten once they
exist, so any tuning you've done survives an upgrade; a newly-added config key you want just isn't
read from an old file (falls back to its documented default) until you add it yourself. The SQLite
schema is migrated automatically on startup; back up flagforge.db before a major version bump if
you want to be able to roll back.
Next steps
- Configuration — the six config files and what each covers.
- Enforcement & First-Start — read this before turning on enforcement.