Как сделать Minecraft сервер 24/7

Как сделать Minecraft сервер 24/7

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

Мы разберём все способы держать сервер онлайн 24/7: от самого бюджетного (старый комп под столом) до правильного (VPS с systemd и автоперезапуском). И да, будут конкретные команды и конфиги, а не общие советы из разряда "купите хостинг".

Домашний ПК vs VPS vs выделенный сервер

Вариант 1: домашний компьютер

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

Но есть нюансы:

  • Электричество. Комп работает 24/7 - счёт за свет вырастет. Средний ПК потребляет 200-400 Вт, это 1500-3000 рублей в месяц просто за электричество.
  • Интернет. Домашний канал обычно асимметричный: скорость загрузки (upload) в 5-10 раз ниже скорости скачивания. А серверу нужен именно upload. Плюс белый IP есть не у всех.
  • Стабильность. Свет моргнул - сервер упал. Роутер перезагрузился - сервер недоступен. Windows решила обновиться - ну вы поняли.
  • Шум. Кулеры 24/7 - это не для каждой спальни.

Для сервера на 5-10 друзей - вполне рабочий вариант. Для чего-то серьёзного - нет.

Вариант 2: VPS (виртуальный сервер)

Оптимальный выбор для большинства. VPS - это виртуальная машина в дата-центре с гарантированным каналом, бесперебойным питанием и белым IP.

Что искать:

  • CPU: минимум 2 ядра, желательно с частотой 3.5+ ГГц. Minecraft однопоточный, ему важна частота, а не количество ядер
  • RAM: 2 ГБ для ванильного сервера на 10 игроков, 4-8 ГБ для модов/плагинов
  • Диск: SSD обязательно, NVMe - идеально. HDD в 2026 году для Minecraft - это преступление
  • Расположение: ближе к вашим игрокам. Для СНГ - Москва или Франкфурт, для Европы - Франкфурт или Амстердам

Цены начинаются от 5-10$/мес за приличный VPS. Hetzner, Contabo, OVH - проверенные варианты.

Вариант 3: выделенный сервер

Целый физический сервер только для вас. Имеет смысл если у вас 100+ игроков онлайн или сеть из нескольких серверов. Цены от 40-50$/мес.

Выбор операционной системы

Короткий ответ: Linux. Конкретно - Ubuntu 22.04/24.04 или Debian 12.

Почему не Windows? Потому что:

  • Linux потребляет меньше RAM (нет GUI, который съедает 1-2 ГБ просто так)
  • Лучше работает с сетью под нагрузкой
  • systemd, screen, tmux - все инструменты автоматизации заточены под Linux
  • 99% гайдов и решений в интернете - для Linux

Если вы никогда не работали с Linux - не пугайтесь. Для управления Minecraft-сервером вам нужно знать буквально 10-15 команд.

Способ 1: screen/tmux (быстрый старт)

Самый простой способ оставить сервер работать после отключения от SSH.

screen

# Установка
sudo apt install screen

# Создаём сессию
screen -S minecraft

# Запускаем сервер
cd /home/minecraft/server
java -Xms2G -Xmx4G -jar paper-1.21.4.jar nogui

# Отсоединяемся: Ctrl+A, затем D

# Подключаемся обратно
screen -r minecraft

tmux

# Установка
sudo apt install tmux

# Создаём сессию
tmux new -s minecraft

# Запускаем сервер
cd /home/minecraft/server
java -Xms2G -Xmx4G -jar paper-1.21.4.jar nogui

# Отсоединяемся: Ctrl+B, затем D

# Подключаемся обратно
tmux attach -t minecraft

Плюсы: просто, быстро, работает из коробки.

Минусы: если сервер крашнется - он не перезапустится сам. Если VPS перезагрузится - сессия screen/tmux пропадёт.

Для тестирования и серверов "для друзей" этого хватит. Для серьёзного проекта - идём дальше.

Способ 2: systemd-сервис (правильный путь)

systemd - это система управления процессами в Linux. Она умеет:

  • Запускать сервер автоматически при старте системы
  • Перезапускать его при краше
  • Писать логи
  • Корректно останавливать сервер

Создаём юнит-файл

sudo nano /etc/systemd/system/minecraft.service
[Unit]
Description=Minecraft Server
After=network.target

[Service]
User=minecraft
WorkingDirectory=/home/minecraft/server
ExecStart=/usr/bin/java -Xms2G -Xmx4G -jar paper-1.21.4.jar nogui
ExecStop=/bin/kill -SIGINT $MAINPID
Restart=on-failure
RestartSec=10
StandardInput=null
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Активируем и запускаем

# Перечитываем конфиги systemd
sudo systemctl daemon-reload

# Включаем автозапуск
sudo systemctl enable minecraft

# Запускаем сервер
sudo systemctl start minecraft

# Проверяем статус
sudo systemctl status minecraft

# Смотрим логи
sudo journalctl -u minecraft -f

Теперь сервер:

  • Запустится сам после перезагрузки VPS
  • Перезапустится через 10 секунд после краша
  • Пишет логи через journald (можно смотреть через journalctl)

Отправка команд в консоль

С systemd вы теряете интерактивную консоль. Но есть решение - mcrcon:

# Включите RCON в server.properties
enable-rcon=true
rcon.password=ваш_секретный_пароль
rcon.port=25575

# Установите mcrcon
sudo apt install mcrcon

# Отправляйте команды
mcrcon -H 127.0.0.1 -P 25575 -p ваш_секретный_пароль "say Сервер перезагрузится через 5 минут"

Скрипт автоперезапуска (альтернатива systemd)

Если systemd кажется сложным, можно использовать простой bash-скрипт:

#!/bin/bash
# restart.sh

SERVER_DIR="/home/minecraft/server"
JAR="paper-1.21.4.jar"

cd "$SERVER_DIR"

while true; do
    echo "$(date) - Запуск сервера..."
    java -Xms2G -Xmx4G -jar "$JAR" nogui

    echo "$(date) - Сервер остановлен. Перезапуск через 10 секунд..."
    sleep 10
done

Запускайте его в screen: screen -S minecraft bash restart.sh

Если сервер упадёт - скрипт перезапустит его через 10 секунд. Простенько, но работает.

Мониторинг аптайма

Сервер работает 24/7, но как узнать, что он действительно доступен? Несколько вариантов:

Простой пинг-скрипт

#!/bin/bash
# check_minecraft.sh - проверка через mcstatus

pip install mcstatus
mcstatus localhost:25565 ping

if [ $? -ne 0 ]; then
    echo "Сервер не отвечает! Перезапускаю..."
    sudo systemctl restart minecraft
fi

Добавьте в crontab: */5 * * * * /home/minecraft/check_minecraft.sh

Внешний мониторинг

Используйте сервисы вроде UptimeRobot или HetrixTools - они будут пинговать ваш сервер извне и присылать уведомления, если он упадёт.

Оптимизация для 24/7 работы

Несколько важных настроек:

JVM-флаги

Не просто -Xmx4G. Используйте оптимизированные флаги Aikar:

java -Xms4G -Xmx4G \
  -XX:+UseG1GC \
  -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 \
  -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC \
  -XX:+AlwaysPreTouch \
  -XX:G1NewSizePercent=30 \
  -XX:G1MaxNewSizePercent=40 \
  -XX:G1HeapRegionSize=8M \
  -XX:G1ReservePercent=20 \
  -XX:G1HeapWastePercent=5 \
  -XX:G1MixedGCCountTarget=4 \
  -XX:InitiatingHeapOccupancyPercent=15 \
  -XX:G1MixedGCLiveThresholdPercent=90 \
  -XX:G1RSetUpdatingPauseTimePercent=5 \
  -XX:SurvivorRatio=32 \
  -XX:+PerfDisableSharedMem \
  -XX:MaxTenuringThreshold=1 \
  -jar paper-1.21.4.jar nogui

Автоматические бэкапы

Сервер работает 24/7 - значит данные копятся. Обязательно настройте бэкапы:

#!/bin/bash
# backup.sh
BACKUP_DIR="/home/minecraft/backups"
SERVER_DIR="/home/minecraft/server"
DATE=$(date +%Y-%m-%d_%H-%M)

# Отключаем автосохранение
mcrcon -H 127.0.0.1 -P 25575 -p password "save-off"
mcrcon -H 127.0.0.1 -P 25575 -p password "save-all"
sleep 5

# Создаём архив
tar -czf "$BACKUP_DIR/backup-$DATE.tar.gz" "$SERVER_DIR/world" "$SERVER_DIR/world_nether" "$SERVER_DIR/world_the_end"

# Включаем автосохранение обратно
mcrcon -H 127.0.0.1 -P 25575 -p password "save-on"

# Удаляем бэкапы старше 7 дней
find "$BACKUP_DIR" -name "*.tar.gz" -mtime +7 -delete

echo "$(date) - Бэкап создан: backup-$DATE.tar.gz"

Сервер 24/7 = мишень для DDoS

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

DDoS-атаки на Minecraft-серверы - обычное дело. Конкуренты, обиженные игроки, просто скучающие школьники с бутером - причины бывают разные. Результат один: ваш сервер, который вы так старательно настраивали на 24/7, лежит.

Обычный VPS от DDoS не защитит. Хостер в лучшем случае заблокирует ваш IP на пару часов ("nullroute"), чтобы атака не мешала другим клиентам.

Решение - специализированная защита. MineGuard фильтрует DDoS-трафик на уровне сети, пропуская только легитимные подключения Minecraft. Вы просто направляете трафик через защищённый прокси, и ваш реальный IP остаётся скрытым. Настройка занимает 5 минут, а сервер остаётся онлайн даже под атакой.

Чек-лист: сервер 24/7

Подведём итоги. Чтобы ваш Minecraft-сервер стабильно работал круглосуточно:

  • VPS или выделенный сервер (не домашний ПК для серьёзных проектов)
  • Linux (Ubuntu/Debian)
  • systemd-сервис с Restart=on-failure
  • Оптимизированные JVM-флаги (Aikar's flags)
  • Автоматические бэкапы по расписанию
  • Мониторинг аптайма (внешний пинг)
  • DDoS-защита (MineGuard или аналог)
  • RCON для удалённого управления

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


Protégez votre serveur contre les attaques DDoS

Protection gratuite avec configuration en 5 minutes. 1 To de bande passante inclus.

Essayer gratuitement


Articles connexes