Home›Java›Mods›Sentinel&ModGuard
ModsJava

Sentinel&ModGuard

by Treamhiler · on Modrinth

A project that combines Mod+Plugin to detect and ban illegal mods,this also adds control what mods you wanna add/remove from the list by adding using the…

Which build do you need?

This mod ships a separate file for every mod loader and every version of the game. Pick both, then download — the wrong build installs fine and then does nothing in the game.

Mod loader

Minecraft version

⬇ Download for 1.21.11 · Fabric⬇ Download for 1.21.10 · Fabric⬇ Download for 1.21.8 · Fabric⬇ Download for 1.21.6–1.21.7 · Fabric⬇ Download for 1.21.5 · Fabric⬇ Download for 1.21.4 · Fabric⬇ Download for 1.21.2–1.21.3 · Fabric⬇ Download for 1.21.1 · Fabric⬇ Download for 1.21 · Fabric⬇ Download for 1.21–1.21.11 · Paper⬇ Download for 1.21–1.21.11 · Spigot
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.

🛡️ 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.

Discord Modrinth GitHub


📦 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:

  1. Drop ModGuard.jar into plugins/
  2. Restart — plugins/ModGuard/config.yml and modblacklist.json are generated automatically

Client:

  1. Drop the correct Sentinel-<version>.jar into .minecraft/mods/
  2. Launch — no configuration needed

🔒 Security


🚫 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 editing modblacklist.json directly.


💻 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


💬 Join our Discord for support, downloads, and updates 🔗 More plugins by Treamhiler 🐙 GitHub

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more