⚠️ Warning: This plugin requires Hidder Fabric Mod to work!!
ModSeeker is a Paper plugin that works with the Hidder Fabric mod to verify player Mods on Minecraft paper servers. It ensures players comply with server policies and prevents players from using unwanted Mods
- Mod Verification: Ensures players have the required Hidder mod installed
- Blacklist Enforcement: Blocks players with blacklisted mods
- Whitelist Support: Trusted players bypass verification
- Configurable Timeouts: Adjust handshake & modlist request timeouts
- Detailed Logging: Tracks all verification events
- Floodgate Support: Optionally bypass mod checks for Bedrock players
- Encrypted Communication: Secured via RSA/AES with signatures
- PaperMC 1.21.1 or higher
- Java 21+
- Hidder Fabric mod installed on clients
- Download the latest
ModSeeker.jar - Place it in your
plugins/folder - Start the server to generate default configuration files
- Edit
config.yml,modblacklist.json, orwhitelist.jsonas needed - Restart the server
ModSeeker generates these files:
config.yml— Main configuration filemodblacklist.json— Blacklisted modswhitelist.json— Whitelisted players
# ModSeeker Configuration File
# This file contains all configurable options for the ModSeeker plugin
# ==================================================================
# Timeout Configuration
handshakeTimeoutSeconds: 10
modlistTimeoutSeconds: 15
# Mod List Filter
modlistFilter:
- "java"
- "minecraft"
- "fabricloader"
# Kick Messages
kickMessages:
missingHidder: "Please Install Hidder Mod To Enter The Server"
blacklistedMods: "Please Remove {mods} Illegal Mod{plural} To Join The Server"
modlistTimeout: "Player Verification Failed"
modlistRequestFailed: "Player verification failed - unable to send mod list request."
modCountExceeded: "You have too many mods installed. Maximum allowed: {maxMods}"
# Player Notification
enablePlayerNotifications: true
welcomeMessage: "Welcome To The Server"
# Mod Count Threshold
enableModCountThreshold: false
maxModCount: 50
# Mod List Display Settings
showModList: true
oneModPerLine: false
highlightMods: true
highlightBlacklistedMods: true
# Floodgate / Bedrock Player Handling
allowFloodgate: true {
"#": "ModSeeker Blacklist Configuration File",
"#": "Add mod IDs to the blacklist array below to prevent players from joining with those mods",
"blacklist": []
}[]All commands require modseeker.use permission.
/modseeker seek mod <playertag>— Requests and displays the mod list from a specific online player/modseeker status— Displays plugin status and verification statistics
/modseeker modblacklist add <modID>— Adds a mod to the blacklist/modseeker modblacklist remove <modID>— Removes a mod from the blacklist/modseeker modblacklist show— Displays all blacklisted mods
/modseeker whitelist add <playername>— Adds a player to the whitelist/modseeker whitelist remove <playername>— Removes a player from the whitelist/modseeker whitelist show— Displays all whitelisted players
/modseeker reload— Reloads all configuration files without restarting the server
This is the general flow of verification when a player joins the server:
- Player joins the server
- Checks if the player is whitelisted or not skips verification if player is whitelised
- Initiates cryptographic handshake with Hidder
- Requests the full client mod list
- Verifies the payload signature and timestamp for authenticity
- Checks the mod list against the blacklist, enforces mod count limits, and verifies handshake timeouts
- Approves the player or kicks them with a custom message
- Native Encryption via the Hidder mod
- RSA/AES Hybrid Encryption for the secure modlist payload
- Digital Signatures for message validation and integrity
- Replay Attack Prevention using timestamps
To compile ModSeeker from the source code:
- Clone the repository:
git clone https://github.com/RAFIN-G/ModSeeker
- Navigate to the project directory.
- 🔑 Key Generation (Required) Before building, you must generate secure RSA keys:
- Go to the Tools folder.
*Run GenerateKeys.bat.
*Copy the contents of the generated SERVER_KEY_JAVA.txt and SERVER_VERIFY_KEY.txt into src/main/java/com/example/modseeker/SecurityManager.java.
- Copy
CLIENT_KEYS_CPP.txtand use it for the Hidder client build.
- Run the build command:
# Linux/macOS ./gradlew build # Windows gradlew.bat build
The resulting .jar file will be located in the build/libs/ directory.
ModSeeker is licensed under the AGPL-3.0 license. See the LICENSE file for full details.