Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
🧩 FakeModBlocker
A lightweight, fully customizable, and cross-version friendly mod detection plugin that monitors plugin channels to identify some mods like Xaero's World Map, Replay Mod, and known mod loaders such as Fabric, Forge, and more.
It also supports an optional advanced sign translation detection module on supported server implementations.
✨ Features
✅ Lightweight — zero unnecessary overhead
✅ Fully customizable messages and behavior via messages_xx.yml
✅ Hex Color Code support for 1.16+ servers (e.g. �ffcc)
✅ No dependencies — drop-in and go
✅ Works across a wide range of server versions (1.8–1.21.11+)
✅ Multi-language support (en, cn, and your own language)
✅ Reload support: /modblocker reload
✅ Spigot / Paper / Purpur / Folia / PandaSpigot support
✅ Optional advanced sign translation key detection on supported server APIs
🎯 How detection actually works
FakeModBlocker ships two independent detectors. Knowing which one catches which type of mod is critical to configuring it right:
| Detector | Matches on | Catches |
|---|---|---|
forbiddenList |
Plugin-channel names, e.g. xaeroworldmap, servux:tweaks |
Mods that open a plugin channel with the server (most Forge/Fabric mods that talk to the server, Xaero, Servux-based, Axiom, etc.) |
extra-detections.sign-translation.mods |
Client-side translation keys, e.g. key.freecam.toggle |
Purely client-side mods that never open a channel — most cheat clients, HUD mods, minimaps, keybind-only utilities |
Common mistake: putting a mod's display name into forbiddenList and expecting it to catch a client-side mod. If the mod doesn't register a plugin channel, forbiddenList cannot see it — you must add one of its translation keys under sign-translation.mods instead. Enabl server once with the mod: every channel andplugin message the client sends is printed to console, so you can copy the real channel name from there.
Since 1.7.0, a single sign-translation.modseys** via detect.keys: [...]` — useful formods that expose several keybinds or whose key names change between versions.
📌 Sign-translation requirements
The virtual-sign detector needs Player#openVirtualSign(Position, Side), which was added to the Paper API in 1.21.5. Paper 1.21.4 and older, Spigot, / Pufferfish / Leaves) don't have thismethod, so the feature auto-disables at startup and prints exactly which class or method is missing. Channel-based
detection, PacketEvents integration, and Flo
🧠 Detection Modes
1. Plugin Channel Detection
This is the main detection method and works across the widest range of versions.
It checks which Plugin Message Channels the player is listening on when they join.
Many mod clients (e.g. Fabric / Forge and some utility mods) automatically register custom channels, which this plugin can detect and respond to.
2. Optional Sign Translation Detection
This is an extra optional detection module.
It works by opening a sign editor with specific translation keys and checking whether the client translates them, which may reveal the presence of certain mods.
⚠️ This feature depends on server API support for opening sign editors.
If the current server version / implementation does not support the required public API, FakeModBlocker will automatically disable this feature and skip it safely.
⚠️ Important Notes
⚠️ FakeModBlocker does NOT detect all mods or cheating tools.
It only works when the client exposes something detectable, such as known plugin message channels or supported translation-key behavior.
⚠️ This plugin should NOT be treated as a full anti-cheat or universal mod detector.
⚠️ The optional sign translation detection is an additional enhancement, not the main detection system.
This makes FakeModBlocker ideal for detecting casual use of mod loaders or certain utility mods, but it should not be treated as a complete anti-cheat / mod-blocking solution.
📂 Installation
- Drop the
.jarintoplugins/ - Start the server to generate config files
- Edit
config.ymland your language file - Use
/modblocker reloadto apply changes instantly - Some mods are pre-configured in
config.yml, and you can freely modify them to match your server rules
⚙️ Compatibility
- Main plugin channel detection is designed to be broadly compatible with 1.8–1.21.11+
- Optional sign translation detection requires a compatible server API
- On unsupported versions / server implementations, the sign detection module will be disabled automatically
- Folia is supported through compatible scheduler handling
❓ FAQ
Q: Can this detect hacked clients like Vape or LiquidBounce?
A: No. Those clients often avoid using detectable plugin message channels. This plugin is best used to detect mod loaders like Fabric, Forge, Lunar, etc., and some configurable translation-key based mod detections on supported servers.
Q: Is this an anti-cheat?
A: No. This is a mod presence detector, not a cheat detection system.
Q: How does it work?
A: Its main method is checking which Plugin Message Channels the player is listening on when they join. Many mod clients automatically register custom channels, which this plugin can detect.
Additionally, on supported server APIs, it can optionally use sign translation key detection for certain configurable mod signatures.
Q: Does the sign detection work on every version?
A: No. The sign detection module depends on public sign editor API support (Sorry i don't have much time to test every single version, but it should work on every Paper server i guess). If the server does not support it, FakeModBlocker will automatically skip that module without breaking the plugin.


