Skip to content
Перейти к содержимому
Вернуться в блог
Как использовать PackSquash для оптимизации пакетов Minecraf

Как использовать PackSquash для оптимизации пакетов Minecraf

Alexandru Maftei
Alexandru Maftei
@ice
Обновлено
15 просмотров
TL;DR:PackSquash - оптимизатор ресурсов и данных Minecraft, уменьшающий файлы на 50% или больше благодаря умной сжатии. Узнайте, как установить, настроить и использовать его для ускорения распределения и загрузки пакетов.
GitHub - проект сообщества Minecraft

PackSquash (ComunidadAylas/PackSquash)

📦 Оптимизатор ресурсов и данных для Minecraft: Java Edition, направленный на достижение лучшей возможной сжатия, производительности и защиты, улучшающий распределение пакетов, хранение и время загрузки в игре.

Добавить в избранное на GitHub ↗
⭐ 809 звезд💻 Rust📜 AGPL-3.0

Если вы когда-нибудь загружали ресурсный или данных пакет размером более 100 МБ, а затем ждали, пока он извлечется в игре, вы знаете, какую проблему решает PackSquash. Этот оптимизатор, построенный на Rust, драматически уменьшает размеры пакетов - иногда на 50% или больше - без ущерба качеству. Меньшие скачивания, быстрая загрузка, лучшая производительность. Всё это работает.

Что делает PackSquash

PackSquash проходит через директорию вашего ресурсного или данных пакета и интеллектуально сжимает каждый тип файла, который он распознает. Текстуры PNG квантизируются и оптимизируются. Файлы аудио пересамплированы и перекодированы. Файлы JSON минифицированы. Код шейдеров очищен от ненужных пробелов. Даже файлы NBT datapack получают специальный проход сжатия.

В README проекта приведен реальный пример: уменьшение размера ресурсного пакета Witchcraft & Wizardry с 118 MiB до 57 MiB - уменьшение размера на 51,69%. Это не редкость.

То, что отличает PackSquash от простого использования программы ZIP, заключается в том, что он не слепо сжимает всё. Он понимает форматы файлов Minecraft. Результат знает, какие метаданные можно безопасно удалить из PNG, какие аудиоканалы вам не нужны, какое пробел в JSON не важно для игры. Инструмент делает мыслительный процесс вместо вас.


Зачем важно уменьшать размер пакета

Меньшие пакеты кажутся роскошью, пока вы не действительно cần установить один на сервер.

Представьте, что вы распространяете пользовательский ресурсный пакет среди 50 игроков. Каждые 10 MiB ненужного размера файла умножаются на скачивания, расточают пропускную способность и создают трение. Некоторые игроки бросат загрузку по пути. Для datapack'ов на серверах большие размеры файлов напрямую замедляют время загрузки мира и обработку чанков. Ваш сервер должен читать больше данных с диска и RAM.

Затем есть опыт игры. Современные текстуры и пакеты шейдеров быстро увеличиваются в размере. Ваша игра загружается дольше. Каждая проверка актива немного медленнее, если пакет не оптимизирован. Вы, возможно, не заметите 50 миллисекунд, но заметите 500.

И если вы размещаете пакеты на своей инфраструктуре (не на крупном CDN), меньшие файлы означают меньшие затраты на пропускную способность. На самом деле иметь деньги в бюджете для других проектов? Хорошо.


Запуск PackSquash

Установка проста. Перейдите на страницу релизов GitHub и скачайте бинарник для вашей ОС (поддерживаются Linux, macOS, Windows). Распакуйте его в удобное место.

Базовое использование:

bash
./packsquash путь/к/вашему/пакету

Всё. PackSquash отсканирует директорию, применит стандартные настройки сжатия и выдаст оптимизированный файл ZIP в том же месте. Стандартные настройки разумны - они балансируют качество и размер файла без агрессивности.

Если вы хотите настроить, как PackSquash обрабатывает ваш пакет, создайте файл опций. Создайте файл `packsquash.toml` в вашей директории пакета:

toml
[pack]
zip_compression_method = "Stored"
zip_compression_level = 9
png_color_quantization_target = 256

Документация проекта по опциям проведет вас через каждый параметр. Начните со стандартных настроек, затем настройте, если у вас есть конкретные требования к качеству или необычные типы файлов.


Сжатиные техники, которые стоит понять

Оптимизация PNG - это то, где PackSquash сияет. Он использует квантизацию цвета (снижая ваши 24-битные цвета до умного пейзажа), снижение глубины цвета и удаление метаданных. Новая в v0.4.1: Обфускация PNG перемешивает текстурные данные для защиты от случайного просмотра вне игры. Если вы когда-нибудь беспокоились о том, что люди извлекают ваши пользовательские текстуры, это решение.

GitHub project card for ComunidadAylas/PackSquash
GitHub project card for ComunidadAylas/PackSquash

Файлы аудио поддерживают смешивание каналов, снижение частоты дискретизации и перекодировку в Vorbis. Стандартные настройки направлены на качество, которое звучит хорошо в игре без излишней аудиопродукции. Вы также можете автоматически обнаруживать и удалять молчание в начале и конце звуковых файлов. Полезно, если ваши звуковые файлы имеют длинную паузу.

Минификация JSON и шейдеров удаляет пробелы и проверяет синтаксис, делая это одновременно. Бонусом является то, что если ваши файлы JSON содержат ошибки, PackSquash их обнаружит до выпуска вашего пакета. Находка опечаток в 50 файлах JSON? Этот инструмент делает это быстрее, чем вы сможете открыть их.

Последний релиз добавил лучшую совместимость с современными пакетами. Пакеты, сгенерированные со строгим соблюдением ZIP, теперь работают на Java 22+. Были исправлены ошибки оптимизации шейдеров без необходимости обходных путей для пользователей.


Советы по настройке и что может пойти не так

Вот главный п pitfall: PackSquash агрессивен по умолчанию. Если вы параноидальны относительно качества, протестируйте оптимизированный пакет в игре перед распространением его среди других. Загрузите мир, проверьте текстуры, поиграйте аудио, побегайте.

Квантизация PNG незаметна на реалистичных текстурных пакетах, но заметна на плоских художественных пакетах. Если вам нужен нулевой потеря качества, вы можете отключить квантизацию и полагаться только на сжатие без потерь. Файл не уменьшится так сильно, но будет пиксельно идеальным.

Не забудьте: PackSquash уважает структуру вашего пакета. Если у вас есть пользовательские файлы, не являющиеся стандартными форматами Minecraft (возможно, документация или метаданные), PackSquash их не тронет. Они пройдут неизменными в выходной ZIP.

Ещё одно - это работает только для v0.4.1 и позже - новая опция комментариев ZIP позволяет встраивать метаданные или атрибуции直接 в сам файл ZIP. Вместо включения отдельного текстового файла вы можете хранить атрибуцию вашего пакета в комментарии архива. Это небольшой, но полезный момент, который держит вашу директорию пакета чистой.


Другие инструменты в пространстве оптимизации пакетов

PackSquash не единственный вариант. OptiPNG старше и фокусируется исключительно на оптимизации PNG, что полезно, если это ваша единственная проблема. PNGQuant обрабатывает квантизацию цвета конкретно. Ни один из них не так полноценен, как PackSquash.

Некоторые создатели пакетов используют ручную сжатие с 7-Zip или RAR, что помогает, но не оптимизирует файлы сами по себе - только архив. Вы получите умеренные уменьшения размера без умных функций PackSquash.

Если вы управляете сервером, инструменты, такие как проверки статуса сервера, помогают вам отслеживать, загружается ли ваш пакет правильно. Меньшие пакеты, сочетающиеся с здоровым сервером, означают быстрое подключение игроков. Аналогично, если вы работаете с территорией или навигацией, калькулятор портала Нитера помогает планировать распределение пакетов через измерения.

Но для чистого сжатия PackSquash выходит на первый план, поскольку глубоко понимает форматы Minecraft.

Проект открытый (AGPL-3.0) и активно поддерживается. Коммуникационная Discord сообщества отзывчива, а GitHub wiki подробно описывает настройку. Если вы столкнетесь с проблемой, помощь обычно доступна после вопроса.

Об авторе
Alexandru Maftei
Alexandru MafteiВедущий автор

Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.

Поделитесь с друзьями!

Комментарии

Пока нет комментариев. Станьте первым, кто поделится своим мнением!

Похожие статьи

Spark: Производительный профайлер, который действительно нуж

Spark: Производительный профайлер, который действительно нуж

Spark - это легковесный профайлер производительности для серверов, клиентов и проксисов Minecraft, диагностирующий лаг, использование CPU и проблемы с памятью за несколько секунд. Установите плагин, запустите быстрый профайлинг и получите подробный анализ причин замедления игры.

22.04.2026
Mc-datapack-map: Визуализируйте свои кастомные миры Minecraf

Mc-datapack-map: Визуализируйте свои кастомные миры Minecraf

Mc-datapack-map - бесплатный онлайн-инструмент для визуализации datapack'ов Minecraft перед их использованием. Поддерживает кастомные правила генерации террена и показывает распределение биомов на глаз - полезно для админов серверов, создателей datapack'ов и всех, кто интересуется, как разные пакеты формируют террени.

25.04.2026
MineDown: Маркдаун-форматирование чата для серверов Minecraf

MineDown: Маркдаун-форматирование чата для серверов Minecraf

MineDown - библиотека на основе маркдауна, упрощающая создание форматированных сообщений в чате Minecraft. Используйте читаемый синтаксис для цветов, форматирования, градиентов и интерактивных элементов вместо ручного построения объектов или запоминания кодов цветов. Разработано на Kyori Adventure для современных серверов и плагинов Minecraft.

23.04.2026

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy