Warden Guard
Warden·Guard
Docs

Everything you need
to go live.

This documentation gathers installation, configuration, and integration so you can get a working setup fast without hopping through multiple screens.

Supported platforms
Spigot / Paper
1.8 to 1.21
Velocity
Proxy
BungeeCord / Waterfall
Proxy
One config file per server. Apply changes with /wg reload, no restart.
Installation

The short route from zero to live.

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.

1
Create an account and open the dashboard.
2
Install the correct plugin for your server type.
3
Copy your API key into config.yml.
4
Connect any webhooks or Discord alerts.
config.yml
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
Commands

In-game commands.

Every command uses the /wg prefix, grouped below by the permission it needs.

wardenguard.staff
/wg report <player>
Generate a ban report URL for a player and broadcast it clickably to all staff.
/wg check <player>
Check whether a player has an active ban in the cache.
wardenguard.admin
/wg sync
Force an immediate sync of the full active ban list from the network.
/wg scan
Submit all currently online players to the API (UUID, username, IP). Useful after a mass-join or first install.
/wg status
Show connection status, API key, cache size, last sync time, and alt-detection state.
/wg stats
Show this month's API usage: total used vs. your monthly limit, plus per-endpoint counts.
/wg ping
Test the API connection and display the HTTP response code.
/wg reload
Reload config.yml without restarting the server.
Permissions

Three permission nodes.

wardenguard.staffop
Can use /wg report and /wg check, and receives in-game staff alerts.
wardenguard.adminop
Can use /wg sync, /wg scan, /wg status, /wg stats, /wg ping and /wg reload.
wardenguard.bypassnobody
Is never automatically banned or kicked on join.
iwardenguard.admin does not include wardenguard.staff. Give your admins both nodes.
Ban levels

How long do bans last?

Bans are lifted automatically once their duration has passed. Level 3 is permanent and can only be removed by staff.

Level 1
Minor
3 months
Griefing, mild harassment, minor rule breaks
Level 2
Serious
6 months
Cheating, exploiting, ban evasion, serious harassment
Level 3
Severe
Permanent
Insiding, doxxing, DDoS threats, confirmed alt abuse
!The duration clock only starts once a ban is approved by staff (see banning & review). Time spent in the review queue does not count against it.
Configuration

What every config.yml option does.

These are the defaults shipped in config.yml. Reload changes with /wg reload, no restart needed.

OptionDefaultWhat it does
Connection
api_key""Required. Your server's API key, found on the dashboard. Without it the plugin stays idle.
api_urlwardenguard.com/api/v1API endpoint the plugin talks to. Only change this if we ask you to.
Enforcement
auto_ban_level2Minimum 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_seconds300How often the full ban list is re-pulled from the network, in seconds.
check_on_jointrueWhether every join triggers a live ban check, on top of the periodic sync.
Staff alerts
notify_staff_on_bantrueSends the ban-report URL to staff chat after /wg report.
staff_permissionwardenguard.staffPermission node checked before sending staff-chat alerts.
Alt detection
alt_detection.enabledtrueMaster switch for linked-account (alt) detection.
alt_detection.kick_enabledtrueKick players on an alt match, instead of only warning staff.
alt_detection.min_ban_level2Only trigger alt detection for accounts linked to bans at or above this level.
alt_detection.include_subnetfalseAlso flag /24 subnet matches - higher false-positive rate, off by default.
alt_detection.log_alltrueAlso 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.

Reliability

What happens if WardenGuard goes down?

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.

!Limitation: this is a continuity fail-safe, not a fully offline system. A brand-new ban issued elsewhere that never reached your server before an outage started won't be enforced until our backend is back.
Trust & safety

How banning & review works.

A ban you report is never instantly network-wide. It always goes through review first.

1
A staff member on your server runs /wg report <player>, which generates a report link valid for 24 hours.
2
Whoever opens that link submits the evidence and description - this creates a ban with status "pending". At this point it is not yet enforced anywhere, including your own server.
3
A WardenGuard moderator or admin reviews the report and either approves it (assigning the final level 1/2/3, which starts the duration clock) or rejects it.
4
Only approved (active) bans are included in the shared list that all connected servers sync - so no single server owner can unilaterally get someone banned network-wide.
5
Admins can later revoke an active ban if it turns out to be a mistake.
Appeals

How players can appeal a ban.

Each appeal is reviewed by WardenGuard staff, who either approve or deny it, optionally leaving a staff note that's visible to the player.

wardenguard.com/appeal
Linked from every default ban and kick message.
Logged in
The banned player has to be signed in to submit an appeal.
20 characters
Minimum length of the explanation, next to their Minecraft name. A Discord contact is optional and auto-filled from a linked account.
3 per hour
Submission limit per account, to keep the queue free of spam.
Warden Guard
Warden Guard

A unified Minecraft intelligence network for Dutch communities.

⌘ Spigot Plugin⌃ Velocity
Product
Developers
Company
Community
© 2026 Warden Guard · NetherlandsPrivacy · Terms · GDPR / AVG