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

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

Начните с правильного лога, а не с шума в консоли

Консоль панели удобна, пока сервер загружается, но разбирать неудачный запуск лучше всего по logs/latest.log. Если сервер создал папку crash-reports, откройте и самый свежий отчёт. Краш-репорт часто прямо называет класс, мод или плагин, а latest.log показывает, что происходило до падения.

Сначала прокрутите в самый низ. Ищите ERROR, FATAL, Caused by:, Exception или Failed to start. Последние 30–80 строк обычно ценнее первых двух тысяч. Первое исключение может быть лишь симптомом, а последняя строка Caused by чаще всего указывает на настоящую причину.

Например, Address already in use говорит о конфликте порта. UnsupportedClassVersionError почти всегда значит, что Java слишком старая. ModResolutionException — Forge или Fabric нашёл несовместимые требования модов. Если прочитать это сообщение до того, как трогать файлы, гадать почти не придётся.

Как выглядит успешный запуск

Не каждая красная строка смертельна. Vanilla, Paper, Forge, Fabric и плагины могут сыпать предупреждениями и при вполне нормальном запуске. Вопрос простой: дошла ли консоль до Done и слушает ли сервер свой порт? Если да — предупреждения о производительности и функциях можно разобрать позже. Если процесс завершается, уходит в бесконечный перезапуск или так и не доходит до Done, — это настоящая ошибка запуска.

Проверьте Java, прежде чем винить моды

Несовпадение версии Java — одна из самых частых причин, по которым свежий сервер отказывается стартовать. Нужная версия зависит от релиза Minecraft и ядра. Ориентир такой: Minecraft 26.x нужна Java 25, версиям 1.20.5–1.21 — Java 21, большинству сборок 1.18–1.20.4 — Java 17. Старым релизам может понадобиться Java 8, 11 или 16 — в зависимости от точной версии и загрузчика модов.

Обычно ошибка говорит об этом прямо. Сообщения вроде Unsupported class file major version, requires Java 21 или A JNI error has occurred — это проблемы Java, а не плагинов. Выберите нужную версию Java в панели, перезапустите сервер и прочитайте новый лог.

Со старыми сборками есть подвох. Свежая Java может починить актуальное ядро, но сломать старые моды, написанные под Java 8. Подбирайте Java под точную версию Minecraft, версию загрузчика Forge или Fabric и документацию сборки. Новее — не значит лучше.

Убедитесь, что все версии совпадают

Сервер Minecraft — это стек, а не один файл. Версия игры, ядро, загрузчик, плагины или моды и версии клиентов должны сходиться. Один компонент из другого релиза способен остановить весь запуск.

На Paper и Purpur проверьте, что каждый плагин поддерживает вашу точную версию Minecraft. Плагин под 1.19 иногда загружается и на 1.20, но может обратиться к устаревшему API и упасть при включении. Ошибки с NoSuchMethodError, NoClassDefFoundError или имя плагина рядом с Error occurred while enabling — верный признак несовместимости. Как проверить это до обновления, мы разбирали в гайде по совместимости плагинов.

С Forge и Fabric правила строже. Мод Fabric под 1.20.1 не заработает сам собой на 1.20.4, и с Forge то же самое. Смотрите на имя файла, загрузчик, версию Minecraft и обязательные зависимости. Модам Fabric часто нужен Fabric API, а модам Forge — библиотеки вроде Architectury, GeckoLib, Curios или Cloth Config. Недостающие зависимости лог обычно называет прямым текстом.

Никогда не смешивайте моды Forge и Fabric в одной обычной папке сервера — у них разные загрузчики. Гибридные ядра обещают плагины и моды одновременно, но совместимость никто не гарантирует. Если для публичного SMP важна стабильность, используйте ту платформу, под которую написаны ваши моды или плагины.

Безопасно найдите сломанный мод или плагин

Если лог указывает на конкретный файл, сначала уберите только его. Не удаляйте, а перенесите из папки mods или plugins и запустите сервер снова. Стартовал — ответ найден: скачайте совместимую версию, поставьте недостающую зависимость или замените функцию альтернативой.

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

Перед каждой проверкой сделайте бэкап мира и конфигов. Моды добавляют в мир блоки, сущности, измерения и данные предметов. Запуск без контентного мода может дать предупреждения о пропавших реестрах или стереть предметы в затронутых чанках. Для быстрой проверки на копии сервера это допустимо. На единственном боевом мире — плохая идея для первого шага.

Сменить Java — безопасно, сменить ядро — нет

В панели Elysium смена одной только версии Java файлы сервера не трогает, поэтому при UnsupportedClassVersionError начинайте с неё. А смена ядра или версии Minecraft на вкладке «Версии» и установка сборки на вкладке «Модпаки» — это чистая переустановка, которая удаляет файлы. Прежде чем идти этим путём, откройте вкладку Backups, нажмите Create Backup и скачайте архив.

Порт, EULA и сломанные конфиги

Часть ошибок запуска вообще не связана с совместимостью. Это простые настройки, из-за которых игроки всё равно не могут зайти.

Если видите You need to agree to the EULA, откройте eula.txt и поставьте eula=true — только после того, как прочитали и приняли EULA Minecraft. Если в логе Address already in use, порт сервера занят другим процессом или предыдущий процесс Java не завершился корректно. Остановите дубль, дождитесь завершения процесса или укажите в server.properties порт, который выделил хостинг (подробнее — в нашей статье про server.properties).

Запуск может убить и битый server.properties, YAML-конфиг плагина или JSON-конфиг мода. В логе тогда будет ScannerException, JsonParseException или сообщение о недопустимом значении. Восстановите конфиг из бэкапа или переименуйте его, чтобы сервер создал файл по умолчанию, а потом внимательно сравните со старым. YAML особенно не прощает ошибок в отступах, табах, кавычках и повторяющихся ключах.

Если у вас прокси на BungeeCord или Velocity с бэкендами на Paper, проверьте порты и настройки форвардинга на каждом уровне. Бэкенд с неверным режимом форвардинга может нормально стартовать — и отклонять каждого игрока. Это ошибка настройки подключения, а не падение при запуске, и чинится она в зависимости от версии прокси и схемы защиты — подробнее в гайде по настройке BungeeCord и Velocity.

Ошибки с памятью и флагами JVM

Сервер может упасть ещё до загрузки мира, если выделить ему невозможный объём памяти или передать неверные флаги JVM. Сюда указывают ошибки Could not reserve enough space, Invalid maximum heap size или мгновенный выход Java.

Держите максимальный размер кучи ниже всей памяти, доступной серверу, и оставляйте запас для агента панели и накладных расходов самой Java. На управляемом хостинге ориентируйтесь на лимит памяти тарифа, а не копируйте огромный -Xmx из видеоурока. Больше RAM не значит больше TPS: разумное выделение памяти, быстрое одно ядро процессора и чистый набор модов или плагинов важнее, чем запихнуть в Java каждый гигабайт.

При смене версии Java уберите и устаревшие флаги JVM. Флаги, которые работали на Java 8, на Java 17, 21 или 25 могут игнорироваться или вовсе не приниматься. Начните с команды запуска, которую рекомендует хостинг, убедитесь в чистом старте и только потом настраивайте — когда для этого есть измеренная причина.

Когда проблема в самом мире

Если сервер запускается с новым миром, но падает с вашим, причина может быть в повреждённых регионах, пропавшем реестре мода или сломанном датапаке. Не перезаписывайте этот мир. Сделайте копию, проверяйте на ней и ищите в краш-репорте координаты региона, сущность, чанк или имя датапака.

Падение из-за конкретной сущности иногда лечится её удалением из затронутого региона проверенным редактором миров. Сломанный датапак часто удаётся вычислить, временно убрав его из папки datapacks мира. Это восстановительные работы, а не починка наугад. Не трогайте исходный мир, пока не убедитесь, что исправленная копия загружается и постройки игроков целы.

Чтобы следующий запуск прошёл проще

Когда сервер снова в сети, сделайте так, чтобы через неделю не пришлось бегать заново. Записывайте версию Minecraft, версию Java, сборку загрузчика и источник каждого плагина или мода. Крупные обновления проверяйте на копии, прежде чем выкатывать на живой SMP. И делайте свежий бэкап перед сменой сборки, ядра или настроек генерации мира.

Хороший хостинг снимает большую часть этой возни: понятная консоль, бэкапы и поддержка, которая умеет читать стек-трейс Forge, а не отвечает шаблоном. Elysium построен именно вокруг этого — неважно, лёгкий у вас сервер на Paper или тяжёлый мир на Forge с сотней модов.

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

Сервер, который удобно чинить

В каждом тарифе Elysium — панель Pterodactyl: живая консоль, файловый менеджер и SFTP, переключение версии Java, ночной автобэкап и ручные слоты бэкапов — на высокочастотных Ryzen с NVMe Gen4 во Франкфурте. Ядро выбирается прямо в форме заказа, а тарифы и цены — на странице цен.