Mod Cloak is a client-side Fabric mod that lets you control exactly what a server can see about your client โ per server. It selectively hides your client brand, mod channel registrations and mod data packs, so servers that scan for client mods (Tweakeroo, Litematica, Xaero's Maps, and similar) simply don't see them.
Nothing is hidden by default. The mod is completely passive until you add a rule for a server. No rule, no changes โ your packets go out exactly as before.
- Go to Release.
- Build from source (see ๐ ๏ธ Building from sources).
- Minecraft 1.21.11 with Fabric Loader 0.19.3+
- Drop
modcloak-*.jarinto yourmodsfolder - Requires YetAnotherConfigLib (
yet_another_config_lib_v3, โฅ 3.8.2) โ used for the config screens - Requires Fabric API (as a transitive requirement of YACL)
- Four hiding modes, per server (with a global default that applies to everything else):
NONEโ send everything unchanged (default)DEBRANDโ only fake the client brandVANILLAโ hide brand, all mod channels and mod data packs; the client looks like a clean vanilla oneFILTEREDโ hide only the channels you pick
- Rules matched by hostname or IP (globs supported:
*,?), exact addresses take priority - Live pickers, not guesswork โ the config screen lists your actual registered channels and known data packs, grouped by namespace, so you check what to hide instead of typing channel names blind
- Protocol-accurate vanilla simulation โ the channel registration list is fully suppressed, the brand is rewritten, and the known-packs reply is filtered, so fingerprint-style checks see a vanilla client
- Join hint โ a one-line chat message shows which rule was applied on join (toggleable)
- Debug logging โ
/cloak debug onlogs every rewritten or dropped packet for troubleshooting - i18n โ English and Simplified Chinese
Open the config screen from:
- Server list โ Edit a server โ the Mod Cloak Config button (top-left)
- Direct connect screen โ the Mod Cloak Config button
- Mod Menu โ Mod Cloak โ Config (rule manager + global defaults)
All settings are stored in config/modcloak.json. Every UI option maps to a field with the same
meaning (mode codes: NONE / DEBRAND / VANILLA / FILTERED), so you can edit the file directly.
| Command | Description |
|---|---|
/cloak status |
Show the rule applied to the current server and the hidden channels |
/cloak reload |
Reload config/modcloak.json without restarting |
/cloak debug on|off |
Toggle detailed packet logs |
Mod Cloak hooks the client's connection layer (Connection.send, covering every send overload) and, when a rule
applies, rewrites the packets a mod-detection server relies on:
- the brand payload (
minecraft:brand) โ the configured brand (usuallyvanilla) - the channel registration list (
minecraft:register) โ empty, so the registration is not sent at all - the known-packs reply (
minecraft:select_known_packs) โ onlyminecraft:*packs - direct payloads on channels you hide โ dropped
Single-player worlds and LAN hosts are skipped entirely โ the mod never touches local connections.
- Client-side only; the server needs no special support.
VANILLAmode breaks features that require talking to the server (voice chat, server-synced waypoints, mod APIs). This is the point of hiding โ the server will treat you as vanilla. Pure-client mods (HUDs, minimaps, shaders) keep working.- Hiding works against detection based on what the client sends. A protocol-translation proxy (e.g. ViaFabricPlus when connecting across versions) re-encodes packets below this mod's layer and can leak information again.
- Servers can only see what you send. Detecting a mod that sends nothing is impossible โ but also none of our business.
The server still detects me. If your connection goes through a translation proxy (ViaFabricPlus), disable it or
connect natively. Otherwise check /cloak debug on + /cloak status to see exactly what is being rewritten.
I joined and my X mod feature doesn't work. That's the expected cost of VANILLA mode on that server. Switch the
rule to DEBRAND or NONE, or use FILTERED to keep the channels you need.
Does it hide me from everything? It controls information your client sends. It does not (and will not) bypass server whitelists, bans, or rules that don't rely on client traffic.
Please use it responsibly. Evading a server's explicit mod restrictions may violate that server's terms of service.
git clone https://github.com/cCelectc/modcloak.git
cd modcloak
./gradlew build # artifact at build/libs/modcloak-0.1.0.jar
./gradlew runClient # launch a dev clientRequires JDK 21 and Gradle 9.x (wrapper included).