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

LinearReader

Сделай так, чтобы миры Minecraft занимали меньше места.

FabricNeoForgeForge
Загрузчики
FabricNeoForgeForge
Скачиваний на Modrinth
3,8 тыс.
Подписчиков на Modrinth
18
версий
86
Обновлён
17 сентября 202617 сент.
Опубликован
в 2026
Total Write Time · свайп

Коротко о моде

Работает на Fabric, NeoForge и Forge
Для Minecraft 1.20–26.3
Ставится только на сервер; игрокам ставить не нужно
Последняя версия — 1.3.0 от 17 сентября 2026
Лицензия MIT — бесплатно
Где нужен
В игрене нуженНа сервереобязателен

Ставится только на сервер; игрокам ставить не нужно

Версии игры1.20–26.3
Описание переведено автоматическиПоказать оригинал (EN)

LinearReader

Minecraft Range Loaders Server-side Compression Wiki LinearReader — это серверный мод для Minecraft, который уменьшает размер вашего мира без негативного влияния на геймплей. В основном это достигается за счёт использования Linear Region File Format от Xymb вместо формата файлов Anvil из Minecraft, а также за счёт применения Zstd для сжатия вместо алгоритма Zlib, используемого в ванильном Minecraft.

Как уменьшается размер мира?

Linear Region File Format от Xymb уже является большим шагом вперёд по сравнению с форматом региональных файлов ванильного Minecraft и значительно уменьшает размеры миров. Ещё одно необходимое улучшение — это алгоритм сжатия и уровень сжатия. Высокие уровни сжатия требуют больше ресурсов и времени, что не идеально для активного сервера, а низкие уровни, очевидно, экономят меньше места. Поэтому возник вопрос: как LinearReader может обеспечить скорость низкоуровневого сжатия и экономию места высокоуровневого? LinearReader решает это, разделяя работу на два отдельных этапа. Живые записи быстро сжимаются с низкими уровнями Zstd, оставляя процессору достаточно ресурсов для работы Minecraft. Затем, когда сервер простаивает, LinearReader безопасно пересжимает региональные файлы с гораздо более глубоким сжатием.

Бенчмарки сжатия

Чтобы показать выигрыш LinearReader в объёме хранилища и объяснить, почему высокий уровень сжатия не используется во время живых записей, я провёл бенчмарки для формата Anvil с Zlib на стандартном уровне сжатия Java (который использует ванильный Minecraft), Zstd уровня 4 (который LinearReader обычно использует для живых записей) и Zstd уровня 22 (который LinearReader использует для пересжатия). Подробнее о бенчмарках см. в директории benchmarks/.

ДатасетФорматИсходныйСжатыйКоэффициент сжатияСкорость сжатияСкорость распаковки
OverworldAnvil/Zlib 69.51 GB8.38 GB5.44x75.7 MB/s1271.3 MB/s
OverworldLinearReader (Zstd 4)9.51 GB6.21 GB7.39x585.5 MB/s1412.8 MB/s
OverworldLinearReader (Zstd 22)9.51 GB4.28 GB10.71x4.4 MB/s1589.2 MB/s
End (в основном пустота)Anvil/Zlib 62.33 GB2.16 GB3.66x188.4 MB/s1576.4 MB/s
End (в основном пустота)LinearReader (Zstd 4)2.33 GB244 MB33.20x1811.1 MB/s4062.7 MB/s
End (в основном пустота)LinearReader (Zstd 22)2.33 Gb141 MB57.50x10.1 MB/s6166.9 MB/s
Tectonic + TerralithAnvil/Zlib 62.89 GB2.56 GB5.97x84.1 MB/s1338.1 MB/s
Tectonic + TerralithLinearReader (Zstd 4)2.89 GB1.80 GB8.49x735.8 MB/s1742.8 MB/s
Tectonic + TerralithLinearReader (Zstd 22)2.89 GB1.24 GB12.37x4.4 MB/s1787.3 MB/s

Как показано в таблице выше, LinearReader + Zstd достигает лучшего сжатия, сохраняя при этом высокую скорость сжатия и распаковки во время обычного геймплея (Zstd 22 используется для пересжатия, которое не активно во время обычного геймплея).

Другие возможности

LinearReader не просто заменяет формат файлов и алгоритм сжатия Minecraft, он также включает множество других функций, таких как:

  • Система резервного копирования: LinearReader может автоматически создавать резервные копии региональных файлов, которые можно использовать при необходимости.
  • Система кэширования: настраиваемое количество недавно использованных региональных файлов остаётся в кэше в памяти, что снижает количество чтений с диска и распаковок.
  • Система очистки чанков: LinearReader может искать пустые, бесполезные чанки, которые можно безопасно удалить. Действуют строгие правила, гарантирующие, что удаляются только действительно бесполезные чанки.
  • Адаптивная политика во время работы: LinearReader может настраивать определённые параметры, чтобы игра работала плавно.

Создан с учётом серверов

Будучи серверным модом, LinearReader старается быть максимально полезным и информативным для администраторов серверов. Есть команды, такие как bench и health, для просмотра бенчмарков и внутренних метрик, а также файл конфигурации, позволяющий настроить параметры под конкретный сервер. (LinearReader также работает в одиночной игре, и игроки в одиночной игре имеют доступ ко всем тем же функциям, что и администраторы серверов.)

Модовые серверы

LinearReader стремится быть совместимым с как можно большим количеством модов. Большинство модов будут работать как есть, но любые моды, которые изменяют часть системы хранения Minecraft или требуют чтения файлов с диска, скорее всего, работать не будут. Моды, которые читают данные чанков из оперативной памяти, скорее всего, будут работать. Список совместимых/несовместимых модов можно найти в вики.

Если вы найдёте мод, несовместимый с LinearReader (и он ещё не указан как несовместимый), пожалуйста, создайте issue в моём репозитории на GitHub.

Установка и удаление

Для установки просто скачайте LinearReader с CurseForge или Modrinth, поместите .jar-файл в папку mods — и всё готово. Дальше LinearReader всё сделает сам. Для удаления выполните команду /linearreader export-mca start, чтобы конвертировать .linear-файлы вашего мира обратно в .mca, замените ваши .linear-файлы регионов свежими .mca-файлами и удалите LinearReader.

Безопасность данных

Перед установкой LinearReader рекомендуется создать резервную копию мира, так как LinearReader сильно меняет внутренний движок хранения Minecraft, и любые баги, связанные с хранением, могут повредить ваш мир. Поэтому, пожалуйста, делайте резервные копии вашего мира.

Где узнать больше

Этот README не содержит полного и подробного описания всех возможностей LinearReader. Я настоятельно рекомендую прочитать вики, чтобы полностью понять всё, что может предложить LinearReader. Кроме того, вы можете задать вопрос в репозитории на GitHub, оставив issue. Также можно воспользоваться разделом комментариев на CurseForge.

Статус разработки

LinearReader 1.3.0, вероятно, станет последним крупным обновлением. Я больше не планирую добавлять много нового в LinearReader. Однако в ближайшем будущем я планирую поддерживать LinearReader в актуальном состоянии для последних релизов Minecraft. Я по-прежнему буду стараться отвечать на issues на GitHub, и при необходимости могут выходить хотфиксы или небольшие обновления, но моё намерение — прекратить серьёзную разработку LinearReader (с моей стороны) после выпуска версии 1.3.0.

Примечание об ИИ

Для написания кода этого мода использовался ИИ. Всё тестируется вручную перед новым релизом. Если вы столкнётесь с какими-либо проблемами, пожалуйста, сообщите о них на GitHub, и я постараюсь решить их как можно быстрее. Для получения дополнительной информации об использовании ИИ в этом моде обратитесь к AI_USAGE.md.

Частые вопросы

Как установить LinearReader?

Установите Fabric под свою версию Minecraft, скачайте LinearReader под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть LinearReader?

У LinearReader есть сборки для Minecraft 1.20–26.3.

Нужен ли LinearReader на сервере?

Ставится только на сервер; игрокам ставить не нужно

Лицензия и источник
MIT Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее