Relauncher: умный перезапуск JVM для Minecraft — что это и зачем

Relauncher: умный перезапуск JVM для Minecraft автоматически применяет нужные флаги Java без правки лаунчера. Узнайте, как установить и настроить для Minecraft.

«Relauncher: умный перезапуск JVM для Minecraft — что это и зачем» — одно из свежих пополнений подборки для Minecraft. Разбираем, что это добавляет в игру, а ниже — поддерживаемые версии и загрузка.

Relauncher: умный перезапуск JVM для Minecraft

Каждый, кто собирал собственный модпак или играл на сервере с десятками модов, рано или поздно сталкивался с одной и той же проблемой: игра тормозит, вылетает или ведёт себя непредсказуемо. Чаще всего виноваты не сами моды, а параметры виртуальной машины Java, которые заданы неправильно или не заданы вовсе. Обычно решение выглядит так: открыть настройки лаунчера, найти поле с JVM-аргументами и вручную вписать туда что-то вроде -Xmx4G или -XX:+UseG1GC. Но что если мод сам мог бы перезапустить игру с нужными флагами, причём сделать это незаметно для игрока? Именно эту задачу решает Relauncher — компактная библиотека, которая умеет перезапускать процесс JVM на лету, подставляя любые аргументы до того, как игра полностью загрузится.

Почему перезапуск JVM — это удобно, а не страшно

На первый взгляд идея перезапуска игры во время запуска может показаться странной. Но на практике это выглядит элегантно: вы нажимаете «Играть», видите обычное окно загрузки, а через пару секунд игра стартует уже с правильными настройками. Никаких лишних окон, никаких подозрительных процессов в диспетчере задач — внешне всё выглядит так, будто игра запустилась один раз. Внутри же происходит настоящая магия: Relauncher подхватывает управление на самом раннем этапе, до инициализации основных игровых состояний, и перезапускает виртуальную машину с нужными флагами.

Зачем это нужно? Представьте, что вы собрали модпак, в котором часть модов требует специфических настроек Java — например, экспериментальный сборщик мусора ZGC или системное свойство для работы определённой библиотеки. Прописывать это в каждом лаунчере вручную — муторно и чревато ошибками. С Relauncher все настройки хранятся прямо в конфигурационном файле внутри папки модов, и они применяются автоматически при каждом запуске. Это особенно удобно, если вы распространяете свой модпак среди друзей или публикуете его — получатели просто скачивают сборку и играют, не думая о технических деталях.

Совместимость: почти всё и почти везде

Одна из самых сильных сторон Relauncher — широчайшая поддержка экосистемы Minecraft. Библиотека работает на Java от 8 до 25 включительно и на всех основных операционных системах: Windows, Linux и macOS, причём как на архитектуре x86_64, так и на ARM (aarch64). Для модов это означает, что ваш проект будет корректно работать практически на любом железе, от старенького ноутбука до современного сервера.

Список поддерживаемых загрузчиков впечатляет:

  • Forge (LaunchWrapper) — версии Minecraft с 1.6.4 по 1.12.2, через ITweaker
  • Forge (ModLauncher) — начиная с 1.13.2 и выше, через ITransformationService
  • NeoForge (ModLauncher) — до 1.21.1, аналогично через SPI
  • NeoForge (FancyModLoader) — начиная с 1.21.3, через IModFileCandidateLocator
  • Fabric — с версии 1.14 и выше, через PreLaunchEntrypoint
  • Quilt — использует точку входа Fabric

Такая гибкость делает Relauncher универсальным инструментом: неважно, какой загрузчик вы предпочитаете — библиотека подстроится под ваше окружение. Для мододелов это настоящая находка, ведь не придётся писать отдельные реализации под каждый загрузчик.

Установка: проще некуда

Процесс установки Relauncher настолько прост, что с ним справится даже новичок. Вам понадобится скачать Relauncher: умный перезапуск JVM для Minecraft — универсальный JAR-файл с именем вида relauncher-universal-версия.jar — и просто поместить его в папку mods/ вашей игры. После первого запуска библиотека автоматически создаст конфигурационный файл по пути config/relauncher/config.cfg.

Если вы пользуетесь современным лаунчером с поддержкой установки модов из меню, процесс становится ещё проще: не нужно вручную копировать JAR-файлы и следить за их расположением. Достаточно выбрать Relauncher в каталоге модов, установить его и один раз запустить игру, чтобы сгенерировался конфиг. После этого можно приступать к настройке.

Настройка конфигурационного файла

Файл config.cfg выглядит предельно понятно даже для тех, кто никогда не работал с конфигами Minecraft. Каждая строка — это один аргумент JVM. Комментарии начинаются с символа #, пустые строки игнорируются. Ключевой параметр enabled = true управляет только аргументами из этого файла: если другой мод предоставит свою реализацию интерфейса CommandLineProvider, перезапуск произойдёт независимо от этого флага.

Вот пример типичного конфига:

# Relauncher Configuration
enabled = true
-XX:+UseG1GC
-XX:+AlwaysPreTouch
-Dsome.java.property=true

Такая гибкость позволяет, например, включить экспериментальный сборщик мусора ZGC или задать системное свойство, не трогая настройки лаунчера. Вы просто редактируете текстовый файл, сохраняете его и перезапускаете игру — всё остальное Relauncher сделает сам.

Как это работает изнутри

Relauncher использует три стратегии перезапуска, выбирая наиболее подходящую в зависимости от платформы. На Linux и macOS применяется нативный POSIX exec через Rust-библиотеку: процесс заменяется на месте с тем же PID, что даёт нулевые накладные расходы. На Windows подключается специальная DLL, которая в момент завершения JVM порождает дочерний процесс, предварительно дублируя stdin/stdout/stderr. Если нативные методы недоступны, срабатывает чисто Java-запасной вариант через ProcessBuilder и waitFor — он универсален, но оригинальный процесс остаётся висеть на всё время сессии.

Важно знать один нюанс: издание Relauncher, распространяемое через CurseForge, не включает нативные библиотеки из-за политики платформы. Поэтому на Windows без ручного добавления natives возможна неточная реконструкция командной строки. Впрочем, для большинства пользователей это не станет проблемой — достаточно скачать универсальную версию с официального источника.

Инструменты для разработчиков

Relauncher дружелюбен и к создателям модов. Основной API опубликован в Maven Central, достаточно добавить зависимость compileOnly 'com.juanmuscaria:relauncher-core:'. Вызвать перезапуск программно можно одной строкой:

Relauncher.relaunch(extraArgs);

Если перезапуск не произошёл, метод вернёт объект RelaunchResult с понятным описанием причины. Для ещё более глубокой интеграции можно реализовать интерфейс CommandLineProvider и зарегистрировать его через ServiceLoader — Relauncher сам просканирует папку модов и подхватит ваши аргументы ещё до загрузки мода. Проверить, был ли выполнен перезапуск, можно с помощью Relauncher.isRelaunched() и Relauncher.getDepth(). А флаг -Drelauncher.debug=true выведет подробный лог всего процесса — незаменимая вещь при отладке.

Совместимость с лаунчерами

Relauncher отлично работает с большинством популярных лаунчеров: Vanilla, PrismLauncher, CurseForge, Modrinth, ATLauncher — все они поддерживаются без проблем. Единственное исключение — MultiMC, который использует протокол stdin, не поддающийся воспроизведению после перезапуска. В этом случае Relauncher честно предупреждает в логе и пропускает перезапуск. Если вы столкнулись с такой ситуацией, проще сменить лаунчер или вручную добавить нужные аргументы JVM.

Итоги: стоит ли пробовать

Relauncher — это маленькая, но продуманная до мелочей библиотека, которая снимает с плеч игроков и мододелов головную боль по управлению параметрами JVM. Она работает незаметно, поддерживает практически все мыслимые версии Minecraft и загрузчики, а для разработчиков предоставляет чистый API. Будь то тюнинг сборщика мусора, автоматическая установка javaagent или просто желание держать конфигурацию внутри модпака — Relauncher справляется элегантно и надёжно.

Если вы серьёзно занимаетесь моддингом или просто хотите выжать максимум из своей сборки, этот инструмент определённо заслуживает места в вашей папке mods. Процесс установки займёт не больше минуты, а результат — стабильная и быстрая игра без ручной правки лаунчеров — того стоит. Попробуйте, и вы удивитесь, как раньше обходились без него.

Скачать relauncher universal для Minecraft 1.16.3

Оригинальное название: relauncher universal

Версии Minecraft: 1.16.3

Загрузчик: fabric

ФайлВерсияЗагрузчикРазмер
relauncher-universal-1.0.0-curseforge.jar1.16.3fabric42 КБСкачать
relauncher-universal-1.1.0-curseforge.jar1.16.3fabric97 КБСкачать
relauncher-universal-1.1.1-curseforge.jar1.16.3fabric94 КБСкачать

Следите за обновлениями: на ITSFOX регулярно выходят новинки и свежие версии для Minecraft. Смотрите свежие поступления в подборке ниже.