Перейти к содержимому
Mineforgian

Not Enough Bandwidth Fabric

Network bandwidth optimization through packet header indexing, aggregation + Zstd compression, delayed chunk caching, and persistent client-side chunk deduplication.

Загрузки
7K
Подписчики
4
Обновлён
2 августа 2026 г.
Лицензия
GPL-3.0-only

Опубликован 4 апреля 2026 г.

Not Enough Bandwidth (NEB) — Fabric Port

Fabric mod for Minecraft 1.21.4 — Network bandwidth optimization through packet header indexing, aggregation + Zstd compression, delayed chunk caching, and persistent client-side chunk deduplication.

Need support or a port for another version? Open an issue, join QQ group 362669270 (invite link), or email [email protected].

This is an unofficial Fabric port of the original NeoForge mod by USS_Shenzhou. If you want to contribute to the upstream project, please discuss with USS_Shenzhou on Discord first.

Introduction

NEB uses various methods to save as much network traffic as possible during Minecraft gameplay, while remaining transparent to both mods and players.

In the TeaCon Jiachen dataset, compared to raw uncompressed data, NEB can theoretically reduce the server's outbound traffic to 7.6% of its original size. For comparison, the outbound traffic of Vanilla's default compression mechanism is 39% of the original data size.

In tests conducted in a Vanilla environment, the server outbound traffic was reduced to 18% of its original size. As the number of installed mods increases, compression performance improves.

Press Alt+N in-game to view the network traffic status.

Main Features

Compact Packet Header

Optimizes CustomPacketPayload encoding and decoding by replacing the packet header Identifier (Packet Type) with a compact VarInt index. This reduces the mod network packet header overhead to a fixed 3-4 bytes, instead of the length of the string corresponding to the network packet type.

[!NOTE]

Fixed 8 bits header

+------------- 1 byte (8 bits) ---------------+
|               function flags                 |
+---+---+--------------------------------------+
| i | t |      reserved (6 bits)               |
+---+---+--------------------------------------+
  • i = indexed (1 bit)
  • t = tight_indexed (1 bit, only valid if i=1)
  • reserved = 6 bits (for future use)

Indexed packet type

  • If i=0 (not indexed): full Identifier in UTF-8 follows.
  • If i=1 and t=0 (indexed, NOT tight): 3 bytes — 12-bit namespace-id + 12-bit path-id (capacity 4096 each).
  • If i=1 and t=1 (indexed, tight): 2 bytes — 8-bit namespace-id + 8-bit path-id (capacity 256 each).

Aggregation and Compression

Optimizes the situation where vanilla often produces a large number of small network packets. Intercepts transmission at the Connection level, assembles them into one large network packet every 20ms, and sends it after Zstd compression.

[!NOTE]

+---+-----+----+----+----+----+----+----...
| B | (S) | p0 | s0 | d0 | p1 | s1 | d1 ...
+---+-----+----+----+----+----+----+----...
          +--packet 1---++--packet 2---+
          +---------compressed---------+
  • B = bool, whether compressed
  • S = varint, size of uncompressed data (only present if compressed)
  • p = prefix (medium/int/utf-8), type of this subpacket
  • s = varint, size of this subpacket
  • d = bytes, data of this subpacket

Delayed Chunk Cache (DCC)

In Vanilla, when a player moves, the server instructs the client to immediately forget the chunks behind them; if the player returns to the original position, the full chunk data must be sent again. By delaying this "forgetting", the chunk transmission traffic generated when moving back and forth can be saved.

Persistent Chunk Cache (PCC)

Caches chunk data persistently on the client side using a local LevelDB database, keyed by a 64-bit content hash. On each connection, the client sends a Bloom Filter of all cached chunk hashes to the server. When the server is about to send a chunk whose hash is in the filter, it sends only the 20-byte hash instead of the full packet (~10–20 KB). The client loads the chunk from its local database. On a Bloom Filter false positive, the client requests the full data as a fallback. The Bloom Filter is refreshed every 64 newly cached chunks so the optimization takes effect within the same session.

Configuration

Modify the configuration file at config/NotEnoughBandwidthConfig.json.

compatibleMode

Works independently on client and server.

Whether to enable compatibility mode. If set to true, the blackList below will be used.

blackList

Works independently on client and server.

The blacklist for compatibility mode. Packets listed here will be skipped by NEB. You can add packets as needed.

[!WARNING] To ensure packet ordering, packets in the blacklist will interrupt the ongoing aggregation. If there are many packets in the blacklist, or if the corresponding packets are sent too frequently, the efficiency of aggregation-compression will decrease.

compressionLevel

Works independently on client and server.

The Zstd compression level (integer 1-19). Default is 6. Higher values produce better compression but use more CPU.

contextLevel

Works independently on client and server.

The Zstd context window size (integer 21-25, representing 2-32MB). Default is 23 (8MB). Larger values result in better compression but consume more memory.

[!TIP] For a server with 100 players, a setting of 25 will result in approximately 3200MB of additional memory usage.

dccSizeLimit, dccDistance, dccTimeout

Server only.

Delayed Chunk Cache (DCC) parameters: max cached chunks, cache distance, cache timeout (seconds). Larger values may consume more memory, while smaller values may trigger updates more frequently.

chunkCacheEnabled

Client only.

Whether to enable the Persistent Chunk Cache. Default is true.

chunkCacheMaxSizeMB

Client only.

Maximum size of the local chunk cache database in megabytes. Default is 2048 (2 GB).

Installation

Requires:

  • Minecraft 1.21.4
  • Fabric Loader >= 0.18.0
  • Fabric API

Both client and server must install NEB. When a client without NEB connects, the server falls back to vanilla behavior for that connection.

License

Copyright (C) 2025 USS_Shenzhou

This mod is free software under the GNU GPL 3.0. See LICENSE for details.

Additional Permissions

As a game player, when you load and play this program in Minecraft, this license automatically grants you all rights necessary, which are not covered in the GPL-3.0 license, or are prohibited by the GPL-3.0 license, for the normal loading and playing of this program in Minecraft. In case of conflicts between the GPL-3.0 license and the Minecraft EULA or other Mojang/Microsoft terms, the latter shall prevail.

Ченджлог

1.0.2+1.21.4Релиз1.21.4 · 2 августа 2026 г.

Changes

  • chore: update version (5575fe7)
  • docs(todos): close upstream audit items with implementation notes (a98d49f)
  • fix(indextype): update vanilla paths for 26.1 and sync them at join (4683e41)
  • fix(zstd): pin dict per connection, add replay opt-out, evict on disconnect (73f91d6)
  • feat(update): Update version code (da9b6fa)
  • fix(config): serialize config file writes on a dedicated thread (5583ffe)
  • fix(zstd): gate dictionary sampling to hosting sessions (e8f348d)
  • feat(update): Adapt to 26.2 (4726602)
  • fix(chunk): anchor dcc tickets at player and restrict chunk requests (b1736ea)
  • fix(network): raise frame limit, clamp decompress size, harden aggregate decode (a26d58a)
  • refactor(build): adopt preprocessor-example-mod project layout (beed953)
  • docs(todos): add upstream comparison audit findings (74f7e6f)
  • chore(ci): release on published release or manual dispatch with auto changelog (bd69a10)
  • feat(build): unify mod_version in root gradle.properties with + suffix (bbde792)
  • chore(ci): note the auto-provisioned jdk 17 toolchain for 1.20.1 (070b150)
  • feat(build): derive 1.20.1 from 1.21.1 via preprocessor chain (4b8a7ea)
  • docs(readme): document single-branch preprocessor workflow (d230c6a)
  • chore(ci): build and release all versions from the single branch (c20b25a)
  • feat(build): derive 1.21.10/1.21.6/1.21.4/1.21.1 via preprocessor chain (485b87b)
  • feat(build): derive 1.21.11 from 26.1 via preprocessor (d85071c)
  • chore(build): bootstrap replaymod preprocessor single-branch layout (82acc59)
  • chore(build): bump version to 26.1-4 (0bb8266)
  • feat(update): check GitHub releases on startup and notify in chat (53eb2a8)
  • feat(i18n): add key binding translations for controls menu (39a59c6)
  • feat(neb): port 1.21.4 feature set (be1881c)
  • chore(metadata): broaden supported minecraft versions (757baa9)
  • chore(26.1): port to minecraft 26.1 (244d4f4)
  • feat(stat): add system NIC traffic monitoring and line chart (abb668f)
  • docs(readme): fix keybinding description from Alt+N to N (a6d8f35)
  • chore(modid): rename mod id to neb-fabric with cross-loader wire compat (4c2dbb8)
  • chore(build): bump version to 1.21.6-3 (c6879b5)
  • fix(chunkcache): fix bloom filter timing, eviction ordering, and stats accuracy (b13bce5)
  • chore(ci): aggregate release workflow for multi-branch builds (6d1f173)
  • chore(build): release version 1.21.6-2 (26e7de6)
  • chore(ci): refactor release workflow for multi-branch support (590b067)
  • chore(build): upgrade to minecraft 1.21.6 (1ca46a8)
1.0.2+26.1Релиз26.1 · 2 августа 2026 г.

Changes

  • chore: update version (5575fe7)
  • docs(todos): close upstream audit items with implementation notes (a98d49f)
  • fix(indextype): update vanilla paths for 26.1 and sync them at join (4683e41)
  • fix(zstd): pin dict per connection, add replay opt-out, evict on disconnect (73f91d6)
  • feat(update): Update version code (da9b6fa)
  • fix(config): serialize config file writes on a dedicated thread (5583ffe)
  • fix(zstd): gate dictionary sampling to hosting sessions (e8f348d)
  • feat(update): Adapt to 26.2 (4726602)
  • fix(chunk): anchor dcc tickets at player and restrict chunk requests (b1736ea)
  • fix(network): raise frame limit, clamp decompress size, harden aggregate decode (a26d58a)
  • refactor(build): adopt preprocessor-example-mod project layout (beed953)
  • docs(todos): add upstream comparison audit findings (74f7e6f)
  • chore(ci): release on published release or manual dispatch with auto changelog (bd69a10)
  • feat(build): unify mod_version in root gradle.properties with + suffix (bbde792)
  • chore(ci): note the auto-provisioned jdk 17 toolchain for 1.20.1 (070b150)
  • feat(build): derive 1.20.1 from 1.21.1 via preprocessor chain (4b8a7ea)
  • docs(readme): document single-branch preprocessor workflow (d230c6a)
  • chore(ci): build and release all versions from the single branch (c20b25a)
  • feat(build): derive 1.21.10/1.21.6/1.21.4/1.21.1 via preprocessor chain (485b87b)
  • feat(build): derive 1.21.11 from 26.1 via preprocessor (d85071c)
  • chore(build): bootstrap replaymod preprocessor single-branch layout (82acc59)
  • chore(build): bump version to 26.1-4 (0bb8266)
  • feat(update): check GitHub releases on startup and notify in chat (53eb2a8)
  • feat(i18n): add key binding translations for controls menu (39a59c6)
  • feat(neb): port 1.21.4 feature set (be1881c)
  • chore(metadata): broaden supported minecraft versions (757baa9)
  • chore(26.1): port to minecraft 26.1 (244d4f4)
  • feat(stat): add system NIC traffic monitoring and line chart (abb668f)
  • docs(readme): fix keybinding description from Alt+N to N (a6d8f35)
  • chore(modid): rename mod id to neb-fabric with cross-loader wire compat (4c2dbb8)
  • chore(build): bump version to 1.21.6-3 (c6879b5)
  • fix(chunkcache): fix bloom filter timing, eviction ordering, and stats accuracy (b13bce5)
  • chore(ci): aggregate release workflow for multi-branch builds (6d1f173)
  • chore(build): release version 1.21.6-2 (26e7de6)
  • chore(ci): refactor release workflow for multi-branch support (590b067)
  • chore(build): upgrade to minecraft 1.21.6 (1ca46a8)
1.0.2+1.21.10Релиз1.21.10 · 2 августа 2026 г.

Changes

  • chore: update version (5575fe7)
  • docs(todos): close upstream audit items with implementation notes (a98d49f)
  • fix(indextype): update vanilla paths for 26.1 and sync them at join (4683e41)
  • fix(zstd): pin dict per connection, add replay opt-out, evict on disconnect (73f91d6)
  • feat(update): Update version code (da9b6fa)
  • fix(config): serialize config file writes on a dedicated thread (5583ffe)
  • fix(zstd): gate dictionary sampling to hosting sessions (e8f348d)
  • feat(update): Adapt to 26.2 (4726602)
  • fix(chunk): anchor dcc tickets at player and restrict chunk requests (b1736ea)
  • fix(network): raise frame limit, clamp decompress size, harden aggregate decode (a26d58a)
  • refactor(build): adopt preprocessor-example-mod project layout (beed953)
  • docs(todos): add upstream comparison audit findings (74f7e6f)
  • chore(ci): release on published release or manual dispatch with auto changelog (bd69a10)
  • feat(build): unify mod_version in root gradle.properties with + suffix (bbde792)
  • chore(ci): note the auto-provisioned jdk 17 toolchain for 1.20.1 (070b150)
  • feat(build): derive 1.20.1 from 1.21.1 via preprocessor chain (4b8a7ea)
  • docs(readme): document single-branch preprocessor workflow (d230c6a)
  • chore(ci): build and release all versions from the single branch (c20b25a)
  • feat(build): derive 1.21.10/1.21.6/1.21.4/1.21.1 via preprocessor chain (485b87b)
  • feat(build): derive 1.21.11 from 26.1 via preprocessor (d85071c)
  • chore(build): bootstrap replaymod preprocessor single-branch layout (82acc59)
  • chore(build): bump version to 26.1-4 (0bb8266)
  • feat(update): check GitHub releases on startup and notify in chat (53eb2a8)
  • feat(i18n): add key binding translations for controls menu (39a59c6)
  • feat(neb): port 1.21.4 feature set (be1881c)
  • chore(metadata): broaden supported minecraft versions (757baa9)
  • chore(26.1): port to minecraft 26.1 (244d4f4)
  • feat(stat): add system NIC traffic monitoring and line chart (abb668f)
  • docs(readme): fix keybinding description from Alt+N to N (a6d8f35)
  • chore(modid): rename mod id to neb-fabric with cross-loader wire compat (4c2dbb8)
  • chore(build): bump version to 1.21.6-3 (c6879b5)
  • fix(chunkcache): fix bloom filter timing, eviction ordering, and stats accuracy (b13bce5)
  • chore(ci): aggregate release workflow for multi-branch builds (6d1f173)
  • chore(build): release version 1.21.6-2 (26e7de6)
  • chore(ci): refactor release workflow for multi-branch support (590b067)
  • chore(build): upgrade to minecraft 1.21.6 (1ca46a8)
1.0.2+26.2Релиз26.2 · 2 августа 2026 г.

Changes

  • chore: update version (5575fe7)
  • docs(todos): close upstream audit items with implementation notes (a98d49f)
  • fix(indextype): update vanilla paths for 26.1 and sync them at join (4683e41)
  • fix(zstd): pin dict per connection, add replay opt-out, evict on disconnect (73f91d6)
  • feat(update): Update version code (da9b6fa)
  • fix(config): serialize config file writes on a dedicated thread (5583ffe)
  • fix(zstd): gate dictionary sampling to hosting sessions (e8f348d)
  • feat(update): Adapt to 26.2 (4726602)
  • fix(chunk): anchor dcc tickets at player and restrict chunk requests (b1736ea)
  • fix(network): raise frame limit, clamp decompress size, harden aggregate decode (a26d58a)
  • refactor(build): adopt preprocessor-example-mod project layout (beed953)
  • docs(todos): add upstream comparison audit findings (74f7e6f)
  • chore(ci): release on published release or manual dispatch with auto changelog (bd69a10)
  • feat(build): unify mod_version in root gradle.properties with + suffix (bbde792)
  • chore(ci): note the auto-provisioned jdk 17 toolchain for 1.20.1 (070b150)
  • feat(build): derive 1.20.1 from 1.21.1 via preprocessor chain (4b8a7ea)
  • docs(readme): document single-branch preprocessor workflow (d230c6a)
  • chore(ci): build and release all versions from the single branch (c20b25a)
  • feat(build): derive 1.21.10/1.21.6/1.21.4/1.21.1 via preprocessor chain (485b87b)
  • feat(build): derive 1.21.11 from 26.1 via preprocessor (d85071c)
  • chore(build): bootstrap replaymod preprocessor single-branch layout (82acc59)
  • chore(build): bump version to 26.1-4 (0bb8266)
  • feat(update): check GitHub releases on startup and notify in chat (53eb2a8)
  • feat(i18n): add key binding translations for controls menu (39a59c6)
  • feat(neb): port 1.21.4 feature set (be1881c)
  • chore(metadata): broaden supported minecraft versions (757baa9)
  • chore(26.1): port to minecraft 26.1 (244d4f4)
  • feat(stat): add system NIC traffic monitoring and line chart (abb668f)
  • docs(readme): fix keybinding description from Alt+N to N (a6d8f35)
  • chore(modid): rename mod id to neb-fabric with cross-loader wire compat (4c2dbb8)
  • chore(build): bump version to 1.21.6-3 (c6879b5)
  • fix(chunkcache): fix bloom filter timing, eviction ordering, and stats accuracy (b13bce5)
  • chore(ci): aggregate release workflow for multi-branch builds (6d1f173)
  • chore(build): release version 1.21.6-2 (26e7de6)
  • chore(ci): refactor release workflow for multi-branch support (590b067)
  • chore(build): upgrade to minecraft 1.21.6 (1ca46a8)
1.0.2+1.21.6Релиз1.21.6 · 2 августа 2026 г.

Changes

  • chore: update version (5575fe7)
  • docs(todos): close upstream audit items with implementation notes (a98d49f)
  • fix(indextype): update vanilla paths for 26.1 and sync them at join (4683e41)
  • fix(zstd): pin dict per connection, add replay opt-out, evict on disconnect (73f91d6)
  • feat(update): Update version code (da9b6fa)
  • fix(config): serialize config file writes on a dedicated thread (5583ffe)
  • fix(zstd): gate dictionary sampling to hosting sessions (e8f348d)
  • feat(update): Adapt to 26.2 (4726602)
  • fix(chunk): anchor dcc tickets at player and restrict chunk requests (b1736ea)
  • fix(network): raise frame limit, clamp decompress size, harden aggregate decode (a26d58a)
  • refactor(build): adopt preprocessor-example-mod project layout (beed953)
  • docs(todos): add upstream comparison audit findings (74f7e6f)
  • chore(ci): release on published release or manual dispatch with auto changelog (bd69a10)
  • feat(build): unify mod_version in root gradle.properties with + suffix (bbde792)
  • chore(ci): note the auto-provisioned jdk 17 toolchain for 1.20.1 (070b150)
  • feat(build): derive 1.20.1 from 1.21.1 via preprocessor chain (4b8a7ea)
  • docs(readme): document single-branch preprocessor workflow (d230c6a)
  • chore(ci): build and release all versions from the single branch (c20b25a)
  • feat(build): derive 1.21.10/1.21.6/1.21.4/1.21.1 via preprocessor chain (485b87b)
  • feat(build): derive 1.21.11 from 26.1 via preprocessor (d85071c)
  • chore(build): bootstrap replaymod preprocessor single-branch layout (82acc59)
  • chore(build): bump version to 26.1-4 (0bb8266)
  • feat(update): check GitHub releases on startup and notify in chat (53eb2a8)
  • feat(i18n): add key binding translations for controls menu (39a59c6)
  • feat(neb): port 1.21.4 feature set (be1881c)
  • chore(metadata): broaden supported minecraft versions (757baa9)
  • chore(26.1): port to minecraft 26.1 (244d4f4)
  • feat(stat): add system NIC traffic monitoring and line chart (abb668f)
  • docs(readme): fix keybinding description from Alt+N to N (a6d8f35)
  • chore(modid): rename mod id to neb-fabric with cross-loader wire compat (4c2dbb8)
  • chore(build): bump version to 1.21.6-3 (c6879b5)
  • fix(chunkcache): fix bloom filter timing, eviction ordering, and stats accuracy (b13bce5)
  • chore(ci): aggregate release workflow for multi-branch builds (6d1f173)
  • chore(build): release version 1.21.6-2 (26e7de6)
  • chore(ci): refactor release workflow for multi-branch support (590b067)
  • chore(build): upgrade to minecraft 1.21.6 (1ca46a8)
1.0.2+1.21.11Релиз1.21.11 · 2 августа 2026 г.

Changes

  • chore: update version (5575fe7)
  • docs(todos): close upstream audit items with implementation notes (a98d49f)
  • fix(indextype): update vanilla paths for 26.1 and sync them at join (4683e41)
  • fix(zstd): pin dict per connection, add replay opt-out, evict on disconnect (73f91d6)
  • feat(update): Update version code (da9b6fa)
  • fix(config): serialize config file writes on a dedicated thread (5583ffe)
  • fix(zstd): gate dictionary sampling to hosting sessions (e8f348d)
  • feat(update): Adapt to 26.2 (4726602)
  • fix(chunk): anchor dcc tickets at player and restrict chunk requests (b1736ea)
  • fix(network): raise frame limit, clamp decompress size, harden aggregate decode (a26d58a)
  • refactor(build): adopt preprocessor-example-mod project layout (beed953)
  • docs(todos): add upstream comparison audit findings (74f7e6f)
  • chore(ci): release on published release or manual dispatch with auto changelog (bd69a10)
  • feat(build): unify mod_version in root gradle.properties with + suffix (bbde792)
  • chore(ci): note the auto-provisioned jdk 17 toolchain for 1.20.1 (070b150)
  • feat(build): derive 1.20.1 from 1.21.1 via preprocessor chain (4b8a7ea)
  • docs(readme): document single-branch preprocessor workflow (d230c6a)
  • chore(ci): build and release all versions from the single branch (c20b25a)
  • feat(build): derive 1.21.10/1.21.6/1.21.4/1.21.1 via preprocessor chain (485b87b)
  • feat(build): derive 1.21.11 from 26.1 via preprocessor (d85071c)
  • chore(build): bootstrap replaymod preprocessor single-branch layout (82acc59)
  • chore(build): bump version to 26.1-4 (0bb8266)
  • feat(update): check GitHub releases on startup and notify in chat (53eb2a8)
  • feat(i18n): add key binding translations for controls menu (39a59c6)
  • feat(neb): port 1.21.4 feature set (be1881c)
  • chore(metadata): broaden supported minecraft versions (757baa9)
  • chore(26.1): port to minecraft 26.1 (244d4f4)
  • feat(stat): add system NIC traffic monitoring and line chart (abb668f)
  • docs(readme): fix keybinding description from Alt+N to N (a6d8f35)
  • chore(modid): rename mod id to neb-fabric with cross-loader wire compat (4c2dbb8)
  • chore(build): bump version to 1.21.6-3 (c6879b5)
  • fix(chunkcache): fix bloom filter timing, eviction ordering, and stats accuracy (b13bce5)
  • chore(ci): aggregate release workflow for multi-branch builds (6d1f173)
  • chore(build): release version 1.21.6-2 (26e7de6)
  • chore(ci): refactor release workflow for multi-branch support (590b067)
  • chore(build): upgrade to minecraft 1.21.6 (1ca46a8)
1.0.2+1.21.1Релиз1.21.1 · 2 августа 2026 г.

Changes

  • chore: update version (5575fe7)
  • docs(todos): close upstream audit items with implementation notes (a98d49f)
  • fix(indextype): update vanilla paths for 26.1 and sync them at join (4683e41)
  • fix(zstd): pin dict per connection, add replay opt-out, evict on disconnect (73f91d6)
  • feat(update): Update version code (da9b6fa)
  • fix(config): serialize config file writes on a dedicated thread (5583ffe)
  • fix(zstd): gate dictionary sampling to hosting sessions (e8f348d)
  • feat(update): Adapt to 26.2 (4726602)
  • fix(chunk): anchor dcc tickets at player and restrict chunk requests (b1736ea)
  • fix(network): raise frame limit, clamp decompress size, harden aggregate decode (a26d58a)
  • refactor(build): adopt preprocessor-example-mod project layout (beed953)
  • docs(todos): add upstream comparison audit findings (74f7e6f)
  • chore(ci): release on published release or manual dispatch with auto changelog (bd69a10)
  • feat(build): unify mod_version in root gradle.properties with + suffix (bbde792)
  • chore(ci): note the auto-provisioned jdk 17 toolchain for 1.20.1 (070b150)
  • feat(build): derive 1.20.1 from 1.21.1 via preprocessor chain (4b8a7ea)
  • docs(readme): document single-branch preprocessor workflow (d230c6a)
  • chore(ci): build and release all versions from the single branch (c20b25a)
  • feat(build): derive 1.21.10/1.21.6/1.21.4/1.21.1 via preprocessor chain (485b87b)
  • feat(build): derive 1.21.11 from 26.1 via preprocessor (d85071c)
  • chore(build): bootstrap replaymod preprocessor single-branch layout (82acc59)
  • chore(build): bump version to 26.1-4 (0bb8266)
  • feat(update): check GitHub releases on startup and notify in chat (53eb2a8)
  • feat(i18n): add key binding translations for controls menu (39a59c6)
  • feat(neb): port 1.21.4 feature set (be1881c)
  • chore(metadata): broaden supported minecraft versions (757baa9)
  • chore(26.1): port to minecraft 26.1 (244d4f4)
  • feat(stat): add system NIC traffic monitoring and line chart (abb668f)
  • docs(readme): fix keybinding description from Alt+N to N (a6d8f35)
  • chore(modid): rename mod id to neb-fabric with cross-loader wire compat (4c2dbb8)
  • chore(build): bump version to 1.21.6-3 (c6879b5)
  • fix(chunkcache): fix bloom filter timing, eviction ordering, and stats accuracy (b13bce5)
  • chore(ci): aggregate release workflow for multi-branch builds (6d1f173)
  • chore(build): release version 1.21.6-2 (26e7de6)
  • chore(ci): refactor release workflow for multi-branch support (590b067)
  • chore(build): upgrade to minecraft 1.21.6 (1ca46a8)
1.0.2+1.20.1Релиз1.20.1 · 2 августа 2026 г.

Changes

  • chore: update version (5575fe7)
  • docs(todos): close upstream audit items with implementation notes (a98d49f)
  • fix(indextype): update vanilla paths for 26.1 and sync them at join (4683e41)
  • fix(zstd): pin dict per connection, add replay opt-out, evict on disconnect (73f91d6)
  • feat(update): Update version code (da9b6fa)
  • fix(config): serialize config file writes on a dedicated thread (5583ffe)
  • fix(zstd): gate dictionary sampling to hosting sessions (e8f348d)
  • feat(update): Adapt to 26.2 (4726602)
  • fix(chunk): anchor dcc tickets at player and restrict chunk requests (b1736ea)
  • fix(network): raise frame limit, clamp decompress size, harden aggregate decode (a26d58a)
  • refactor(build): adopt preprocessor-example-mod project layout (beed953)
  • docs(todos): add upstream comparison audit findings (74f7e6f)
  • chore(ci): release on published release or manual dispatch with auto changelog (bd69a10)
  • feat(build): unify mod_version in root gradle.properties with + suffix (bbde792)
  • chore(ci): note the auto-provisioned jdk 17 toolchain for 1.20.1 (070b150)
  • feat(build): derive 1.20.1 from 1.21.1 via preprocessor chain (4b8a7ea)
  • docs(readme): document single-branch preprocessor workflow (d230c6a)
  • chore(ci): build and release all versions from the single branch (c20b25a)
  • feat(build): derive 1.21.10/1.21.6/1.21.4/1.21.1 via preprocessor chain (485b87b)
  • feat(build): derive 1.21.11 from 26.1 via preprocessor (d85071c)
  • chore(build): bootstrap replaymod preprocessor single-branch layout (82acc59)
  • chore(build): bump version to 26.1-4 (0bb8266)
  • feat(update): check GitHub releases on startup and notify in chat (53eb2a8)
  • feat(i18n): add key binding translations for controls menu (39a59c6)
  • feat(neb): port 1.21.4 feature set (be1881c)
  • chore(metadata): broaden supported minecraft versions (757baa9)
  • chore(26.1): port to minecraft 26.1 (244d4f4)
  • feat(stat): add system NIC traffic monitoring and line chart (abb668f)
  • docs(readme): fix keybinding description from Alt+N to N (a6d8f35)
  • chore(modid): rename mod id to neb-fabric with cross-loader wire compat (4c2dbb8)
  • chore(build): bump version to 1.21.6-3 (c6879b5)
  • fix(chunkcache): fix bloom filter timing, eviction ordering, and stats accuracy (b13bce5)
  • chore(ci): aggregate release workflow for multi-branch builds (6d1f173)
  • chore(build): release version 1.21.6-2 (26e7de6)
  • chore(ci): refactor release workflow for multi-branch support (590b067)
  • chore(build): upgrade to minecraft 1.21.6 (1ca46a8)

Комментарии

Загружаем…