Installation
WardenGuard has two parts: the plugin running on your Minecraft server and the web panel that manages it remotely. The plugin opens an encrypted outbound WebSocket connection to the panel; you do not need to open any ports.
Requirements
| Platform | Version |
|---|---|
| Paper / Purpur / Folia | 1.17 – 1.21.x |
| Spigot | 1.17 – 1.21.x |
| BungeeCord / Velocity | Latest |
| Java | 17 or newer (21 for Folia) |
Client versions from 1.8.9 to 1.21 are supported (via ViaVersion).
1. Install the plugin
- Put
WardenGuard.jarinto your server'splugins/folder. - Start and stop the server once;
plugins/WardenGuard/config.ymlis generated.
2. Add the server in the panel
- Sign up or log in.
- Go to Servers → Add Server and give it a name.
- Copy the key shown in the dialog. It is shown only once; if you lose it, use "Rotate key" to issue a new one.
3. Connect the server
Run the command the panel shows, in the server console or in game (as OP):
/wac web connect wg_srv_...
The plugin stores the token in web.token in config.yml and connects right away; no restart is needed. Within a few seconds your server shows as Online in the panel and the live feed starts. Check the state with /wac web status and the round trip with /wac web test.
If you host the panel yourself, change the address in config.yml:
web:
url: "wss://api.example.com/v1/agent"
Networks (Bungee / Velocity)
Install the plugin on every backend server and give each its own key. You can add the proxy as a server too. Then group the proxy and its backends under Servers → Server groups to see the network map.
Do not reuse a key on two servers: the newer connection closes the older one and the servers keep kicking each other off.
Self-hosting
The whole panel runs with Docker. Supabase (managed PostgreSQL) is used as the database:
cp .env.example .env # fill in the Supabase connection strings and APP_ENCRYPTION_KEY
docker compose up -d --build
The migrate service applies the database schema automatically; caddy obtains TLS certificates automatically.