Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
๐ก๏ธ ModGuard + Sentinel โ Client Verification System
A server plugin + client mod security system that verifies legitimate clients and detects malicious modifications using a secure encrypted handshake โ far more reliable than client-brand checks or simple mod name detection.
๐ฆ Components
๐ ModGuard โ Server Plugin Sends encrypted challenges to connecting players, verifies responses, checks mod IDs against a blacklist, enforces a minimum Sentinel version, and optionally limits total installed mods. Supports cracked servers, Geyser/Floodgate auto-bypass, configurable kick messages, player whitelist, and persistent mod history.
๐งฉ Sentinel โ Client Mod Installed by the player on their Fabric client. Receives the server challenge, collects the full mod list via FabricLoader, encrypts and returns it. Zero configuration. Zero performance impact.
โ๏ธ How It Works
Player joins
โ Server sends encrypted challenge (RSA-2048 + nonce + HMAC-SHA256 secret)
โ Sentinel collects mod list via FabricLoader
โ Sentinel encrypts response (AES-256-GCM, key wrapped with RSA/OAEP/SHA-256)
โ Server decrypts, verifies HMAC, checks protocol version + Sentinel version
โ Mod list checked against blacklist and optional count limit
โ Player approved or kicked with a configurable message
๐ Installation
Server:
- Drop
ModGuard.jarintoplugins/ - Restart โ
plugins/ModGuard/config.ymlandmodblacklist.jsonare generated automatically
Client:
- Drop the correct
Sentinel-<version>.jarinto.minecraft/mods/ - Launch โ no configuration needed
๐ Security
- RSA-2048 keypair generated fresh per server session โ never written to disk
- AES-256-GCM authenticated encryption โ ciphertext is tamper-proof
- HMAC-SHA256 payload signing โ server secret is never sent to the client
- Nonce included in every challenge โ replay attacks are not possible
- Protocol version verified inside the encrypted payload โ cannot be spoofed by a fake Sentinel
- Minimum Sentinel version enforcement โ kick players running outdated client mods
๐ซ Default Blacklisted Mods
Pre-seeded in modblacklist.json on first run:
meteor-client ยท impact ยท wurst ยท liquidbounce ยท aristois ยท sigma ยท thunderhack ยท wolfram ยท baritone ยท freecam ยท marlows-crystal-optimizer
Add or remove any mod ID via
/modguard blacklist add <modid>or by editingmodblacklist.jsondirectly.
๐ป Commands
Permission: modguard.admin (OP by default)
| Command | Description |
|---|---|
/modguard blacklist <add|remove|list> |
Manage mod blacklist |
/modguard whitelist <add|remove|list> |
Manage player whitelist (bypasses verification) |
/modguard mods <player> |
View a player's verified mod list and last seen time |
/modguard check <player> |
Re-send a verification challenge to an online player |
/modguard status |
Show online players, pending verifications, and plugin info |
/modguard reload |
Reload configuration |
โ๏ธ Configuration
File: plugins/ModGuard/config.yml
offline-mode: false # set true for cracked servers
allow-floodgate: true # Bedrock players via Geyser bypass verification
challenge-timeout-seconds: 15 # seconds client has to respond
challenge-delay-ticks: 40 # delay before sending challenge after join
min-sentinel-version: "1.0.0" # kick players below this Sentinel version
protocol-version: 1 # must match Sentinel โ only change if you update both
enable-mod-count-limit: false
max-mod-count: 50
show-mod-list-in-console: true
highlight-banned-mods: true
kick-messages:
missing-sentinel: "&cSentinel mod is required to join this server."
banned-mod: "&cAccess denied."
outdated-sentinel: "&cYour Sentinel mod is outdated. Please update to &ev{version}&c."
protocol-mismatch: "&cSentinel version mismatch. Please update your Sentinel mod."
timeout: "&cVerification timed out."
mod-count-exceeded: "&cToo many mods installed. Maximum allowed: &e{max}"
๐ Compatibility
| Scenario | Behavior |
|---|---|
| Fabric client with Sentinel | Full verification |
| Vanilla client (no mods) | Handled automatically โ no Sentinel required |
| Bedrock / Geyser | Bypassed automatically |
| Cracked / offline server | Supported via offline-mode: true |
| Forge / NeoForge | Not supported |
| Whitelisted player | Skips verification |
๐ง Requirements
- Paper / Spigot 1.21.x ยท Java 21+
- Geyser + Floodgate (optional, for Bedrock auto-bypass)
๐ฌ Join our Discord for support, downloads, and updates ๐ More plugins by Treamhiler ๐ GitHub

