VPSРейтинг
ИгрыОбновлено: февраль 2026 · 14 мин чтения

Как запустить сервер Minecraft на VPS: полный гайд 2026

Paper + Java 21 + Aikar's flags + автозапуск + бэкапы. Сервер для 10–20 игроков с нормальным TPS, который не падает при перезагрузке VPS.

Что понадобится

  • • VPS с Ubuntu 22.04 LTS, KVM-виртуализация
  • • Минимум 2 vCPU с частотой от 3 ГГц, 4 ГБ RAM (для 5–10 игроков)
  • • Root-доступ по SSH
  • • Лицензионный аккаунт Minecraft (опционально)

Нет VPS? Смотрите VPS для игровых серверов — подбираем по частоте CPU.

ИгроковRAMCPUЯдроБюджет
1–32 ГБ2 vCPU 2.5+ ГГцPaper300–500₽
4–64 ГБ2 vCPU 3+ ГГцPaper500–800₽
7–106–8 ГБ4 vCPU 3+ ГГцPaper900–1500₽
11–2010–12 ГБ4–6 vCPUPaper1500–3000₽
20+16+ ГБ8 vCPUPaper + оптимиз.3000₽+

1. Установка Java 21

Версия Java критически важна — Minecraft 1.20.4 и новее требуют Java 21. Запуск на более старой версии даст ошибку при старте.

MinecraftJavaПакет
1.20.4 – 1.21+Java 21openjdk-21-jre-headless
1.20.0 – 1.20.3Java 17+openjdk-17-jre-headless
1.17 – 1.19Java 17openjdk-17-jre-headless
1.12 – 1.16Java 11openjdk-11-jre-headless
Установка Java 21 (Ubuntu 22.04 / 24.04)
apt update && apt install -y openjdk-21-jre-headless

# Проверяем версию
java -version
# openjdk version "21.0.x" 2024-...

2. Выбор ядра и загрузка Paper

Vanilla

Официальное ядро Mojang. Медленнее всех, нет плагинов. Только если нужна точная механика.

Paper ✓

Оптимизированный форк Spigot. Быстрее, поддерживает плагины Bukkit/Spigot. Рекомендуется для большинства серверов.

Spigot

Предшественник Paper. Поддерживает Bukkit-плагины, но Paper быстрее и лучше поддерживается.

Fabric / Forge

Для модов. Fabric — лёгкий и быстрый, Forge — больше модов. Несовместимы с Bukkit-плагинами.

Создаём пользователя и директорию, скачиваем Paper:

Создание пользователя minecraft
useradd -r -m -s /bin/bash minecraft
mkdir -p /opt/minecraft
chown minecraft:minecraft /opt/minecraft
Скачиваем Paper (замените VERSION на нужную версию MC, BUILD на последний билд)
su - minecraft
cd /opt/minecraft

# Актуальную ссылку смотрите на papermc.io/downloads
# Пример для MC 1.21.4, билд 100:
wget -O server.jar "https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/100/downloads/paper-1.21.4-100.jar"

# Проверяем что файл скачался нормально
ls -lh server.jar

3. Первый запуск и принятие EULA

При первом запуске сервер создаёт файлы конфигурации и остановится, требуя принять лицензионное соглашение Mojang:

Первый запуск для генерации файлов
cd /opt/minecraft
java -Xmx1G -jar server.jar nogui
# Сервер завершится с ошибкой: "You need to agree to the EULA"
Принимаем EULA
sed -i 's/eula=false/eula=true/' eula.txt
cat eula.txt
# eula=true — готово

После принятия EULA сервер сгенерирует server.properties, папки world/, logs/ и конфиги Paper.

4. Настройка server.properties

Ключевые параметры — два из них напрямую влияют на TPS и нагрузку CPU:

Редактируем /opt/minecraft/server.properties
nano /opt/minecraft/server.properties
max-players=20

Максимум игроков. Ставьте реалистично — по таблице выше.

view-distance=10

Радиус отрисовки чанков вокруг игрока. Каждый +2 значительно нагружает CPU. Для 10+ игроков ставьте 8–10.

simulation-distance=8

⚡ Главный параметр нагрузки. Радиус активной симуляции мира (мобы, редстоун). Чем меньше — тем выше TPS. Рекомендуется 6–8.

online-mode=true

true = только лицензионные аккаунты. false = открыт для пиратских клиентов (небезопасно для публичных серверов).

motd=Мой сервер

Описание сервера в списке мультиплеера.

difficulty=normal

peaceful / easy / normal / hard.

white-list=false

true = только игроки из whitelist.json могут зайти. Рекомендуется для приватных серверов.

5. Aikar's JVM-флаги — главный секрет

Большинство гайдов используют только -Xmx и -Xms. Это минимум. Aikar's flags — набор JVM-параметров, разработанный администраторами крупных Minecraft-серверов, который снижает паузы garbage collector в 3–5 раз. Стандарт в production с 2018 года.

Полный скрипт запуска start.sh (замените 4G на ваш объём RAM)
#!/bin/bash
# /opt/minecraft/start.sh

java \
  -Xmx4G \
  -Xms4G \
  -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 server.jar nogui

Что делают ключевые флаги

  • -XX:+UseG1GC — сборщик мусора G1, оптимален для heap > 2 ГБ
  • -Xmx4G -Xms4G — одинаковые значения, чтобы JVM не тратила время на рост heap
  • -XX:MaxGCPauseMillis=200 — целевая пауза GC, снижает фризы
  • -XX:+AlwaysPreTouch — выделяет всю память при старте, убирает задержки в игре
  • -XX:+DisableExplicitGC — запрещает плагинам принудительно вызывать GC
Делаем скрипт исполняемым
chmod +x /opt/minecraft/start.sh

6. Автозапуск через systemd

Screen — не решение для продакшна: при перезагрузке VPS сервер не стартует. Systemd автоматически запустит сервер при загрузке и перезапустит его при крашах.

Создаём /etc/systemd/system/minecraft.service
[Unit]
Description=Minecraft Server (Paper)
After=network.target

[Service]
Type=simple
User=minecraft
WorkingDirectory=/opt/minecraft

ExecStart=/opt/minecraft/start.sh
ExecStop=/bin/kill -SIGTERM $MAINPID

# Автоперезапуск при краше (не при штатной остановке)
Restart=on-failure
RestartSec=10s

# Логи
StandardOutput=append:/opt/minecraft/logs/server.log
StandardError=append:/opt/minecraft/logs/server.log

# Ограничения безопасности
NoNewPrivileges=true
PrivateTmp=true

[Install]
WantedBy=multi-user.target
Активируем и запускаем
systemctl daemon-reload
systemctl enable minecraft
systemctl start minecraft

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

# Смотрим логи в реальном времени
journalctl -u minecraft -f

Управление сервером

systemctl start minecraft — запуск

systemctl stop minecraft — корректная остановка

systemctl restart minecraft — перезапуск

journalctl -u minecraft -n 50 — последние 50 строк лога

7. Файрволл и порты

Открываем порт Minecraft
# Стандартный порт Java Edition
ufw allow 25565/tcp

# Если используете Bedrock Edition (кроссплатформа)
ufw allow 19132/udp

ufw status
# 25565/tcp   ALLOW   Anywhere

Если вы изменили server-port в server.properties — откройте именно тот порт. Порт RCON (25575) открывать наружу не нужно — он используется только локально.

8. Whitelist и безопасность

Для приватного сервера с друзьями whitelist обязателен — иначе любой знающий IP сможет подключиться.

Включаем whitelist в server.properties
# Установите в server.properties:
white-list=true
Добавляем игроков в whitelist (в консоли сервера или через файл)
# Способ 1: команда в консоли Paper
/whitelist add ИмяИгрока

# Способ 2: редактируем whitelist.json вручную
nano /opt/minecraft/whitelist.json
Формат whitelist.json
[
  {
    "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "name": "ИмяИгрока"
  }
]

UUID игрока можно найти на namemc.com. После изменения файла применяем без перезапуска:

Перезагрузка whitelist
/whitelist reload

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

Мир Minecraft — ценные данные. Скрипт делает ежедневный архив с ротацией 7 дней:

Создаём /opt/minecraft/backup.sh
#!/bin/bash
WORLD_DIR="/opt/minecraft/world"
BACKUP_DIR="/opt/minecraft/backups"
DATE=$(date +%Y-%m-%d_%H-%M)
KEEP_DAYS=7

mkdir -p "$BACKUP_DIR"

# Архивируем мир
tar -czf "$BACKUP_DIR/world_$DATE.tar.gz" -C /opt/minecraft world

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

echo "Backup completed: world_$DATE.tar.gz"
Права и расписание через cron
chmod +x /opt/minecraft/backup.sh

# Добавляем в cron пользователя minecraft
crontab -u minecraft -e

# Добавьте строку — бэкап каждый день в 4:00
0 4 * * * /opt/minecraft/backup.sh >> /opt/minecraft/logs/backup.log 2>&1
Проверяем что бэкапы создаются
ls -lh /opt/minecraft/backups/
# world_2026-02-25_04-00.tar.gz  85M

10. Мониторинг TPS и ресурсов

TPS — главный показатель здоровья сервера

Нормальный TPS — 20. Проверяйте через RCON или напрямую в консоли Paper:

Установка mcrcon для управления из SSH
apt install -y mcrcon

# Подключаемся к консоли сервера
mcrcon -H 127.0.0.1 -P 25575 -p ВАШ_RCON_ПАРОЛЬ

# В консоли Paper: проверка TPS
tps
# TPS from last 1m, 5m, 15m: 19.98, 19.95, 19.91 ← отлично
TPSСтатусЧто делать
18–20✅ ОтличноВсё хорошо
15–18⚠️ НормСнизить simulation-distance
10–15⚠️ ПлохоУменьшить view-distance, проверить плагины
< 10❌ КритичноНехватка RAM/CPU, нужен апгрейд VPS

Ресурсы сервера

Мониторинг CPU и RAM
# Интерактивный мониторинг
htop

# Сколько RAM использует Java-процесс
ps aux | grep java | awk '{print $6/1024 " MB"}'

# Свободное место на диске (мир растёт постоянно)
df -h /opt/minecraft
du -sh /opt/minecraft/world

Частые вопросы

Смотрите также