Если при старте сервера консоль в терминале сразу закрывается, значит процесс Minecraft завершается почти сразу. Чаще всего это происходит из-за одного из трех факторов: неверная команда или файл, нехватка памяти/ресурсов, или SSH-сессия, которая завершает процесс при отключении.

Ниже - пошаговый план, который поможет быстро найти причину и вернуть сервер в рабочее состояние.

1) Сначала посмотрите, что именно написано перед закрытием

Даже если окно закрывается, обычно успевает показаться строка с причиной. Запустите сервер так, чтобы логи точно сохранились.

Если вы запускаете в папке сервера, выполните команду вручную и не закрывайте окно до конца вывода:

java -jar server.jar nogui

Если сервер падает мгновенно, откроется короткий фрагмент причины: например, проблемы с jar-файлом, Java, параметрами запуска или нехваткой памяти.

Самая частая строка, которую видят в таких случаях - Invalid or corrupt jarfile ... Это означает, что jar-файл поврежден или не тем файлом запускают сервер. Такую проблему обычно решают заменой server.jar на корректный файл.

2) Проверьте Java и версию запуска

Minecraft сервер требует совместимую версию Java. Если Java неподходящая, сервер может завершиться сразу.

Проверьте версию:

java -version

Уточните требования именно под вашу сборку сервера (Vanilla, Spigot/Paper, Forge/Fabric и т.д.). Если версии не совпадают, поставьте нужную Java и попробуйте снова.

Также проверьте, что запускаете правильный файл. В консоли должно быть видно, какой именно jar вы запускаете.

3) Убедитесь, что jar-файл не битый и лежит там, где вы запускаете

Частая ситуация на VPS и в панелях: вы запускали команду из одной папки, а jar лежит в другой, или файл загрузили не полностью, или он поврежден.

Откройте в папке сервера список файлов:

ls -la

Убедитесь, что server.jar существует и его размер не нулевой. Если jar подозрительный, перекачайте официальный файл заново и повторите запуск.

4) Если вы запускаете через PuTTY по SSH, проблема может быть в SSH-сессии

По вашему описанию возможно, что вы запускаете сервер через PuTTY, а затем закрываете окно или SSH-подключение, и после этого сервер сразу прекращается. Так бывает, потому что процесс Minecraft привязан к SSH-сессии.

Вариант A: запуск через screen (чтобы сервер жил после разрыва SSH)

1) Установите screen:

sudo apt-get update
sudo apt-get -y install screen

2) Запустите сервер в отдельной сессии screen:

screen -S minecraft

После появления экрана запускайте сервер обычной командой:

java -jar server.jar nogui

3) Чтобы выйти из screen и оставить сервер работать, нажмите:
- Ctrl + A
- затем D

4) Позже подключиться к уже запущенному screen-сценарию:

screen -r minecraft

Если screen уже занят другим окном, может понадобиться режим “переподключения”:

screen -rd minecraft

Вариант B: лучше для долгой работы - systemd

Если сервер нужен “как сервис”, systemd обычно надежнее, чем держать screen вручную. Идея такая: сервис стартует сам, рестартится при падении и логи пишет в system journal.

Коротко по шагам.

1) Создайте unit-файл:

sudo nano /etc/systemd/system/minecraft.service

2) Заполните по примеру (папку и jar подставьте свои):

[Unit]
Description=Minecraft Server
After=network.target

[Service]
Type=simple
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xmx2048M -Xms1024M -jar server.jar nogui
Restart=always
RestartSec=10
KillMode=none

[Install]
WantedBy=multi-user.target

3) Примените:

sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft

4) Логи:

journalctl -u minecraft -n 200 --no-pager

5) Проверьте память и параметры -Xmx / -Xms

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

Смотрите на параметры запуска в строке типа:
- -Xmx2048M (максимум памяти)
- -Xms1024M (стартовая память)

Сделайте так, чтобы -Xmx не превышал доступную RAM на сервере. Если вы не знаете лимит, начните с меньших значений и проверяйте результат.

6) Если используете панель хостинга (например, Pterodactyl)

В панелях часто есть штатный способ управления процессом, автоперезапуск, логирование и оболочка команд. Если у вас консоль “пропадает” при разрыве SSH, панель обычно работает стабильнее, потому что процесс запускается и управляется без привязки к вашему терминалу.

Проверьте в интерфейсе панели:
- логи сервера
- режим автоперезапуска
- параметры запуска Java (особенно -Xmx)

7) Типичные ошибки, из-за которых консоль закрывается сразу

Что происходит Вероятная причина Что сделать
Вылет с сообщением про Invalid or corrupt jarfile Jar поврежден или запускают не тот файл Перекачать jar, проверить размер и папку
Команда запускается, окно закрывается после подключения/отключения SSH сессия завершает процесс Запуск через screen или через systemd
Сервер работает хуже на старте, потом сразу падает без понятных причин Нехватка RAM или слишком большие -Xmx/-Xms Понизить -Xmx до доступного лимита, проверить ресурсы
В логах видно проблему с Java Несовместимая версия Java или сломанный запуск Поставить нужную Java под вашу сборку

Полезные ссылки

  • Диспетчер процессов и service logs в Debian/Ubuntu (systemd и journalctl): https://www.freedesktop.org/wiki/Software/systemd/
  • screen - руководство: https://www.gnu.org/software/screen/manual/screen.html
  • systemd unit-файлы (официальная документация): https://www.freedesktop.org/software/systemd/man/systemd.service.html
  • Пример запуска Minecraft-сервера как сервиса (гайд по systemd в репозиториях сообщества): https://github.com/Edenhofer/minecraft-server
  • Документация по Pterodactyl: https://pterodactyl.io/