Подробный гайд: Установка и настройка сервера Minecraft на Astra Linux

Гайд по установке сервера Minecraft на Astra Linux: Java 21, systemd, firewall, бэкапы, оптимизация, поддержка SE.

2026.04.16                  


Подробный гайд: Установка и настройка сервера Minecraft на Astra LinuxПодробный гайд: Установка и настройка сервера Minecraft на Astra Linux Гайд ориентирован на Astra Linux Common Edition (на базе Debian). Если вы используете Special Edition (Смоленск), в системе действует мандатный контроль доступа (MAC), который может блокировать выполнение сторонних сервисов. В конце гайда есть раздел с рекомендациями по адаптации под SE.

1. Требования и подготовка

Компонент Минимум Рекомендуемо
CPU 2 ядра 4+ ядра
RAM 2 ГБ 4–8 ГБ
Диск 10 ГБ SSD 20+ ГБ
Сеть Стабильный интернет, открытый порт 25565/tcp
ОС Astra Linux CE 1.7/1.8 (Debian 11/12)

Обновите систему и установите утилиты:

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl jq tmux htop rsync ufw

2. Установка Java

Minecraft 1.20.5+ требует Java 21. Astra Linux не всегда содержит свежие пакеты в репозиториях.

Поэтому используем официальный репозиторий Adoptium (Temurin):

# Добавляем GPG-ключ и репозиторий
sudo apt install -y apt-transport-https gnupg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | \
  sudo gpg --dearmor -o /usr/share/keyrings/adoptium.gpg

echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb \
$(. /etc/os-release && echo $VERSION_CODENAME) main" | \
  sudo tee /etc/apt/sources.list.d/adoptium.list

sudo apt update
sudo apt install -y temurin-21-jre

java -version  # Должно показать openjdk version "21.x.x"

3. Создание пользователя и загрузка сервера

Никогда не запускайте сервер от root.

sudo useradd -m -s /bin/bash mcserver
sudo su - mcserver
mkdir ~/server && cd ~/server

Загрузка последней стабильной версии (Vanilla):

LATEST=$(curl -s https://launchermeta.mojang.com/mc/game/version_manifest.json | jq -r '.latest.release')
URL=$(curl -s "https://launchermeta.mojang.com/mc/game/version_manifest.json" | \
      jq -r --arg v "$LATEST" '.versions[] | select(.id == $v) | .url' | \
      jq -r '.downloads.server.url')

wget -O server.jar "$URL"
echo "Загружена версия: $LATEST"

Рекомендация:

  • Для продакшена используйте PaperMC или Purpur (оптимизация, плагины, безопасность). Заменяется аналогично: скачиваете paperclip.jar с https://papermc.io/downloads.

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

java -Xmx2G -Xms2G -jar server.jar nogui

Сервер остановится, создав eula.txt.

Примите лицензию:

echo "eula=true" > eula.txt

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

Отредактируйте файл:

nano server.properties

Ключевые параметры:

Параметр Значение Пояснение
server-port 25565 Стандартный порт
max-players 20 Лимит игроков
gamemode survival Режим по умолчанию
difficulty normal Сложность
online-mode true Обязательно true для безопасности
view-distance 8-10 Дальность прорисовки (уменьшите для производительности)
enable-command-block false Включайте только если нужно
white-list false -> true Включите, если сервер приватный

Сохраните (Ctrl+O, Enter, Ctrl+X).

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

Создайте юнит-файл:

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

[Service]
Type=simple
User=mcserver
Group=mcserver
WorkingDirectory=/home/mcserver/server
ExecStart=/usr/bin/java -Xmx4G -Xms2G -jar server.jar nogui
Restart=on-failure
RestartSec=10
StandardInput=null
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Примените и запустите:

sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft

Просмотр логов:

journalctl -u minecraft -f --no-pager

Интерактивная консоль: systemd не поддерживает прямой ввод команд.

Для управления используйте tmux:

sudo -u mcserver tmux new -s mc "java -Xmx4G -Xms2G -jar server.jar nogui"
# Подключиться: tmux attach -t mc
# Отправить команду: tmux send-keys -t mc "stop" Enter

(В продакшене удобнее настроить RCON, см. раздел 8)

7. Настройка сетевого экрана

Astra Linux CE обычно использует ufw или iptables.

Откройте порт:

sudo ufw allow 25565/tcp comment "Minecraft Server"
sudo ufw enable
sudo ufw status

Если ufw недоступен:

sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4

Проверьте, не блокирует ли порт NAT/роутер. Для внешнего доступа настройте проброс порта 25565 TCP.

8. Оптимизация и безопасность

JVM-флаги для производительности

Замените ExecStart в юните на:

ExecStart=/usr/bin/java -Xmx4G -Xms2G \
  -XX:+UseG1GC -XX:MaxGCPauseMillis=50 \
  -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions \
  -jar server.jar nogui

RCON (удалённое управление)

В server.properties:

enable-rcon=true
rcon.port=25575
rcon.password=ВашСложныйПароль

Управление: rcon-cli (установите sudo apt install rcon-cli или используйте Docker/скрипты).

Бэкапы

sudo mkdir -p /opt/mc-backups
sudo nano /opt/mc-backups/backup.sh
#!/bin/bash
BACKUP_DIR="/opt/mc-backups/$(date +%F)"
mkdir -p "$BACKUP_DIR"
systemctl stop minecraft
tar -czf "$BACKUP_DIR/world.tar.gz" -C /home/mcserver/server world
tar -czf "$BACKUP_DIR/configs.tar.gz" -C /home/mcserver/server server.properties eula.txt ops.json whitelist.json
systemctl start minecraft
find /opt/mc-backups -type d -mtime +7 -exec rm -rf {} \;  # Хранить 7 дней
sudo chmod +x /opt/mc-backups/backup.sh
(crontab -l 2>/dev/null; echo "0 3 * * * /opt/mc-backups/backup.sh") | crontab -

Fail2ban (защита от брутфорса RCON/SSH)

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban

Создайте фильтр /etc/fail2ban/filter.d/minecraft-rcon.conf при необходимости.

9. Особенности Astra Linux Special Edition (Смоленск)

Если вы используете SE:

  1. MAC может блокировать java. Проверьте аудит: sudo aureport -a
  2. Разрешите выполнение: sudo pdp -a -e /usr/lib/jvm/temurin-21-jre-amd64/bin/java

3. Создайте профиль в /etc/astra/mac/ или временно отключите проверку для сервиса (не рекомендуется для продакшена):

   sudo setenforce 0  # Только для тестов
  1. Для соответствия требованиям ФСТЭК используйте только сертифицированные сборки Java и настраивайте мандатные метки на директории сервера.

10. Обновление сервера

sudo systemctl stop minecraft
cd /home/mcserver/server
mv server.jar server.jar.old
# Скачайте новую версию (аналогично шагу 3)
sudo systemctl start minecraft
# Проверьте логи на ошибки совместимости

Частые проблемы и решения

Симптом Причина Решение
Cannot allocate memory Мало RAM или неправильные -Xmx Уменьшите -Xmx до доступной памяти
Failed to bind to port Порт занят или нет прав sudo lsof -i :25565 или смените порт
EULA not accepted Файл eula.txt не сохранён echo "eula=true" > eula.txt
Java version error Старая Java Убедитесь, что java -version показывает 21+
Astra SE блокирует запуск MAC-политики Настройте pdp/astra-mac или используйте CE

Итог

Вы развернули стабильный, безопасный и оптимизированный сервер Minecraft на Astra Linux с: - Автозапуском через systemd - Защитой фаервола и бэкапами - Оптимизированной JVM - Готовностью к переходу на PaperMC и RCON