Запуск серверов 1.7.10 на Mac Os M1/M2/M3/M4/M5 через Rosetta
Автор: NickTsarfinYT · Обновлён:
Всем привет! Вчера столкнулся с проблемой невозможности запуска сервер GalaxyCraft 1.7.10 на своем MacBook Pro M1 pro 14' (MacOS Sequoia 15.3.1). Сегодня получилось решить проблему и зайти на сервер, делаю пошаговую инструкцию.
Симптомы проблемы
Обычно это выглядит так:
лаунчер открывается и сразу закрывается; игра начинает запускаться и тут же вылетает; в логах есть ошибки типа:
- no lwjgl in java.library.path
- JavaFX API isn't available
- ClassNotFoundException: javafx.scene.image.Image
Что оказалось причиной - На Mac с M1/M2/M3 лаунчер и старый Minecraft 1.7.10 часто плохо работают с:
-ARM-версией Java;
-обычной Java 8 без JavaFX;
-встроенной Java лаунчера.
Нужна именно:
-Java 8
-x64 / x86_64
-с JavaFX
-запуск через Rosetta
-Пошаговое решение
Шаг 1. Удалить старую Java
Сначала нужно удалить старую установленную Java, чтобы она не мешала.
Откройте Терминал и введите:
sudo rm -rf /Library/Java/JavaVirtualMachines/temurin-8.jdk
Если у вас была не Temurin, а другая Java, сначала посмотрите список установленных версий:
/usr/libexec/java_home -V
Потом удалите нужную папку по её имени, например:
sudo rm -rf /Library/Java/JavaVirtualMachines/zulu-8.jdk
После удаления проверьте:
/usr/libexec/java_home -V
Если всё удалилось, система напишет, что Java Runtime не найдена. Это нормально.
Шаг 2. Удалить встроенную Java лаунчера
Если используется McSkill, он может хранить свою Java внутри папки лаунчера. Её тоже нужно удалить.
Откройте Finder и перейдите в папку:
/Users/ВАШЕ_ИМЯ/McSkill/updates/
Найдите там папку примерно такого вида:
jre-8u372-temurin-macosx-arm
Удалите её полностью.
Это важно, потому что именно встроенная ARM-Java часто и вызывает вылеты.
!!После этого не заходим в игру, иначе она скачается опять и придется опять ее удалять!!
Шаг 3. Установить Rosetta
На Mac с M1/M2/M3 нужно установить Rosetta, чтобы запускать Intel x64 Java.
Откройте Терминал и выполните:
softwareupdate --install-rosetta --agree-to-license
Если Rosetta уже установлена, macOS сообщит об этом.
Ничего скачивать вручную с сайтов не нужно.
Шаг 4. Скачать правильную Java
Я использовал Azul Zulu, для Apple Silicon вот ссылка :
https://www.azul.com/core-post-download/?endpoint=zulu&uuid=7bf20d7b-7e93-49e7-9cde-fdc3dfa9b31d
Нужна не просто Java 8, а именно:
-Java 8
-macOS
-x86 64-bit
-JDK FX
То есть Java 8 x64 с JavaFX.
Подходит, например:
Azul Zulu JDK FX 8 x64
Важно:
-не ARM
-не aarch64
-не обычный JDK без FX
-не Java 11 / 17 / 21
При установке может появиться предупреждение, что лучше ставить версию для Apple Silicon. Его можно игнорировать, потому что здесь специально нужна x64-версия под Rosetta.
Шаг 5. Проверить, что Java установилась правильно
После установки откройте Терминал и выполните:
java -version
Должно быть что-то вроде:
openjdk version "1.8.0_482"
OpenJDK Runtime Environment (Zulu 8.92.0.21-CA-macosx)
OpenJDK 64-Bit Server VM (Zulu 8.92.0.21-CA-macosx)
Также можно проверить через:
/usr/libexec/java_home -V
Если видите Java 8 x64/macOS, значит всё установлено правильно.
Шаг 6. Запустить лаунчер через Rosetta
Если у вас файл лаунчера в формате .jar, его нужно запускать через Терминал командой:
arch -x86_64 java -jar /Users/ВАШЕ_ИМЯ/McSkill/McSkill.jar
Для моего случая команда была такой:
arch -x86_64 java -jar /Users/nicktsarfin/McSkill/McSkill.jar
Именно эта команда заставляет macOS запускать Java и лаунчер в режиме Intel x64 через Rosetta.
Если появилась ошибка JavaFX
Если при запуске вы видите ошибки:
JavaFX API isn't available
java.lang.ClassNotFoundException: javafx.scene.image.Image
это значит, что у вас установлена неправильная Java без JavaFX.
Тогда нужно удалить её и поставить именно:
-JDK FX
или
-Full JDK с JavaFX
Обычная Java 8 без FX для такого лаунчера не подходит.
Итоговое рабочее решение
В моём случае помогло следующее:
Удалил старую Java.
Удалил встроенную ARM-Java из папки McSkill/updates.
Установил Rosetta.
Поставил Zulu JDK FX 8 x64.
Проверил, что java -version показывает Java 8.
Запустил лаунчер командой:
arch -x86_64 java -jar /Users/ВАШЕ_ИМЯ/McSkill/McSkill.jar
После этого лаунчер и игра запустились нормально.
Важные замечания
Не ставьте Java 17, 21 и другие новые версии для Minecraft 1.7.10.
Не используйте ARM Java для этой проблемы.
Не скачивайте Rosetta с левых сайтов — она ставится только через команду softwareupdate.
Если лаунчер снова скачал себе ARM-Java, удалите её из папки updates ещё раз.
Короткая версия команд
Удаление старой Java:
/usr/libexec/java_home -V
sudo rm -rf /Library/Java/JavaVirtualMachines/temurin-8.jdk
Установка Rosetta:
softwareupdate --install-rosetta --agree-to-license
Проверка Java:
java -version
/usr/libexec/java_home -V
Запуск лаунчера:
arch -x86_64 java -jar /Users/ВАШЕ_ИМЯ/McSkill/McSkill.jar