This documentation gathers installation, configuration, and integration so you can get a working setup fast without hopping through multiple screens.
Four steps, one config file. The sample on the right is the config.yml the plugin ships with, so you only have to fill in your key.
wardenguard: # from your dashboard api_key: "wg_live_..." auto_ban_level: 2 sync_interval_seconds: 300 check_on_join: true notify_staff_on_ban: true alt_detection: enabled: true kick_enabled: true min_ban_level: 2
Every command uses the /wg prefix, grouped below by the permission it needs.
/wg report <player>/wg check <player>/wg sync/wg scan/wg status/wg stats/wg ping/wg reloadBans are lifted automatically once their duration has passed. Level 3 is permanent and can only be removed by staff.
These are the defaults shipped in config.yml. Reload changes with /wg reload, no restart needed.
| Option | Default | What it does |
|---|---|---|
| Connection | ||
api_key | "" | Required. Your server's API key, found on the dashboard. Without it the plugin stays idle. |
api_url | wardenguard.com/api/v1 | API endpoint the plugin talks to. Only change this if we ask you to. |
| Enforcement | ||
auto_ban_level | 2 | Minimum ban level that gets auto-enforced (kicked) locally on join. Set to 0 to disable auto-kick - the plugin still tracks and reports bans, it just won't kick. |
sync_interval_seconds | 300 | How often the full ban list is re-pulled from the network, in seconds. |
check_on_join | true | Whether every join triggers a live ban check, on top of the periodic sync. |
| Staff alerts | ||
notify_staff_on_ban | true | Sends the ban-report URL to staff chat after /wg report. |
staff_permission | wardenguard.staff | Permission node checked before sending staff-chat alerts. |
| Alt detection | ||
alt_detection.enabled | true | Master switch for linked-account (alt) detection. |
alt_detection.kick_enabled | true | Kick players on an alt match, instead of only warning staff. |
alt_detection.min_ban_level | 2 | Only trigger alt detection for accounts linked to bans at or above this level. |
alt_detection.include_subnet | false | Also flag /24 subnet matches - higher false-positive rate, off by default. |
alt_detection.log_all | true | Also log alt matches with no active ban, for information only. |
Every message the plugin sends (ban screens, kick reasons, staff alerts) lives under the messages and alt_detection blocks in the same file and can be rewritten freely.
Every plugin keeps a local copy of the ban list on disk, refreshed on every successful sync. If our backend becomes unreachable, the plugin automatically backs off from retrying it and falls back to that local list, so already-known bans keep being enforced with no action needed from you.
If your Minecraft server itself restarts while our backend is down, the local ban list survives the restart. It is loaded from disk before anything else runs, so bans don't silently reset.
A ban you report is never instantly network-wide. It always goes through review first.
Each appeal is reviewed by WardenGuard staff, who either approve or deny it, optionally leaving a staff note that's visible to the player.
A unified Minecraft intelligence network for Dutch communities.