- 1) Сначала посмотрите, что именно написано перед закрытием
- 2) Проверьте Java и версию запуска
- 3) Убедитесь, что jar-файл не битый и лежит там, где вы запускаете
- 4) Если вы запускаете через PuTTY по SSH, проблема может быть в SSH-сессии
- 5) Проверьте память и параметры -Xmx / -Xms
- 6) Если используете панель хостинга (например, Pterodactyl)
- 7) Типичные ошибки, из-за которых консоль закрывается сразу
- Полезные ссылки
Если при старте сервера консоль в терминале сразу закрывается, значит процесс 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/