
Modern Runtime Deobfuscation
Rewrites SRG method and field tokens in stack traces of logs & crash reports into readable Mojang names at runtime.
About this Mod
When Forge 1.20.1 crashes, the log shows method names like m_109093_ instead of render. This mod rewrites those tokens on the fly. The substitution happens in the in-game console, latest.log, and crash-report .txt files, so you can actually read what blew up.
What it looks like
Before:
java.lang.NullPointerException
at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:869)
at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1184)
After:
java.lang.NullPointerException
at net.minecraft.client.renderer.GameRenderer.render(GameRenderer.java:869)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1184)
Features
- Live deobfuscation for debugging purposes.
- Works on both client and dedicated server.
- Uses Mojang's official 1.20.1 mappings.
- Mappings download once on first launch, then cache locally (~5 MB on disk).
- Covers stack traces, crash reports, and Java's helpful-NPE messages.
- Zero config required. Just drop the jar in
mods/.
Installation
- Download the jar and put it in your
mods/folder. - Launch the game. On first run the mod downloads Mojang's mappings (a few seconds). After that it reads from cache.
Compatibility
- Minecraft: 1.20.1
- Loader: Forge 47+
- Side: client + server (works on either, useful on both)
Optional configuration
config/moderndeobf-common.toml is auto-created on first launch with these toggles:
enabled: master switchremapCrashReports: also rewrite.txtcrash dumpsdownloadMappingsIfMissing: set tofalsefor air-gapped use (prepopulate the cache yourself)
Known limits
- Very early crashes. A handful of Mixin warnings that fire before the mod's constructor runs will keep raw SRG tokens. Same limit StackDeobfuscator has on Fabric.
- Custom log lines. Mods that hand-format SRG names into their own
LOGGER.info()calls aren't caught. Only stack traces and Java's NPE messages are. - Parameter names. Mojang's mappings don't include them; this mod doesn't make them up.
About the mappings
The jar contains no Mojang mapping data. On first launch the mod downloads them directly from Mojang's CDN (the URL listed in version_manifest_v2.json) and composes a local lookup table under <gameDir>/moderndeobf/cache/.
Credits
- StackDeobfuscator by booky10. Fabric equivalent and design template for this one.
- Not Enough Crashes and Crashy. The post-hoc tooling this mod complements.
- SrgUtils. The mapping load / reverse / chain primitives.
Disclaimer
This mod was written for personal use. Claude was used extensively throughout development.
No AI-generated assets are otherwise present.
Releases on GitHub also include virustotal scan results with verifiable hashes.
Source / License
MIT. Source on GitHub.
Available Versions
How to Install Modern Runtime Deobfuscation on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set forge Loader
In the panel under "Egg", select the forge loader and matching Minecraft version (1.20.1).
Install Mod
Open the mod browser in the dashboard and search for "Modern Runtime Deobfuscation". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.20.1
Server-side
~ OptionalRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Modern Runtime Deobfuscation server crashes on startup – what to do?
Most common cause: wrong forge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.20.1). You can switch loaders with one click in the panel.
Is Modern Runtime Deobfuscation compatible with forge?
Modern Runtime Deobfuscation officially supports forge for Minecraft 1.20.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Modern Runtime Deobfuscation – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Modern Runtime Deobfuscation consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install Modern Runtime Deobfuscation with just one click on your server.