Как сделать сервер Minecraft 24/7: автоматический запуск и перезапуск
Введение: сервер, который никогда не спит
Сервер 24/7 — это мечта любого администратора. Игроки хотят заходить в любой момент, а не ждать, пока вы вручную запустите сервер. В этом гайде я покажу, как настроить автоматический запуск сервера при старте VPS и перезапуск при краше.
Способ 1: systemd (рекомендуется для Linux)
systemd — это стандартный менеджер сервисов в Linux. Он запускает сервисы при загрузке системы и перезапускает их при падении .
Создайте файл сервиса :
sudo nano /etc/systemd/system/minecraft.service
Содержимое файла:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms2G -Xmx4G -jar paper.jar nogui
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Активируйте и запустите сервис :
sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft
Теперь сервер будет запускаться при старте VPS и автоматически перезапускаться через 10 секунд после краша.
Способ 2: screen (простой способ)
Если вы не хотите использовать systemd, запустите сервер внутри screen :
screen -S minecraft
java -Xmx4G -jar server.jar nogui
Нажмите Ctrl+A+D, чтобы отсоединиться. Сессия останется работать в фоне. Вернуться можно командой screen -r .
screen не перезапускает сервер при краше — вам нужно будет делать это вручную или в скрипте.
Способ 3: Скрипт с бесконечным циклом (Windows и Linux)
Создайте start.sh (Linux) или start.bat (Windows), который перезапускает сервер после остановки :
#!/bin/bash
while true; do
java -Xmx4G -jar paper.jar nogui
echo "Сервер упал, перезапуск через 10 секунд..."
sleep 10
done
На Windows создайте start.bat с похожей логикой .
Настройка предупреждений о перезапуске
Если вы перезапускаете сервер планово (например, раз в сутки), предупредите игроков за 5, 3 и 1 минуту до остановки. Это можно сделать через плагин AutoRestart или простой скрипт, отправляющий команды в консоль.
Пример для screen-сессии:
screen -S minecraft -X stuff "say Сервер перезапустится через 5 минут!\015"
Мониторинг работы сервера
Настройте простой мониторинг: отправляйте уведомление в Telegram или Discord, если сервер не отвечает. Самый простой способ — скрипт, который раз в минуту проверяет, работает ли процесс Java, и отправляет алерт при падении.
💡 Совет профи
systemd — лучший выбор для Linux-серверов. Он не только перезапускает сервер, но и управляет логированием, позволяет ограничить ресурсы и безопасно остановить сервис. screen хорош для быстрых тестов, но для постоянного сервера используйте systemd .
💬 Комментарии (0)
🔒 Войдите, чтобы оставить комментарий
😊 Пока нет комментариев. Будьте первым!