Мод для Майнкрафт, форк ZstdNet, который сжимает сетевой трафик между игроками и сервером с помощью ZSTD. Он пригодится для оптимизации серверов с Create, большими сборками, туннелями и пробросом портов: при часто повторяющихся данных уменьшается расход внешнего трафика, а адрес и порт сервера для игроков могут остаться прежними.
Возможности
- Автоматически занимает публичный порт и переносит сам сервер на локальный порт при
auto_takeover=true. - Работает на клиенте, выделенном сервере и у хоста мира, открытого для локальной сети.
- Показывает в игровом HUD активность сжатия, текущую и суммарную передачу данных, коэффициент сжатия и число подключений.
- Пропускает обычный запрос статуса сервера: в списке серверов остаются описание и число игроков.
- Передаёт UDP через тот же порт, что важно для Sable и Create: Aeronautics.
- Автоматически находит UDP-порт Simple Voice Chat и Plasmo Voice. В режиме
tunnelголосовой чат использует один входной порт вместе с сервером. - Кэш ссылок на чанки (CRC) при повторной отправке чанка передаёт короткую ссылку, сохранённый после переподключения идентификатор либо разницу с прежним чанком. Функция включена через
chunk_cache=auto; клиенты без поддержки получают обычные пакеты. - Дополнительные возможности сжатия: дальние совпадения LDM, автоматическое обучение словаря через
dictionary_auto=trueи преобразование потока пакетов сущностей для сцен с большим числом мобов и механизмов. - В модовых сборках может проверять лицензионные аккаунты при входе и сохранять настоящие UUID и скины при офлайн-режиме сервера. Параметр
premium_verificationпо умолчанию использует значениеonline-mode.
Как пользоваться
Для сжатия трафика мод нужен у игрока и на сервере. Игроки без него также могут подключаться к серверу, но их трафик не сжимается.
/zstdhud— показать HUD или переключить его режимамиon,offиtoggle./zstdport— посмотреть или изменить порты при открытии одиночного мира для локальной сети:show,game,zstd,voice,zstdvoice.
Настройки
Файл клиента: config/zstdnet-client.toml. Настройки сервера находятся в config/zstdnet-server.properties и поддерживают перезагрузку без перезапуска.
Опции LDM, автоматического словаря и преобразования пакетов сущностей выключены по умолчанию. Кэш чанков включён по умолчанию; при ошибке соединение не получает неверные пакеты — потребуется переподключение.
Требования и совместимость
Мод доступен для Fabric, Forge и NeoForge. Отдельная сборка плагина работает на Bukkit, Spigot, Paper, Purpur, Arclight, Mohist и CatServer; её помещают в папку plugins/.
Для встроенного входа ZstdNet на выделенном сервере в server.properties требуется online-mode=false. Встроенная проверка лицензионных аккаунтов доступна в модовых сборках; для плагина при необходимости используется TrueUUID.
