Как создать сервер Minecraft на Ubuntu 20.04

Создать сервер Minecraft

Minecraft — одна из самых популярных игр всех времён. Это видеоигра-песочница, в которой игроки исследуют бесконечные миры и строят разнообразные сооружения — от простых домов до величественных небоскрёбов.

В этом руководстве объясняется, как создать сервер Minecraft в Ubuntu 20.04. Мы будем использовать Systemd для запуска сервера Minecraft и утилиту mcrcon для подключения к работающему экземпляру. Мы также покажем, как создать cron-задание для регулярного резервного копирования сервера.

Предпосылки

По данным официального сайта Minecraft, для типичной установки рекомендуется минимальная конфигурация в 4 ГБ оперативной памяти.

Установите пакеты, необходимые для сборки инструмента mcrcon :

 sudo apt update sudo 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/mcrcon gcc -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 ~/server java -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

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *