CurseForge · Minecraft mod
RatNetworking
Mixed fork of Krypton, VMP, and PacketFixer for 1.20.1 w/ a myriad of fixes & some new behavior to optimize network behavior both client-side and server-side.
Quick answer
Which RatNetworking release should I use?
ratnetworking-1.20.1-0.1.2.jar targets 1.20.1 with Forge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is RatNetworking required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does ratnetworking-1.20.1-0.1.2.jar need?
ratnetworking-1.20.1-0.1.2.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add RatNetworking without breaking your instance.
Built for ratnetworking-1.20.1-0.1.2.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use ratnetworking-1.20.1-0.1.2.jar. It targets 1.20.1 with Forge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside ratnetworking-1.20.1-0.1.2.jar. It opens that exact file at the source.
About this project
What does RatNetworking add?
RatNetworking
RatNetworking combines Krypton, Very Many Players (VMP) and Packet Fixer into a single Forge 1.20.1 mod, with bugfixes in each of them as well as some new optimizations.
Why it exists:
Age on Forge The Forge 1.20.1 version of VMP specifically haven't been updated since 2023--3 years ago. As a result, several older bugs remain in them from over the years.
Compatibility. These mods often conflict with each other and with other mods in dense modpacks. Stitching VMP into large packs in particular has caused problems. RatNetworking is built and tested to work alongside heavy Forge packs (tested with ATM9, BetterMC 4, Valhelsia 6, and my own 450+ mod pack).
What's new
Flush batching across the whole tick (server)
In vanilla, every packet triggers its own socket flush (a writev syscall), so a busy player costs hundreds of syscalls per tick. RatNetworking holds the flushes while a dimension runs its chunk tick (all block-change broadcasts plus entity tracking) and while a player's chunks are loading, then flushes each connection once. A flush still goes through every 64 KiB, so large bursts fire immediatley. The result is about 1–2 syscalls per player per tick instead of hundreds (or higher in a modded context).
Entity-tracking shortcut on player movement (server)
For every movement packet, vanilla will check the moving player against every tracked entity in the dimension: roughly entities × players × 20 checks per second (as you can imagine this is a lot). RatNetworking runs a cheaper check: if the player is beyond view distance and isn't already tracking the entity, a full check is skipped. The outcome is identical to vanilla; most checks are skipped in large worlds. This is something I'm working on benchmarking for more accurate numbers in vanilla + modded installs, should have some more data on this next month.
Memory leak fixes at join and disconnect (client + server)
Forge never releases the buffers used by login query packets (registry and config sync), so every join leaked direct memory; that's megabytes per join in large modpacks. Custom-payload packets during play could leak the same way. RatNetworking keeps this data in normal heap buffers the garbage collector reclaims. Vanilla's native zlib state (around 256 KiB per connection) is also freed as soon as a connection closes instead of whenever the GC does.
Zero-copy frame-length writing (client + server)
Vanilla copies every outgoing packet into a new buffer just to put a 1–3 byte length in front of it. RatNetworking writes the length into its own smaller buffer and sends it together with the untouched packet body into a single writev. It also supports 4–5 byte lengths, so packets larger than 2 MiB can be sent. (Measured to be roughly 1.8–2x faster on Windows; delta is zero on Linux.)
Rejecting invalid packets before allocating memory (server)
A fixed version of Packet Fixer's raised limits. Packet Fixer lets a connection that hasn't logged in announce a huge packet, and the server holds memory for it until the read timeout. RatNetworking:
- applies raised packet limits only after a player has logged in;
- rejects oversized packets from their length header alone, before buffering any data;
- rejects any claimed decompressed size beyond DEFLATE's maximum possible expansion (~1032x);
- caps decompression output at the claimed size and requires an exact match.
(Benched vs PacketFixer: a 200 MiB packet announced before login is closed in about 3 ms vs 15s+ PacketFixer the connection stayed open.)
Included from the original mods
Faster compression (from Krypton): libdeflate on Linux (x86_64 / aarch64): 4.4x faster compression and 1.9x faster decompression than vanilla, at vanilla's compression level, so no extra bandwidth.
Faster packet splitting (from Krypton): no copy per incoming packet, and floods of empty "nullping" packets are skipped. 2.5–4x faster, 94% less memory churn.
Non-blocking disconnect (from VMP): the server no longer stalls waiting for kicked players' sockets to close.
Raised packet limits and timeouts (from Packet Fixer): fixes errors like
Payload may not be larger than 1048576 bytes,length wider than 21-bitandTried to read NBT tag that was too big, with safe defaults.Some of the bugfixes in the originals:
Packet Fixer's server read timeout never applied. It also made tab-list ping go stale.
Krypton could free compression memory that was still in use. It's chunk entity lookup could also leave entities to appear invisible in some cases.
Most speedups was benchmarked against vanilla before it was kept. Any Krypton changes that measured slower on Java 17+ were left out (20 benched runs against vanilla & 2 modded instances).
Installation
- Optional on both sides. It works on the server only, the client only, or both. Packets larger than vanilla's limits need RatNetworking (or Packet Fixer) on the receiving side.
- Recommended: install on both the server and the client.
- Everything can be toggled in
config/ratnetworking.properties. Operators can run/ratnetworkingto see active modules and limits.
Compatibility
| Mod | Status |
|---|---|
| Krypton Reforged / Krypton Reno | Incompatible. The game won't start with both installed; remove the Krypton fork, since RatNetworking includes its optimizations. |
| Krypton (Fabric, through Sinytra Connector) | Detected; RatNetworking turns off its overlapping parts. Not needed alongside RatNetworking. |
| Very Many Players | Not supported. If detected, RatNetworking turns off its overlapping parts. |
| Packet Fixer | Compatible. RatNetworking turns off its packet limits, timeouts, packet splitter/prepender and compression, so Packet Fixer's apply instead. Removing Packet Fixer is recommended. |
| Connectivity | Compatible. RatNetworking turns off its timeouts, outgoing packet size limit and non-blocking disconnect, so Connectivity's settings apply. Everything else stays on. |
License
GPL-3.0-or-later. Based on Krypton (LGPL-3.0), VMP (MIT) and Packet Fixer (MIT), and bundles velocity-native (GPL-3.0) for native compression.
Project description from CurseForge.
Pick your setup
RatNetworking by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
RatNetworking versions and loaders
ratnetworking-1.20.1-0.1.2.jar
31 Oct 2026
ratnetworking-1.20.1-0.1.1.jar
30 Oct 2026
Looking for an older file? The official CurseForge project page is in Resources.