
Minecraft — одна из самых популярных игр всех времён. Это видеоигра-песочница, в которой игроки исследуют бесконечные миры и строят разнообразные сооружения — от простых домов до величественных небоскрёбов.
В этом руководстве объясняется, как создать сервер Minecraft в Ubuntu 20.04. Мы будем использовать Systemd для запуска сервера Minecraft и утилиту mcrcon для подключения к работающему экземпляру. Мы также покажем, как создать cron-задание для регулярного резервного копирования сервера.
Предпосылки
По данным официального сайта Minecraft, для типичной установки рекомендуется минимальная конфигурация в 4 ГБ оперативной памяти.
Установите пакеты, необходимые для сборки инструмента mcrcon :
sudo apt updatesudo apt install git build-essential
Установка среды выполнения Java
Для Minecraft требуется Java 8 или выше. Minecraft Server не требует графического интерфейса, поэтому мы установим версию Java без графического интерфейса. Эта версия больше подходит для серверных приложений, поскольку имеет меньше зависимостей и потребляет меньше системных ресурсов.
Выполните следующую команду для установки пакета OpenJRE 11 без графического интерфейса:
sudo apt install openjdk-11-jre-headless
Проверьте установку, распечатав версию Java :
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
В целях безопасности Minecraft не следует запускать под учетной записью root. Мы создадим нового системного пользователя и группу с домашним каталогом /opt/minecraft . У пользователя будут минимально необходимые права для запуска сервера Minecraft:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Мы не будем устанавливать пароль для этого пользователя. Таким образом, он не сможет войти по SSH и не будет скомпрометирован. Чтобы сменить пользователя minecraft , вам необходимо войти на сервер как пользователь root или с правами sudo .
Установка Minecraft на Ubuntu
Перед началом процесса установки переключитесь на пользователя minecraft :
sudo su - minecraft
Выполните следующую команду, чтобы создать три новых каталога внутри домашнего каталога пользователя:
mkdir -p ~/{backups,tools,server}
- В каталоге
backupsбудут храниться резервные копии вашего сервера Minecraft. Вы можете синхронизировать этот каталог с удалённым сервером резервного копирования. - В каталоге
toolsбудут находиться клиентmcrconи скрипт резервного копирования. - Каталог
serverбудет содержать сам сервер Minecraft и его данные.
Загрузка и компиляция mcrcon
RCON — это протокол, позволяющий подключаться к серверам Minecraft и выполнять команды. mcron — это клиент RCON, написанный на языке C.
Мы загрузим исходный код с GitHub и соберем двоичный файл mcrcon .
Клонируйте репозиторий Tiiffi/mcrcon из GitHub в каталог ~/tools/mcron :
git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon
После завершения перейдите в каталог mcron и соберите утилиту:
cd ~/tools/mcrcongcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
После завершения убедитесь, что mcrcon успешно скомпилирован, распечатав его версию:
./mcrcon -v
Вывод будет выглядеть примерно так:
mcrcon 0.7.1 (built: Jun 23 2020 15:49:44) - https://github.com/Tiiffi/mcrcon Bug reports: tiiffi+mcrcon at gmail https://github.com/Tiiffi/mcrcon/issues/
Загрузка сервера Minecraft
Существует несколько модов для серверов Minecraft, таких как Craftbukkit или Spigot , которые позволяют добавлять функции (плагины) на ваш сервер, а также дополнительно настраивать и корректировать параметры сервера.
В этом руководстве мы установим последнюю версию официального сервера Minecraft от Mojang. Те же инструкции применимы и для установки других модов для сервера.
Перейдите на страницу загрузки Minecraft , чтобы получить ссылку на архив Java (JAR) последней версии сервера Minecraft. На момент написания статьи последняя версия — 1.16 .
Загрузите jar-файл в каталог ~/server с помощью wget :
wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server
Настройка сервера Minecraft
После завершения загрузки перейдите в каталог ~/server и запустите сервер Minecraft:
cd ~/serverjava -Xmx1024M -Xms1024M -jar server.jar nogui
При первом запуске сервер выполняет некоторые операции, создает файлы server.properties и eula.txt и останавливается.
[17:35:14] [main/ERROR]: Failed to load properties from file: server.properties [17:35:15] [main/WARN]: Failed to load eula.txt [17:35:15] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Для запуска сервера необходимо принять условия лицензионного соглашения Minecraft EULA, как указано выше. Откройте файл eula.txt и измените eula=false на eula=true :
nano ~/server/eula.txt
~/server/eula.txt
eula = true
Закройте и сохраните файл.
Далее откройте файл server.properties , включите протокол rcon и задайте пароль rcon:
nano ~/server/server.properties
Найдите следующие строки и обновите их значения, как показано ниже:
~/сервер/сервер.properties
rcon.port = 25575 rcon.password = strong-password enable-rcon = true
Не забудьте сменить strong-password на более надёжный. Если вы не хотите подключаться к серверу Minecraft из удалённых мест, убедитесь, что порт RCON заблокирован вашим брандмауэром.
Здесь вы также можете настроить параметры сервера по умолчанию. Подробнее о настройках сервера можно узнать на странице server.properties .
Создание файла модуля Systemd
Вместо ручного запуска сервера Minecraft мы создадим файл модуля Systemd и запустим Minecraft как службу.
Вернитесь к пользователю sudo, введя команду exit .
Откройте текстовый редактор и создайте файл с именем minecraft.service в каталоге /etc/systemd/system/ :
sudo nano /etc/systemd/system/minecraft.service
Вставьте следующую конфигурацию:
/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 strong-password stop [Install] WantedBy = multi-user.target
Измените флаги Xmx и Xms в соответствии с ресурсами вашего сервера. Флаг Xmx определяет максимальный объём выделяемой памяти для виртуальной машины Java (JVM), а Xms — начальный объём выделяемой памяти. Также убедитесь, что вы используете правильный порт rcon и пароль.
Сохраните файл и перезагрузите конфигурацию менеджера systemd:
sudo systemctl daemon-reload
Теперь вы можете запустить сервер Minecraft, введя:
sudo systemctl start minecraft
При первом запуске службы она создаст несколько конфигурационных файлов и каталогов, включая мир Minecraft.
Проверьте состояние службы с помощью следующей команды:
sudo systemctl status minecraft
● minecraft.service - Minecraft Server Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2020-06-23 17:48:44 UTC; 8s ago Main PID: 1338035 (java) Tasks: 15 (limit: 1074) Memory: 465.3M CGroup: /system.slice/minecraft.service └─1338035 /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
Наконец, включите автоматический запуск службы Minecraft при загрузке:
sudo systemctl enable minecraft
Настройка брандмауэра
Ubuntu поставляется с инструментом настройки брандмауэра UFW. Если брандмауэр включён в вашей системе и вы хотите получить доступ к серверу Minecraft из-за пределов локальной сети, вам необходимо открыть порт 25565 :
sudo ufw allow 25565/tcp
Настройка резервного копирования
В этом разделе мы создадим скрипт резервного копирования и cronjob для автоматического резервного копирования сервера Minecraft.
Переключиться на minecraft :
sudo su - minecraft
Откройте текстовый редактор и создайте следующий файл:
nano /opt/minecraft/tools/backup.sh
Вставьте следующую конфигурацию:
/opt/minecraft/tools/backup.sh
#!/bin/bash function rcon { /opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password " $1 " } rcon "save-off" rcon "save-all" tar -cvpzf /opt/minecraft/backups/server- $( date +%F-%H-%M ) .tar.gz /opt/minecraft/server rcon "save-on" ## Delete older backups find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete
Сохраните файл и сделайте скрипт исполняемым :
chmod +x /opt/minecraft/tools/backup.sh
Затем создайте cron-задание , которое будет запускаться автоматически один раз в день в фиксированное время.
Откройте файл crontab, введя:
crontab -e
Чтобы запускать скрипт резервного копирования каждый день в 23:00, вставьте следующую строку:
0 23 * * * /opt/minecraft/tools/backup.sh
Доступ к консоли Minecraft
Для доступа к консоли Minecraft используйте утилиту mcrcon . Необходимо указать хост, порт RCON, пароль RCON и использовать ключ -t , который включает режим терминала mcrcon :
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
Logged in. Type "Q" to quit! >
При удаленном доступе к консоли Minecraft убедитесь, что порт rcon не заблокирован.
Если вы регулярно подключаетесь к консоли Minecraft, вместо того, чтобы вводить эту длинную команду, создайте псевдоним bash .
Заключение
Мы показали вам, как создать сервер Minecraft на Ubuntu 20.04 и настроить ежедневное резервное копирование.
Теперь вы можете запустить клиент Minecraft , подключиться к серверу и начать свое приключение Minecraft.
Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.
java minecraft ubuntu Не используете Ubuntu 20.04?
Выберите другую ОС: центос 7 дебиан 9 убунту 18.04
Связанные руководства