Настройка сервера Minecraft PaperMC на Ubuntu/Debian: systemd, плагины и бэкапы | SecureFlow

Настройка сервера Minecraft PaperMC на Ubuntu/Debian: systemd, плагины и бэкапы

Постер статьи

Содержание

Введение

В этой статье вы узнаете:

  • Как выбрать оптимальное оборудование для сервера Minecraft
  • Как установить и обновить Java на Linux (Ubuntu/Debian)
  • Как загрузить и автоматически обновлять последнюю версию PaperMC
  • Базовую настройку файла server.properties
  • Организацию автозапуска через systemd
  • Рекомендации по выбору плагинов и настройке регулярных бэкапов

Почему стоит выбрать PaperMC?

Основные преимущества

  • Производительность: сниженная нагрузка на CPU и RAM по сравнению с официальным server.jar и Spigot.
  • Совместимость: поддержка всех плагинов из экосистемы Spigot.
  • Стабильность: регулярные апдейты, критичные патчи и фиксы производительности.

Совет: если вам нужен «чистый» ванильный опыт без сторонних изменений, используйте официальный server.jar. Для доступа к расширенному API подойдут Spigot или Bukkit.

Подготовка окружения и выбор ресурсов

Терминология

Параметр Обозначение
RAM Оперативная память (GB)
CPU Частота одного потока (GHz)
Хранение SSD / NVMe
Игроки Одновременные подключённые юзеры

Рекомендации по ресурсам

Тип сервера Игроков ОЗУ CPU Хранилище Сценарии использования
Мини 1–5 2–4 ГБ ≥ 3.4 GHz SSD Локальная игра, без плагинов
Малый 5–10 4–6 ГБ ≥ 3.6 GHz SSD Essentials, LuckPerms и другие лёгкие плагины
Средний 10–30 6–10 ГБ ≥ 3.8 GHz SSD Survival, мини-игры, ~10 плагинов
Большой 30–100 10–16 ГБ ≥ 4.0 GHz SSD Множество миров, тяжёлые плагины
Кластер/Хостинг 100+ 32+ ГБ ≥ 4.2 GHz NVMe BungeeCord, кластерные решения

Совет: арендуйте VPS с почасовой тарификацией для временных проектов или тестовых игр с друзьями. Например, на aeza.net есть гибкие тарифы.

Установка Java и обновление системы

Все команды приведены для Ubuntu/Debian. В других дистрибутивах пакеты могут называться иначе.

sudo apt update && sudo apt install -y openjdk-21-jre-headless jq nano curl

Проверка версии Java

java -version

Ожидаемый вывод:

openjdk version "21.0.7" 2025-04-15
OpenJDK Runtime Environment (build 21.0.7+6-Ubuntu-0ubuntu124.04)
OpenJDK 64-Bit Server VM (build 21.0.7+6-Ubuntu-0ubuntu124.04, mixed mode, sharing)

Важно: если доступна версия Java 22 или выше, рекомендуем использовать её для большей производительности.

Создание рабочего каталога и загрузка PaperMC

  1. Создайте директорию и перейдите в неё:
    sudo mkdir -p /opt/minecraft/paper && cd /opt/minecraft/paper
    
  2. Создайте скрипт загрузки download.sh:
    sudo nano download.sh
    
  3. Вставьте код и при необходимости замените MINECRAFT_VERSION (по умолчанию 1.21.4):
    #!/usr/bin/env sh
    
    PROJECT="paper"
    MINECRAFT_VERSION="1.21.4"
    
    LATEST_BUILD=$(curl -s https://api.papermc.io/v2/projects/${PROJECT}/versions/${MINECRAFT_VERSION}/builds | \
      jq -r '.builds | map(select(.channel == "default") | .build) | .[-1]')
    
    if [ "$LATEST_BUILD" != "null" ]; then
      JAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${LATEST_BUILD}.jar
      PAPERMC_URL="https://api.papermc.io/v2/projects/${PROJECT}/versions/${MINECRAFT_VERSION}/builds/${LATEST_BUILD}/downloads/${JAR_NAME}"
    
      curl -o server.jar $PAPERMC_URL
      echo "✅ Загрузка завершена"
    else
      echo "⚠️ Нет стабильного билда для версии $MINECRAFT_VERSION :("
    fi
    
  4. Сохраняем файл (Ctrl+X, Y, Enter), делаем его исполняемым и запускаем:
    sudo chmod +x download.sh
    sudo ./download.sh
    
  5. Проверяем наличие server.jar:
    ls
    
    вывод команды ls на linux ubuntu

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

  1. Запустите сервер:
    sudo java -Xms2G -Xmx2G -XX:+UseG1GC -jar server.jar nogui
    
  2. После строки Done remapping server in ... ms остановите процесс (Ctrl+C).
  3. Откройте eula.txt
    sudo nano eula.txt
    
  4. Измените eula=false на eula=true, сохраните файл (Ctrl+X, Y, Enter).

Отлючение проверки лицензий

Если нужен сервер для неофициальных клиентов, откройте server.properties и поставьте:

online-mode=false

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

  • server-ip= — оставьте пустым для прослушивания всех интерфейсов.
  • server-port=25565 — стандартный порт. По умолчанию 25565.
  • level-name=world — название папки с миром. По умолчанию — world.
  • level-seed= — задаёт сид генерации мира.
  • view-distance=10 — дистанция прорисовки.
  • gamemode=survival — режим по умолчанию (creative, adventure, spectator).
  • difficulty=easy — сложность мира (peaceful, easy, normal, hard).
  • pvp=true — включает PvP.
  • max-players=20 — максимальное число игроков.
  • spawn-monsters=true — спавн враждебных мобов.
  • white-list=true — на сервер могут зайти только игроки из файла whitelist.json.
  • motd=A Minecraft Server — Сообщение сервера
    статус minecraft сервера в игре

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

Для автоматического старта при загрузке сервера создайте systemd-сервис:

  1. Создайте сервис:
    sudo nano /etc/systemd/system/minecraft.service
    
  2. Вставьте:
    [Unit]
    Description=Minecraft Paper Server
    After=network.target
    
    [Service]
    User=root
    WorkingDirectory=/opt/minecraft/paper
    ExecStart=/usr/bin/java -Xms2G -Xmx2G -XX:+UseG1GC -jar server.jar nogui
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
  3. Запустите сервис:
    sudo systemctl daemon-reload
    sudo systemctl enable --now minecraft
    
  4. Проверьте статус сервера:
    sudo systemctl status minecraft
    
    Убедитесь, что статус — Active: active (running).
    вывод команды systemctl status minecraft

Регулярные бэкапы

  1. Откройте crontab от root:
    sudo crontab -e
    
  2. Добавьте задачу для ежедневного бэкапа в 03:00:
    0 3 * * * tar -czf /opt/minecraft/backups/world_$(date +\%F).tar.gz /opt/minecraft/paper/world
    

Установка и обновление плагинов

  1. Скачайте .jar плагина с официальных ресурсов (SpigotMC, CurseForge).
  2. Поместите файл в папку plugins/.
  3. Перезагрузите сервер:
    sudo systemctl restart minecraft
    

Заключение

Ваш Minecraft-сервер на базе PaperMC готов к стабильной и производительной работе на Linux. Остаётся только подобрать нужные плагины и наслаждаться игрой!