跳到正文

Packet Diet

ZSTD packet compression and NBT scrubbing for Fabric — less traffic, less CPU.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

PacketEdit

Network optimization for Fabric servers and clients. PacketEdit cuts network traffic and packet-processing CPU cost with two independent modules.

🗜️ ZSTD Packet Compression

Replaces vanilla’s zlib packet compression with Zstandard (ZSTD) — a modern algorithm that compresses better and several times faster.

  • Same wire framing as vanilla ([VarInt size][payload]), only the algorithm changes — the rest of the pipeline is untouched.
  • Packets smaller than 256 bytes are passed through uncompressed (no wasted CPU on tiny packets).
  • Zero-copy native compression between off-heap buffers — no extra allocations on the Netty threads.
  • Full vanilla-style validation on decode (decompression-bomb protection, size checks).

⚠️ PacketEdit must be installed on BOTH the server and every client. A vanilla client cannot read a ZSTD stream. You can disable this module with the JVM flag -Dpacketedit.zstd=false.

✂️ NBT / Data Component Scrubber

The server strips heavy, purely-cosmetic item data from container packets before they are sent, when the item is not in the player’s active hotbar:

  • minecraft:custom_data (custom NBT from mods/plugins — cosmetics, animations, markers)
  • minecraft:lore (huge lore walls)
  • Book contents (pages are not needed until the book is actually held)

Hotbar, offhand and armor slots always receive full data. As soon as an item is moved into the hotbar, the server automatically re-sends the slot with complete data — the client never ends up holding a “stripped” active item. Only whitelisted components are removed from a copy of the stack, so packets stay fully valid for the vanilla codec: no client-side patches, no inventory desync, no crashes.

This module is server-side only in effect and can be disabled with -Dpacketedit.scrubber=false.

Configuration (JVM flags)

| Flag | Default | Description |
| — | — | — |
| -Dpacketedit.zstd | true | Enable ZSTD compression |
| -Dpacketedit.zstd.level | 3 | ZSTD compression level (1–3 recommended for realtime) |
| -Dpacketedit.zstd.threshold | 256 | Minimum packet size (bytes) to compress |
| -Dpacketedit.scrubber | true | Enable the packet scrubber |

Requirements

  • Minecraft 1.21.11, Fabric Loader ≥ 0.19.3, Fabric API
  • Java 21+
  • Installed on both sides for ZSTD compression

🇷🇺 Кратко по-русски

PacketEdit — оптимизация сети: ZSTD-компрессия пакетов вместо ванильного zlib (быстрее и жмёт лучше) и срезание избыточного NBT (кастомные данные модов, огромный Lore, страницы книг) у предметов вне активного хотбара. Для ZSTD мод обязателен и на сервере, и на клиенте.

常见问题

Packet Diet 支持哪些 Minecraft 版本?

Packet Diet 支持 Minecraft Java 版 1.21.11,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

Packet Diet 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

lollipop_official00298 的其他作品

查看全部 →