Гид по технологиям

Установка Minecraft сервера на Ubuntu 20.04 LTS

5 min read Server Setup Обновлено 24 Nov 2025
Minecraft сервер на Ubuntu 20.04 — настройка
Minecraft сервер на Ubuntu 20.04 — настройка

Сцена Minecraft: мир из блоков с персонажем и деревом

Этот пошаговый гид покажет, как настроить собственный Minecraft сервер на Ubuntu 20.04 LTS. Подойдёт для одиночной игры и игры с друзьями по сети. Определения: RCON — протокол удалённого управления сервером; systemd — менеджер служб в Ubuntu.

Требования

  • Сервер с Ubuntu 20.04 и минимум 4 ГБ оперативной памяти.
  • Установлен пароль для пользователя root или доступ по sudo.
  • Базовые навыки работы с терминалом.

Важно: на боевом сервере рекомендуется выделять больше памяти (минимум 2–4 ГБ для небольших миров, 6+ ГБ для модов и большого числа игроков).

Подготовка системы

Обновите пакеты и установите инструменты сборки:

apt-get update -y  
apt-get upgrade -y

Установите необходимые зависимости:

apt-get install git build-essential -y

Установка Java

Minecraft написан на Java. Устанавливаем headless-версию OpenJDK 11:

apt-get install openjdk-11-jre-headless -y

Проверьте установленную версию:

java -version

Ожидаемый вывод (пример):

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Создание пользователя и директорий

Создайте отдельного системного пользователя для сервера Minecraft и рабочие каталоги:

useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft

Переключитесь на пользователя:

su - minecraft

Создайте каталоги для бэкапов, утилит и самого сервера:

mkdir ~/backups ~/tools ~/server

Установка mcrcon (RCON-клиент)

mcrcon — лёгкий RCON-клиент на C. Скачиваем в ~/tools и собираем:

git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon

Собираем вручную:

cd ~/tools/mcrcon  
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c

Проверка:

./mcrcon -v

Ожидаемый вывод (пример):

mcrcon 0.7.1 (built: Jul  2 2020 07:44:45) - https://github.com/Tiiffi/mcrcon
Bug reports:
    tiiffi+mcrcon at gmail
    https://github.com/Tiiffi/mcrcon/issues/

Скачивание и первая конфигурация сервера

Скачайте server.jar в каталог сервера (пример — определённая версия):

wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server

Запустите для генерации конфигурационных файлов:

cd ~/server  
java -Xmx1024M -Xms1024M -jar server.jar nogui

При первом запуске появится ошибка, требующая согласия с EULA. Откройте файл eula.txt:

nano ~/server/eula.txt

Измените на:

eula=true

Затем настройте RCON-пароль в server.properties:

nano ~/server/server.properties

Добавьте или измените строки:

rcon.password=your-password

enable-rcon=true

Совет: используйте длинный случайный пароль и храните его в защищённом месте.

Создание systemd-сервиса

Создайте юнит systemd, чтобы сервер запускался как служба и автоматически при загрузке:

nano /etc/systemd/system/minecraft.service

Вставьте (проверьте пути и значения памяти под ваш сервер):

[Unit]
Description=Minecraft Server
After=network.target

[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p your-password stop

[Install]
WantedBy=multi-user.target

Перезагрузите демон systemd и включите сервис:

systemctl daemon-reload
systemctl start minecraft
systemctl enable minecraft

Проверка статуса:

systemctl status minecraft

Примерный вывод можно ожидать похожим на тот, что создаёт лог сервера. Также проверьте, что порт RCON слушает:

netstat -pnltu | grep 25575

Доступ к консоли через mcrcon

Подключитесь к консоли сервера локально:

/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p your-password -t

При успешном подключении увидите:

Logged in. Type 'quit' or 'exit' to quit.
>

Резервное копирование и восстановление

Минимальная стратегия бэкапа:

  • Автоматически архивировать папку world и server.properties ежедневно.
  • Хранить 7–14 последних бэкапов.
  • Проверять целостность архивов.

Пример простого скрипта бэкапа (разместите в ~/backups/backup.sh и сделайте исполняемым):

#!/bin/bash
TIMESTAMP=$(date +"%F_%H%M")
BACKUP_DIR=~/backups
WORLD_DIR=/opt/minecraft/server/world
tar -czf "$BACKUP_DIR/world_$TIMESTAMP.tar.gz" -C "$WORLD_DIR" .

Критерии приёмки

  • Сервер запускается как systemd-сервис и имеет статус active (running).
  • RCON отвечает и позволяет корректно выполнить команду stop.
  • Создана и проверена копия мира.

Безопасность и жёсткая конфигурация

Важно: если вы открываете игровой порт в интернет, примените дополнительные меры безопасности.

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

  • Запускайте сервер под непривилегированным пользователем (мы используем minecraft).
  • Закройте RCON на внешних интерфейсах (слушать только 127.0.0.1) или используйте SSH-туннель.
  • Ограничьте доступ к портам через UFW/iptables:
ufw allow OpenSSH
ufw allow 25565/tcp  # игровой порт, откройте только при необходимости
ufw enable
  • Регулярно обновляйте систему и Java.
  • Для публичных серверов используйте плагины/моды, которые проходят проверку сообщества (Paper/Spigot) и фильтрацию входных данных.

Альтернативные подходы

  • Модифицированный сервер: Paper или Purpur дают лучшее исполнение и больше опций для управления производительностью.
  • Docker-контейнеры: удобны для изоляции и миграции, но потребуют настройки томов и сети.
  • Облачные управляющие панели (например, Pterodactyl) — подходят для многопользовательских хостингов.

Контрпример: для быстрой локальной игры на одном компьютере проще запустить сервер в клиенте Minecraft (LAN), вместо развёртывания systemd-сервиса.

Настройка производительности

Нейл-модель для выделения памяти:

  • 1–3 игроков: 1–2 ГБ
  • 4–10 игроков: 2–4 ГБ
  • 10+ игроков или моды: 6+ ГБ

Параметры JVM: при необходимости настройте сборщик мусора и флаги JVM для улучшения задержек (это выходит за рамки базовой инструкции).

Рольовые чек-листы

Администратор:

  • Настроить systemd и бэкап.
  • Настроить RCON и мониторинг.
  • Обновлять Java и пакеты.

Игрок:

  • Подключиться к игровому порту сервера (обычно 25565).
  • Сообщать об ошибках в логах администраторам.

Тесты и приёмка

Тесты:

  • Проверить, что сервер отвечает на ping в клиенте Minecraft.
  • Выполнить команду через mcrcon: /opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p your-password list
  • Выполнить корректную остановку сервера через systemctl stop minecraft и убедиться в наличии бэкапа.

Глоссарий (одна строка)

  • RCON: протокол удалённого управления игровым сервером.
  • server.jar: основной исполняемый файл серверной части Minecraft.
  • systemd: менеджер служб в современных дистрибутивах Linux.

Устранение неполадок

Проблема: сервер не запускается — проверьте /opt/minecraft/server/logs/latest.log и права доступа к файлам. Если EULA=false, измените на true.

Проблема: RCON не подключается — проверьте enable-rcon=true и rcon.password в server.properties и слушает ли процесс порт 25575.

Проблема: недостаточно памяти — увеличьте -Xmx и -Xms в ExecStart или выделите больше ОЗУ хосту.

Заключение

В этой инструкции вы узнали, как развернуть базовый Minecraft сервер на Ubuntu 20.04 LTS: установка Java, создание отдельного пользователя, установка mcrcon, скачивание server.jar, согласие с EULA, создание systemd-сервиса, базовые меры безопасности и бэкап. Для публичных серверов рекомендуем изучить Paper/Purpur и продвинутую настройку JVM.

Краткое руководство по дальнейшим шагам:

  • Перенесите /opt/minecraft/server на отдельный диск при больших мирах.
  • Настройте регулярные бэкапы и мониторинг.
  • Используйте TLS/SSH-туннели для админских интерфейсов и RCON.

Если нужны примеры systemd для нескольких инстансов, Dockerfile или шаблон скрипта бэкапа с ротацией — напишите, и я подготовлю их.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Включить NumLock при запуске Windows 10
Windows

Включить NumLock при запуске Windows 10

Включить Emoji 15 на Windows 11
Windows

Включить Emoji 15 на Windows 11

Unity Lights: циферблат Apple Watch для Black History Month
Apple Watch

Unity Lights: циферблат Apple Watch для Black History Month

Обновление видеодрайвера для Rainbow Six Siege
Windows

Обновление видеодрайвера для Rainbow Six Siege

Ограничение частоты запросов в ASP.NET Core
Backend

Ограничение частоты запросов в ASP.NET Core

Исправление лагов Android: TRIM и LagFix
Mobile

Исправление лагов Android: TRIM и LagFix