All versions
ModGuard-1.21.x
Release
Sentinel for ModGuard 1.0-SNAPSHOT5 months ago 141
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Paper
Spigot
Required content
Any compatible version
Changes
ModGuard — Changelog
v1.0.0 — Initial Release
Features
- Encrypted handshake verification — RSA-2048 keypair generated fresh each session (never written to disk). Challenge includes a nonce, HMAC secret, and public key. Client response encrypted with AES-256-GCM, AES key wrapped with RSA using OAEP/SHA-256. Server decrypts, verifies HMAC-SHA256, and checks the mod list
- Sentinel client mod — receives the challenge, collects the mod list via FabricLoader, encrypts and returns it. Zero configuration, zero performance impact
- Mod blacklist —
modblacklist.jsonwith pre-seeded entries:meteor-client,impact,wurst,liquidbounce,aristois,sigma,thunderhack,wolfram,baritone,freecam,marlows-crystal-optimizer - Player whitelist — bypass verification for specific players by name or UUID (
whitelist.json) - Mod history — verified mod lists are saved per player to
mod-history.jsonand viewable with/modguard mods <player> - Protocol versioning — client and server must agree on the protocol version. Mismatched Sentinel versions are kicked with a configurable message
- Minimum Sentinel version enforcement — configurable
min-sentinel-versionkicks players running outdated client mods - Max mod count limit — optional cap on total installed mods (
enable-mod-count-limit,max-mod-count) - Geyser / Floodgate auto-bypass — Bedrock players skip verification automatically (
allow-floodgate: true) - Offline / cracked server support —
offline-mode: trueskips UUID-dependent checks - Configurable kick messages — separate messages for
missing-sentinel,banned-mod,outdated-sentinel,protocol-mismatch,timeout,mod-count-exceeded - Challenge timeout — configurable seconds for client to respond before being kicked (
challenge-timeout-seconds) - Commands:
/modguard blacklist <add|remove|list>,/modguard whitelist <add|remove|list>,/modguard mods <player>,/modguard check <player>,/modguard reload,/modguard status
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:Qfq9Z8mH:hWaobruc"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Qfq9Z8mH:hWaobruc"
}
