ModBlocker
Restrict which mods are allowed on your server.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
ModBlocker
ModBlocker
Restrict which mods are allowed on your server.
---
📌 Overview
ModBlocker is a lightweight yet powerful Paper plugin that gives server administrators full control over which client-side mods players are allowed to use. Whether you're running a competitive PvP server, an RPG experience, or a vanilla-faithful community, ModBlocker ensures a fair and consistent environment for all players.
---
⚙️ Features
- Reload Support — Detects client modifications via channel-based handshake inspection (e.g. `wurst:init` identifies the `wurst` client) - Reload Support — Choose between blocking specific mods outright or only allowing an approved list via `use-whitelist-mode` - Reload Support — Grant trusted players or staff the ability to bypass restrictions using the `modblocker.bypass` permission node - Reload Support — Define fully customizable kick messages using Reload Support format with `{player}` and `{mods}` placeholders - Reload Support — Adjustable tick delay before channel inspection on join, since mod channels are not registered instantly - Reload Support — Enable debug logging to see all registered player channels in the console - Reload Support — Reload configuration at runtime without restarting the server via `/modblocker reload`
---
🔧 Commands
| Command | Description | Permission | |---|---|---| | `/modblocker list` | Displays all currently blocked or whitelisted mods depending on the active mode | `modblocker.admin` | | `/modblocker check <player>` | Checks what mods a connected player has registered | `modblocker.admin` | | `/modblocker add <mod>` | Adds a mod to the active blacklist or whitelist at runtime | `modblocker.admin` | | `/modblocker remove <mod>` | Removes a mod from the active blacklist or whitelist at runtime | `modblocker.admin` | | `/modblocker reload` | Reloads the plugin configuration from disk | `modblocker.admin` |
---
🔑 Permissions
| Permission Node | Description | Default | |---|---|---| | `modblocker.admin` | Grants access to all ModBlocker commands (list, check, add, remove, reload) | OP | | `modblocker.bypass` | Bypasses all mod restrictions — useful for trusted players or staff | false |
---
📄 Configuration
```yaml
============================================================
ModBlocker — Configuration
Block players from joining with certain client mods
============================================================
settings:
Delay (in ticks) before checking a player's channels after join.
40 ticks (2 seconds) is recommended — channels aren't registered instantly.
check-delay-ticks: 40
Whitelist mode: if true, only mods in 'whitelisted-mods' are allowed.
If false, only mods in 'blocked-mods' are blocked (blacklist mode).
use-whitelist-mode: false
Enable debug logging to see all registered channels in console
debug: false
Blacklist mode — common hack client IDs:
blocked-mods: - wurst - meteor-client - inertia - aristois - kami - lambda - xray - killaura
Whitelist mode — only these mods are allowed (minecraft/paper/bukkit always allowed)
whitelisted-mods: - fabric - optifine - sodium - lithium - iris
Messages — MiniMessage format | Placeholders: {player}, {mods}
messages: kick-message: | <red><bold>ModBlocker</bold></red> <white>Unauthorized mods detected:</white> <red>{mods}</red> <yellow>Please remove them before joining.</yellow> no-permission: "<red>You don't have permission to use this command." ```
---
🖥️ Requirements
- Dependencies: Paper (1.19+) - Dependencies: Java 17 or higher - Dependencies: None — completely standalone
---
*Found a bug or have a feature request? Contact me on Discord !*