BandwidthOptimizer
Экономь трафик Minecraft с большими объёмами.
- Загрузчики
- FabricNeoForgeForgeQuilt
- Скачиваний на Modrinth
- 194 тыс.
- Подписчиков на Modrinth
- 29
- версий
- 146
- Обновлён
- 12 октября 202612 окт.
- Опубликован
- в 2026
Коротко о моде
Нужен и в игре, и на сервере
BandwidthOptimizer
BandwidthOptimizer — это клиент-серверный мод оптимизации сети, созданный для серверов Minecraft с большим количеством модов. Он снижает повторяющийся пакетный трафик от перемещения по чанкам, синхронизации при входе, кастомных payload'ов, машин, систем хранения и простаивающих клиентов, восстанавливая исходный закодированный поток пакетов до обычной обработки Minecraft.
И на сервере, и на каждом подключающемся клиенте должна быть установлена совместимая сборка.

Основные возможности
- Восстанавливаемое межкадровое потоковое сжатие Zstd.
- Синхронизированное сопоставление литералов и шаблонов для повторяющихся структур пакетов.
- Упорядоченная пакетная обработка мелких пакетов с защищённым сбросом и границами протокола.
- Проверенная передача чанков в режимах
full,refиpatch. - Постоянное переиспользование клиентских чанков между переподключениями и повторными посещениями местности.
- Инкрементальная запись кэша, ограниченное хранение, восстановление после повреждений и фоновая поддержка.
- Снижение трафика в лёгком и глубоком простое с восстановлением состояния при возобновлении игры.
- Загружаемые отчёты BO Stats с графиками, историей игроков, атрибуцией пакетов, результатами кэша, деталями обхода и экономией от idle-гейта.
- Диагностика OP по запросу, включая точную трассировку классов пакетов.
- Работа над совместимостью с окружениями с большим количеством Create, Velocity, Voxy, AutoFish, Aeronautics и другими сетево-нагруженными сборками.
Как это работает
BO работает после того, как Minecraft или загрузчик модов закодировал полный пакет. Он может сопоставлять, группировать, сжимать или переиспользовать эти закодированные байты. Получатель восстанавливает исходные байты пакета до того, как продолжится ванильное декодирование пакетов.
Межкадровое сжатие использует проверку последовательности и эпохи. Отсутствующие или недействительные границы запускают ограниченное восстановление и ресинхронизацию потока. Переиспользование чанков проверяется хешем, а недоступные или устаревшие ссылки откатываются к полным данным пакета.
Снижение трафика в простое имеет отдельные лёгкое и глубокое состояния. Трафик, предназначенный только для отображения, может быть сокращён, пока игрок неактивен, а затем текущее состояние блоков, сущностей, HUD и поддерживаемых модов восстанавливается, когда игрок возвращается.
Измеренные результаты
Экономия трафика зависит от сборки, активности игроков, топологии прокси и состава пакетов. Следующие результаты взяты из снимков BO HUD и отчётов источников транспорта, собранных на реальных серверах с большим количеством модов. Это исторические измеренные базовые показатели, а не гарантированные результаты.
Основное соотношение описывает трафик, попавший в управляемый транспортный путь BO. Общие показатели всего сервера также включают прямые пакеты, обходы совместимости, переиспользование кэша и уже сжатые или медиаподобные payload'ы, поэтому эти значения не следует рассматривать как чистую эффективность компрессора.
Базовые показатели Live HUD
| Окружение | Оптимизированный поток клиента | Сырой к фактическому на сервере | Оптимизированный поток сервера | Прямой поток | Игроки | Источник |
|---|---|---|---|---|---|---|
| Create Delight Remake server 1 | 23.21 MB -> 3.93 MB (16.9%) | 305.35 GB -> 51.12 GB (16.7%) | 40.28 GB (13.2%) | 49.46 GB (16.2%) | 1 | Снимок HUD, v2.7.6.10 |
| Create Delight Remake server 2 | 24.51 MB -> 4.15 MB (16.9%) | 516.70 GB -> 83.24 GB (16.1%) | 57.57 GB (11.1%) | 57.01 GB (11.0%) | 4 | Снимок HUD, v2.7.6.10 |
Управляемые базовые показатели транспорта
| Окружение | Управляемый транспорт | Без потоков типа WATUT/YSM | Примечания |
|---|---|---|---|
| Основной сервер с упором на Create | 38976.09 MiB -> 9455.03 MiB (24.3%) | 34580.44 MiB -> 5236.56 MiB (15.1%) | Смешанный трафик, содержащий крупные плохо сжимаемые источники |
| Зеркальный сервер с упором на Create | 1046.16 MiB -> 253.89 MiB (24.3%) | 902.82 MiB -> 113.55 MiB (12.6%) | Меньшая смешанная выборка с заметным трафиком типа WATUT |
| Тестовый сервер с упором на Create | 1174.31 MiB -> 112.24 MiB (9.6%) | Та же выборка | В этой выборке TopN нет исключения WATUT/YSM |
| Create Delight | 7865.72 MiB -> 1622.43 MiB (20.6%) | 7774.54 MiB -> 1539.90 MiB (19.8%) | Снимок отчёта по источникам публичного модпака |
| Вторичный снимок Create Delight | 4567.66 MiB -> 603.15 MiB (13.2%) | Не разделено | Более ранний снимок отчёта |
Семейства пакетов с высоким воздействием
| Источник | Окружение | Наблюдаемый объём | Фактически переданный объём | Отношение фактического к наблюдаемому |
|---|---|---|---|---|
ClientboundLevelChunkWithLightPacket | Основной сервер с упором на Create | 9062.88 MiB | 481.85 MiB | 5.3% |
ClientboundLevelChunkWithLightPacket | Тестовый сервер с упором на Create | 713.65 MiB | 16.84 MiB | 2.4% |
ClientboundTabListPacket | Основной сервер с упором на Create | 6354.97 MiB | 655.45 MiB | 10.3% |
lightmanscurrency:network | Основной сервер с упором на Create | 8206.80 MiB | 593.69 MiB | 7.2% |
Данные block entity create:deployer | Create Delight | 510.41 MiB | 71.61 MiB | 14.0% |
Контрольные образцы с низкой пользой
| Источник | Окружение | Наблюдаемый объём | Фактически переданный объём | Отношение фактического к наблюдаемому | Путь |
|---|---|---|---|---|---|
watut:main | Основной сервер с упором на Create | 4157.94 MiB | 3974.80 MiB | 95.6% | BATCH_DIRECT_FALLBACK |
yes_steve_model:2_6_0 | Основной сервер с упором на Create | 514.63 MiB | 510.50 MiB | 99.2% | BATCH_TRANSPORT_SHARE |
watut:main | Зеркальный сервер с упором на Create | 146.07 MiB | 143.07 MiB | 97.9% | BATCH_TRANSPORT_SHARE |
watut:main | Create Delight | 91.18 MiB | 82.53 MiB | 90.5% | BATCH_TRANSPORT_SHARE |
Эти контрольные образцы показывают, почему итоговые значения для смешанных серверов могут выглядеть хуже, чем семейства пакетов с высоким воздействием: второму слою сжатия почти нечего улучшать в данных, которые уже сжаты, зашифрованы, похожи на медиа или почти случайны.
Текущие измерения 5.10.30.99 сократили управляемый трафик примерно до 3-11% от его исходного размера. Это существенное улучшение по сравнению с историческим базовым уровнем, но оно не гарантируется для каждого сервера; итоговое отношение зависит от состава пакетов и объёма повторно используемого трафика.
Некоторые модпаки могут содержать конфликты модов, вызывающие аномальные сетевые пакеты. BO не может гарантировать значимое сокращение такого аномального трафика, но операторы серверов могут выполнить /bandwidthoptimizer stats, чтобы загрузить отчёт BO Stats и найти его источник.
Воспроизведение измерения
- Установите одну и ту же версию BO на сервер и на каждый клиент.
- Запустите фиксированный сценарий активности и длительности, например всплески входов, повторные перемещения по чанкам, зону с большим количеством машин или обычную игру онлайн.
- Выполните
/bandwidthoptimizer statsи сохраните полученную ссылку BO Stats. - Сравнивайте управляемый транспорт отдельно от прямого трафика и трафика в обход. Не считайте носители
bandwidthoptimizer:transportновым исходным трафиком. - Запишите вместе с результатом модпак, загрузчик, версию Minecraft, количество игроков, длительность и версию BO.
Протестированные окружения
Работа по совместимости и измерениям охватывала Create Delight, Brass Concerto, Aeronautics и Mechanomania. Доступный исторический снимок Mechanomania содержал доказательства обхода и ранжирования пакетов, но не содержал сводки исходного и фактического объёма, поэтому он указан как протестированное окружение, а не использован для утверждения о степени сжатия. Эти тесты не гарантируют работу для каждой комбинации модов или топологии прокси.
Поддерживаемые версии
| Загрузчик | Minecraft | Статус |
|---|---|---|
| Forge | 1.19.2 | Release |
| Forge | 1.20.1 | Release |
| Fabric / Quilt | 1.20.1 | Release; требуется Fabric API |
| Fabric / Quilt | 1.21.1 | Release; требуется Fabric API |
| NeoForge | 1.21.1 | Release |
| NeoForge | 26.1.2 | Release |
| NeoForge | 26.2 | Beta |
Установка
- Скачай сборку, подходящую под версию Minecraft и загрузчик.
- Установи её в папку
modsна сервере. - Установи ту же версию BandwidthOptimizer на каждом клиенте.
- Установи Fabric API для сборок под Fabric или Quilt.
- Перезапусти сервер и клиенты.
Команды
| Команда | Назначение |
|---|---|
/bandwidthoptimizer hud | Включает и выключает локальный HUD статистики на клиенте. |
/bandwidthoptimizer stats | Загружает отчёт сервера и возвращает кликабельную ссылку BO Stats. Только для OP. |
/bandwidthoptimizer debug | Открывает инструменты диагностики по запросу. Только для OP. |
BO Stats
Запусти /bandwidthoptimizer stats как оператор, чтобы загрузить текущий отчёт. Возвращённая страница bostats.torqueflux.com показывает суммарные данные сервера, трафик игроков и по периодам времени, поведение транспорта и кэша, распределение источников пакетов, детали обхода и экономию от idle-gate.
При отключениях или проблемах совместимости приложи ссылку BO Stats вместе с логами клиента, сервера и прокси за момент инцидента.
Конфигурация
Стандартная конфигурация подходит для большинства серверов и модпаков. Опытные администраторы могут настроить сгенерированные файлы конфигурации клиента и общие файлы после сбора сопоставимых отчётов BO Stats до и после каждого изменения.
Ссылки
- CurseForge: https://www.curseforge.com/minecraft/mc-mods/bandwidthoptimizer
- Modrinth: https://modrinth.com/mod/bandwidthoptimizer
- GitHub: https://github.com/duckgun13476/BandwidthOptimizer
- Discord: https://discord.gg/qdMbM9Rq6B
Лицензия
GNU LGPL 2.1 или любая более поздняя версия (LGPL-2.1-or-later).
Частые вопросы
Как установить BandwidthOptimizer?
Установите Fabric под свою версию Minecraft, скачайте BandwidthOptimizer под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть BandwidthOptimizer?
У BandwidthOptimizer есть сборки для Minecraft 1.19.2, 1.20.1, 1.21.1, 26.1.2–26.2.
Нужен ли BandwidthOptimizer на сервере?
Нужен и в игре, и на сервере