В сообщении об ошибке ответ уже есть: если там стоит class file version 65.0, файлу нужна Java 21. Расчет всегда один и тот же — число минус 44 дает версию Java. Но важнее самого числа вопрос, чей файл имеется в виду: в большинстве случаев не сервер слишком старый, а один отдельный плагин слишком новый.

Как читать сообщение

Типичная строка выглядит так:

java.lang.UnsupportedClassVersionError: com/example/PluginMain has been compiled by a more
recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime
only recognizes class file versions up to 61.0

В ней есть три подсказки:

  1. com/example/PluginMain — кто вызывает ошибку. Если здесь имя плагина или мода, значит не подходит именно этот файл, а сам сервер в порядке.
  2. class file version 65.0 — что требуется: 65 − 44 = Java 21.
  3. only recognizes … up to 61.0 — что сейчас запущено: 61 − 44 = Java 17.

Перевод: плагин, собранный под Java 21, лежит на сервере, который работает с Java 17.

Таблица пересчета

class file version Версия Java
52.0 Java 8
55.0 Java 11
60.0 Java 16
61.0 Java 17
65.0 Java 21
69.0 Java 25

Числа взяты из официальной спецификации JVM. Разница в 44 там постоянна со времен Java 1.0 — поэтому любую будущую версию ты можешь посчитать сам, не расширяя таблицу.

Запомни: среда выполнения Java всегда понимает все более старые версии class-файлов, но никогда более новую. Поэтому плагин для Java 8 без проблем работает на Java 21, а наоборот — никогда.

Какая версия Java нужна какой версии Minecraft?

Версия Minecraft Нужная Java
до 1.16.5 Java 8
1.17 – 1.17.1 Java 16 (на практике Java 17)
1.18 – 1.20.4 Java 17
с 1.20.5 Java 21
с 26.0 Java 25

У нас тебе не нужно это настраивать. Мы определяем среду выполнения по версии Minecraft твоего сервера и ставим ее автоматически. Заказываешь 1.21 — получаешь Java 21, без поиска нужного переключателя.

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

Самый частый случай: плагин, а не сервер

Если сервер только что работал, а ошибка появилась после добавления файла, ситуация понятна. Что делать:

  1. Запиши имя класса из сообщения. Оно почти всегда указывает на проект.
  2. Найди у разработчика подходящий вариант сборки. Многие плагины предлагают отдельные загрузки для Java 17 и Java 21, часто с суффиксом -java17 или в отдельной ветке релизов. Самый новый файл не всегда правильный.
  3. Если подходящего варианта нет, тебе нужна более новая версия Minecraft — потому что только она принесет более новую среду выполнения. Как сменить версию без потери мира, описано в Сменить версию Minecraft-сервера.
  4. Временно удали плагин, если сервер нужно срочно запустить. Как аккуратно добавлять и удалять плагины, показано в Установить Minecraft-моды и плагины.

Другой случай: Java слишком новая

Этот случай редко объясняют, но он регулярно встречается. Старые Forge-модпаки — классический пример 1.12.2 — собраны под Java 8. На Java 21 они падают, правда обычно не с UnsupportedClassVersionError, а с сообщениями об отсутствующих внутренних классах или отклоненных параметрах запуска.

Признак: раньше пак работал или он работает у других, а твой сервер указывает очень старую версию Minecraft. Решение тогда — не более новая Java, а версия Minecraft в панели, которая относится к этому паку, чтобы мы поставили подходящую старую среду выполнения.

Честное замечание: наша автоматическая коррекция в этом случае не срабатывает. Она чинит только направление «слишком старая», то есть когда серверу нужна более новая Java, чем запущенная. Слишком новая Java намеренно не считается отклонением — иначе клиент, который специально выбрал более старую среду выполнения, автоматически снова ее потерял бы.

Что мы берем на себя автоматически

  • Подходящая среда выполнения с момента заказа. Версия Java следует за версией Minecraft без отдельной настройки.
  • Коррекция при смене версии. Если ты переходишь на версию с более высоким требованием к Java, среда выполнения обновляется вместе с ней.
  • Boot-Log важнее расчета. Если твой сервер при запуске сам называет требуемую версию Java, которая выше текущей, мы исправляем это по фактическому измерению, а не по выводу из заказанной версии. Заявление сервера о самом себе надежнее любой таблицы.
  • Собственные images остаются нетронутыми. Если сервер работает на выбранной тобой среде выполнения, мы не вмешиваемся.
  • Fail-closed вместо почти правильно. Если для комбинации нет подходящей Java, мы прерываем запуск и сообщаем об этом, вместо того чтобы запускать неправильную среду выполнения.

Устранение проблем

Симптом Проверка Решение
Указано class file version 65.0, имя класса относится к плагину Сервер работал до добавления? Скачай сборку плагина для своей версии MC
Ошибка сразу при запуске сервера, плагин не указан Какая версия Minecraft запущена? Синхронизируй версию и среду выполнения
Старый модпак 1.12.2 не стартует В логе указаны отсутствующие внутренние классы? Java слишком новая — выбери подходящую версию MC
Ошибка после смены версии Она появилась сразу после перехода? Дождись перезапуска; если остается, обратись в поддержку с полной строкой
Плагин загружается, но функции отсутствуют В логе предупреждение вместо ошибки? Другая причина — не версия Java

FAQ

Могу ли я сам переключить версию Java?

У нас это не нужно: она определяется версией Minecraft твоего сервера. Если тебе нужна другая среда выполнения, правильный путь — сменить версию Minecraft, тогда вся среда будет согласована.

Более новая Java всегда лучше?

Нет. Для Minecraft требуемая версия одновременно является практическим верхним пределом: ядро сервера, моды и плагины под нее настроены. Переход на более высокую среду выполнения «на всякий случай» не дает преимущества и ломает старые моды.

Почему мой плагин работает локально, но не на сервере?

Потому что твоя локальная установка Java может быть новее, чем Java на сервере. Важна среда выполнения на сервере, а не на твоем компьютере.

Как узнать, с какой Java сейчас работает мой сервер?

Сообщение говорит это само: only recognizes class file versions up to 61.0 означает Java 17. Если ошибки нет, запуск сервера указывает версию Java в первых строках консоли.

Нужно ли пересоздавать мир после смены Java?

Нет. Среда выполнения влияет только на запуск, а не на формат мира. А вот смена версии Minecraft может изменить формат мира — перед этим сделай резервную копию.

Следующие шаги

Если сервер снова работает, но тормозит, поможет Minecraft-сервер лагает: исправить Watchdog-Timeout. Если оперативная память не подходит под размер модпака, калькулятор RAM для Minecraft рассчитает потребность.

Ищешь сервер, где версия Java автоматически подходит к версии игры? На странице Арендовать Minecraft-сервер ты найдешь тарифы.

Источники и проверочный стенд

Проверочный стенд: 24 августа 2026 года. Новые версии Minecraft могут приносить новые требования к Java; ссылки отражают актуальное состояние соответствующих источников.