Установка сервера Minecraft на Ubuntu 18.04
Введение
Minecraft — одна из самых популярных игр в мире. Изначально игра разработана студией Mojang и сейчас находится в собственности Microsoft. Это песочница, где можно строить и исследовать 3D‑мир; сервер позволяет играть с друзьями в многопользовательском режиме или запускать локальные миры на выделенном хосте.
В этом руководстве показано, как установить официальный ванильный сервер Minecraft на Ubuntu 18.04 и обеспечить базовую эксплуатацию и безопасность.
Требования
- Сервер с Ubuntu 18.04 (root‑доступ или пользователь с sudo).
- Доступ к интернету для загрузки серверного файла и зависимостей.
- Рекомендуется минимум 1–2 ГБ оперативной памяти для небольших миров; больше — для больших игровых локаций и модов.
Краткий план действий
- Обновить систему.
- Установить зависимости и Java.
- Создать отдельного пользователя для сервера.
- Скачать server.jar и запустить первый раз для генерации файлов.
- Принять EULA, включить RCON (опционально) и настроить параметры.
- Создать systemd‑сервис и включить автозапуск.
- Настроить брандмауэр, резервное копирование и мониторинг.
Обновление системы
Перед началом обновите пакеты:
apt-get update -y
apt-get upgrade -yПосле обновления рекомендуется перезагрузить сервер, если были обновления ядра или критичных компонентов.
Установка зависимостей и Java
Установим необходимые инструменты и OpenJDK 8 (совместим с ванильным сервером для многих версий Minecraft):
apt-get install git build-essential -y
apt-get install openjdk-8-jre-headless -yПроверьте установку Java:
java -versionОжидаемый вывод похож на:
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-...)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)Примечание: для современных версий Minecraft может быть рекомендован Java 11+. Если используете моды/плагины, проверяйте требования конкретной сборки.
Создание пользователя и структура директорий
Создайте отдельного системного пользователя для запуска сервера (без root‑прав):
useradd -r -m -U -d /home/minecraft -s /bin/bash minecraftПереключитесь на пользователя minecraft:
su - minecraftСоздайте необходимые папки:
mkdir backups tools serverУстановка mcrcon (опционально)
mcrcon — консольный клиент для RCON, удобен для администрирования сервера.
cd ~/tools
git clone https://github.com/Tiiffi/mcrcon.git
cd mcrcon
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.cВ процессе компиляции вы можете увидеть предупреждения — это нормально.
Скачивание сервера Minecraft
Перейдите в каталог сервера и скачайте официальный server.jar (пример команды в исходном руководстве):
cd ~/server
wget https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jarЗапустите сервер первый раз, чтобы он создал начальные файлы (world, eula.txt, server.properties и т.д.):
java -Xmx1024M -Xms512M -jar server.jar noguiПри первом запуске сервер остановится и выдаст сообщение о необходимости согласиться с EULA.
Важно: перед запуском убедитесь, что у вас достаточно памяти для Xmx/Xms (пример приведён для небольшого сервера). Увеличьте параметры при необходимости: -Xmx (максимум) и -Xms (стартовая память).
Согласие с EULA и базовая конфигурация
Откройте файл eula.txt и измените значение на true:
nano eula.txtИзмените:
eula=trueСохраните и закройте файл.
Откройте server.properties для включения RCON и задания пароля (если планируете удалённое администрирование через mcrcon):
nano server.propertiesИзмените или добавьте строки:
rcon.port=25575
rcon.password=admin@123
enable-rcon=trueВажно выбрать надёжный пароль для rcon и хранить его безопасно.
После изменения вернитесь к root (exit) или используйте sudo, чтобы создать systemd‑юнит.
exitСоздание systemd‑сервиса для управления сервером
Создайте файл /etc/systemd/system/minecraft.service:
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=/home/minecraft/server
ExecStart=/usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui
ExecStop=/home/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p admin@123 stop
[Install]
WantedBy=multi-user.targetСохраните файл и перезагрузите конфигурацию systemd:
systemctl daemon-reload
systemctl start minecraft
systemctl enable minecraftПроверить статус сервиса:
systemctl status minecraftВы увидите вывод с информацией о процессе Java и логах сервера.
Тестирование доступа и консоли RCON
Для доступа к консоли используйте mcrcon:
/home/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p admin@123 -tОжидаемый отклик:
Logged in. Type "Q" to quit!
>Вы также можете подключиться к серверу из игрового клиента Minecraft по IP:порт сервера (по умолчанию порт 25565).
Безопасность и сеть
- Откройте порт в брандмауэре (например, ufw):
ufw allow 25565/tcp
ufw allow 25575/tcp- Не запускайте сервер под root.
- Регулярно обновляйте систему и Java.
- Ограничьте доступ к RCON только с локального хоста или VPN.
- Держите резервные копии мира и серверных файлов.
Резервное копирование (простой cron‑скрипт)
Пример простого скрипта для архивации каталога world (создайте /home/minecraft/backups/backup.sh):
#!/bin/bash
TIMESTAMP=$(date +"%F-%H%M")
BACKUP_DIR=/home/minecraft/backups
WORLD_DIR=/home/minecraft/server/world
tar -czf "$BACKUP_DIR/world-$TIMESTAMP.tar.gz" -C "$WORLD_DIR" .
find $BACKUP_DIR -type f -mtime +7 -deleteДайте права и добавьте в cron для ежедневного запуска:
chmod +x /home/minecraft/backups/backup.sh
crontab -e
# Добавить строку: 0 3 * * * /home/minecraft/backups/backup.shЭтот пример сохраняет архивы и удаляет старые старше 7 дней.
Альтернативные подходы
- Docker: контейнеризация сервера упрощает изоляцию и переносимость. Есть готовые образы (официальные и community). Подходит для CI/CD и тестирования.
- screen/tmux: запуск сервера в сессии screen удобен для ручного управления без systemd.
- Использование более новых версий Java (например, OpenJDK 11) при необходимости модов.
Типичные ошибки и их решение
- “Failed to load eula.txt” — откройте eula.txt и установите eula=true.
- Сервер не стартует из systemd — проверьте права и WorkingDirectory; убедитесь, что service запускается от пользователя minecraft.
- RCON не подключается — проверьте rcon.port, rcon.password и firewall; убедитесь, что enable-rcon=true.
Критерии приёмки
- Сервис minecraft запущен и активен: systemctl status показывает Active: active (running).
- Игрокы могут подключиться по IP:25565 и войти в мир.
- RCON консоль доступна локально (если включена).
- Работают резервные копии и есть процедура восстановления.
Контрольные списки по ролям
Администратор:
- Создал пользователя minecraft.
- Настроил systemd‑сервис и включил автозапуск.
- Настроил брандмауэр и RCON.
- Наладил резервное копирование.
Игрок:
- Проверил подключение из клиента Minecraft.
- Сообщил об ошибках производительности.
Оператор/DevOps:
- Мониторит использование памяти/CPU.
- Выполняет обновления и тесты на staging перед продом.
Короткое резюме
Вы установили и запустили официальный сервер Minecraft на Ubuntu 18.04: настроили Java, создали сервис systemd, включили RCON и настроили базовую безопасность. Для продакшена рекомендуются автоматические резервные копии, мониторинг и ограничение доступа к RCON.
Если нужно, могу помочь с Docker‑файлом, настройкой плагинов (Bukkit/Spigot/Paper) или с написанием скриптов автоматического бэкапа и восстановления.
Важно: проверяйте соответствие версий Java и сервера при использовании модов и плагинов; всегда тестируйте изменения на отдельной машине перед внесением в продакшн.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента