Sentinel&ModGuard

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 ModiD

878 downloads 1 followers

๐Ÿ›ก๏ธ 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

  • 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 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

  • 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

Version Minecraft Loader Download

Sentinel for ModGuard 1.0-SNAPSHOT

ModGuard-1.21.x

1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
paper, spigot
Download

Sentinel for ModGuard 1.0-SNAPSHOT

Sentinel-1.21.11

1.21.11
fabric
Download

Sentinel for ModGuard 1.0-SNAPSHOT

Sentinel-1.21.10

1.21.10
fabric
Download

Sentinel for ModGuard 1.0-SNAPSHOT

Sentinel-1.21.8

1.21.8
fabric
Download

Sentinel for ModGuard 1.0-SNAPSHOT

Sentinel-1.21.6-1.21.7

1.21.6, 1.21.7
fabric
Download

Sentinel for ModGuard 1.0-SNAPSHOT

Sentinel-1.21.5

1.21.5
fabric
Download

Sentinel for ModGuard 1.0-SNAPSHOT

Sentinel-1.21.4

1.21.4
fabric
Download

Sentinel for ModGuard 1.0-SNAPSHOT

Sentinel-1.21.2-1.21.3

1.21.2, 1.21.3
fabric
Download

Sentinel for ModGuard 1.0-SNAPSHOT

Sentinel-1.21.1

1.21.1
fabric
Download

Sentinel for ModGuard 1.0-SNAPSHOT

Sentinel-1.21.

1.21
fabric
Download