Моды не запускаются на сервере: как найти причину
Начните с первой причины в журнале, а не с полной переустановки сервера. Сохраните копию и меняйте только один фактор за раз, чтобы понимать, какое действие повлияло на результат.
Какие сведения собрать
Нужны точные версии Minecraft, Java, загрузчика и модпака, а также latest.log и crash-report, если он создан. Запишите, что менялось перед сбоем: мод, конфиг, Java, loader или параметры запуска.
- Приложите участок лога до первой ошибки, а не только последние строки завершения.
- Отделяйте ошибку запуска сервера от ошибки подключения клиента.
- Удаляйте из передаваемых журналов токены, пароли, webhook URL и приватные данные.
- Рабочий мир и внешнюю базу сохраните до экспериментов.
Типичные ошибки и первый шаг
Сходные сообщения могут иметь разные причины; проверяйте полный контекст и цепочку Caused by.
| Сообщение / симптом | Частая причина | Первое действие |
|---|---|---|
| UnsupportedClassVersionError | Неподходящая Java | Сверить Java процесса с требованиями сборки |
| Missing mandatory dependencies / requires | Нет библиотеки или неверная версия | Проверить зависимости и допустимые версии |
| Incompatible mod set | Несовместимый набор Fabric-модов / Loader | Прочитать список конфликтов в сообщении |
| Invalid dist DEDICATED_SERVER / net.minecraft.client | Client-only код на сервере | Проверить сторону установки мода и зависимостей |
| Could not open unix_args.txt | Неполные libraries или неверный server root | Проверить файлы и профиль запуска |
| Registry / channel mismatch при входе | Не совпадает клиентский набор | Сравнить версии модпака и контентных модов |
| Killed без stack trace | Возможен OOM или внешнее завершение | Проверить события памяти и сведения панели |
Таблицу можно прокрутить по горизонтали →
Проверьте платформу и зависимости
Один мод может иметь отдельные JAR для Fabric, Forge и NeoForge. Совпадение названия и Minecraft-версии не означает правильный файл. Удалите дублирующую старую версию только после сохранения копии, затем проверьте библиотечные моды и требуемую версию загрузчика.
Локализуйте конфликт на отдельной копии
Если лог не указывает причину однозначно, воспроизводите ошибку в изолированном окружении. Для чисто программного конфликта можно проверять группы необязательных модов, сохраняя зависимости вместе. Не открывайте единственный рабочий мир без модов, добавляющих его контент.
- Создайте копию сборки и отдельный тестовый мир или копию рабочего мира.
- Проверьте базовый запуск нужного загрузчика.
- Подключайте согласованные группы модов вместе с зависимостями.
- После появления ошибки сузьте группу, не меняя одновременно Java и конфигурацию.
- Сохраните минимальное воспроизведение и версии для автора мода или поддержки.
Разберите ошибку конфигурации отдельно
Ошибка синтаксиса TOML, JSON или YAML не обязательно означает несовместимость загрузчика. Сохраните проблемный файл и сравните структуру с конфигом, созданным этой версией мода. Не заменяйте все настройки без разбора: там могут быть адреса баз, секреты и нужные параметры мира.
Если проблема в памяти
Различайте Java heap и общий лимит процесса. При OutOfMemoryError важен конкретный тип ошибки, а при внешнем OOM Java может не успеть записать stack trace. Не увеличивайте -Xmx до всего лимита контейнера. Проверьте рост использования после GC, загрузку чанков и воспроизводимость утечки.
Что отправить в поддержку
Укажите название и версию сборки, время сбоя, последние изменения, версии Java и загрузчика, начало ошибки и воспроизводимый сценарий. Если сервер стартует, но клиент не входит, добавьте текст клиентской ошибки и версию клиентского модпака. Это полезнее сообщения «не работает» и скриншота последних двух строк.
Документация и источники
- Fabric: официальный установщик сервера ↗
- Minecraft Forge: официальные загрузки ↗
- NeoForge: официальный сайт и загрузки ↗
Названия файлов и параметры могут отличаться между версиями. Перед изменением сверяйте документацию своей сборки.