Celec7/modcloak

Hide

โ˜… 0Forks 0JavaGitHub โ†—Compare

README

Mod Cloak

Minecraft: 1.21.11 Mod Loader: Fabric Environment: Client

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.


๐Ÿ“ฅ Downloads

๐Ÿ–ฅ๏ธ Installation

  • Minecraft 1.21.11 with Fabric Loader 0.19.3+
  • Drop modcloak-*.jar into your mods folder
  • Requires YetAnotherConfigLib (yet_another_config_lib_v3, โ‰ฅ 3.8.2) โ€” used for the config screens
  • Requires Fabric API (as a transitive requirement of YACL)

โœจ Features

  • Four hiding modes, per server (with a global default that applies to everything else):
    • NONE โ€” send everything unchanged (default)
    • DEBRAND โ€” only fake the client brand
    • VANILLA โ€” hide brand, all mod channels and mod data packs; the client looks like a clean vanilla one
    • FILTERED โ€” 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 on logs every rewritten or dropped packet for troubleshooting
  • i18n โ€” English and Simplified Chinese

โš™๏ธ Configuration

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.

๐ŸŽฎ Commands

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

๐Ÿ” How it works

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 (usually vanilla)
  • the channel registration list (minecraft:register) โ†’ empty, so the registration is not sent at all
  • the known-packs reply (minecraft:select_known_packs) โ†’ only minecraft:* packs
  • direct payloads on channels you hide โ†’ dropped

Single-player worlds and LAN hosts are skipped entirely โ€” the mod never touches local connections.

โš ๏ธ Compatibility & Limitations

  • Client-side only; the server needs no special support.
  • VANILLA mode 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.

โ“ FAQ

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.

๐Ÿ› ๏ธ Building from sources

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 client

Requires JDK 21 and Gradle 9.x (wrapper included).

๐Ÿ“œ License

MIT

Contributors

Celec7

Issues