ZSTD压缩器

ZSTD压缩器

为Minecraft多人游戏提供高压缩的Zstd数据流,替代原版的Zlib压缩管线,以显著减少带宽使用。

优化

为 Minecraft 多人游戏提供 Zstd 高压缩率数据流,替代原版 Zlib 压缩管线,显著降低带宽占用。支持客户端 Mod + Velocity 服务端插件协同工作。

工作原理

客户端与服务端之间交换的所有游戏数据包在加密前被批量合并,并使用 Zstd 算法进行压缩。与原版 Zlib 相比,Zstd 在同等压缩速度下可将数据大小减少 50%–80%。同时支持自动字典训练,以进一步提升压缩比。

支持版本

  • Fabric:1.21.1、1.20.1
  • Forge:1.20.1
  • Neoforge:1.21.1
  • Velocity:3.4.0+

兼容性

已知兼容:

  • ViaVersion
  • limboauth

特性

  • 透明替换:无缝接管原版压缩管线,无需更改服务端配置
  • 批量压缩:在 10ms 时间窗口内聚合小数据包,以减少 TCP 分段开销,采用 32MB 滑动窗口
  • 自适应跳过:若压缩后数据大小未减少,则自动发送原始批量数据
  • 实时统计 HUD:在左上角显示 TX/RX 字节数和压缩率(按 F8 切换)
  • 高度可配置:YAML 配置文件,支持压缩级别、窗口大小、统计间隔等

使用方法

  1. Velocity:将插件放入 plugins/ 目录,并重启代理端
  2. 客户端:安装对应 Minecraft 版本的 Fabric / Forge 模组
  3. 按 F8 键切换 HUD 显示

注意事项

  • 客户端和服务端必须安装兼容版本才能启用 Zstd 压缩
  • 若未检测到 Zstd 兼容客户端,Velocity 将自动回退为原版传输
  • 若未检测到 Zstd 兼容服务端,客户端将自动回退为原版传输