Как установить сервер Minecraft на Ubuntu 18.04

Установить Minecraft Server на Ubuntu 18.04

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

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

Те же инструкции применимы для Ubuntu 16.04 и любого дистрибутива на базе Ubuntu, включая Linux Mint и Elementary OS.

Предпосылки

Пользователь, под именем которого вы вошли в систему, должен иметь привилегии sudo , чтобы иметь возможность устанавливать пакеты.

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

 sudo apt update sudo apt install git build-essential

Установка среды выполнения Java

Для Minecraft требуется Java 8 или более поздней версии. Поскольку Minecraft Server не требует графического интерфейса пользователя, мы установим версию JRE без графического интерфейса. Эта версия больше подходит для серверных приложений, поскольку имеет меньше зависимостей и потребляет меньше системных ресурсов.

Установите пакет OpenJRE 8 без графического интерфейса, выполнив команду:

 sudo apt install openjdk-8-jre-headless

Проверьте установку, распечатав версию Java :

 java -version
 openjdk version "1.8.0_212" OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03) OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

Создание пользователя 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 будет храниться резервная копия вашего сервера. Впоследствии вы сможете синхронизировать этот каталог с удалённым сервером резервного копирования.
  • В каталоге tools будут храниться клиент mcrcon и сценарий резервного копирования.
  • Каталог server будет содержать сам сервер Minecraft и его данные.

Загрузка и компиляция mcrcon

RCON — это протокол, позволяющий подключаться к серверам Minecraft и выполнять команды. mcron — это клиент RCON, написанный на языке C.

Мы загрузим исходный код с GitHub и соберем двоичный файл mcrcon .

Начните с перехода в каталог ~/tools и клонируйте репозиторий Tiiffi/mcrcon из GitHub с помощью следующей команды:

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

После завершения клонирования перейдите в каталог репозитория:

 cd ~/tools/mcrcon

Запустите компиляцию утилиты mcrcon , введя:

 gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c

После завершения вы можете протестировать его, введя:

 ./mcrcon -h

Вывод будет выглядеть примерно так:

 Usage: mcrcon [OPTIONS]... [COMMANDS]... Sends rcon commands to Minecraft server. Option: -h Print usage -H Server address -P Port (default is 25575) -p Rcon password -t Interactive terminal mode -s Silent mode (do not print received packets) -c Disable colors -r Output raw packets (debugging and custom handling) -v Output version information Server address, port and password can be set using following environment variables: MCRCON_HOST MCRCON_PORT MCRCON_PASS Command-line options will override environment variables. Rcon commands with arguments must be enclosed in quotes. Example: mcrcon -H my.minecraft.server -p password "say Server is restarting!" save-all stop mcrcon 0.6.1 (built: May 19 2019 23:39:16) Report bugs to tiiffi_at_gmail_dot_com or https://github.com/Tiiffi/mcrcon/issues/

Загрузка сервера Minecraft

Существует несколько модов для серверов Minecraft, таких как Craftbukkit и Spigot , которые позволяют добавлять функции (плагины) на ваш сервер и дополнительно настраивать его параметры. В этом руководстве мы установим последнюю официальную версию Minecraft от Mojang.

Последняя версия файла архива Java сервера Minecraft (JAR) доступна для загрузки на странице загрузки Minecraft .

На момент написания статьи последняя версия — 1.14.1 . Прежде чем перейти к следующему шагу, проверьте страницу загрузки на наличие новой версии.

Выполните следующую команду wget , чтобы загрузить jar-файл Minecraft в каталог ~/server :

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

Настройка сервера Minecraft

После завершения загрузки перейдите в каталог ~/server и запустите сервер Minecraft:

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

При первом запуске сервера он выполняет некоторые операции и создает файлы server.properties и eula.txt , а затем останавливается.

 [23:41:44] [main/ERROR]: Failed to load properties from file: server.properties [23:41:45] [main/WARN]: Failed to load eula.txt [23:41:45] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

Как видно из вышеприведённого вывода, для запуска сервера необходимо принять условия лицензионного соглашения Minecraft. Откройте файл eula.txt и измените eula=false на eula=true :

 nano ~/server/eula.txt

~/server/eula.txt

 #By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula). #Sun May 19 23:41:45 PDT 2019 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.

Вернитесь к пользователю 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 -Xms512M -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 Sun 2019-05-19 23:49:18 PDT; 9min ago Main PID: 11262 (java) Tasks: 19 (limit: 2319) CGroup: /system.slice/minecraft.service `-11262 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui

Наконец, включите автоматический запуск службы Minecraft при загрузке:

 sudo systemctl enable minecraft

Настройка брандмауэра

Если ваш сервер защищен брандмауэром и вы хотите получить доступ к серверу Minecraft из-за пределов вашей локальной сети, вам необходимо открыть порт 25565 .

Чтобы разрешить трафик на порту 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 :

 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 18.04 и настроили ежедневное резервное копирование.

Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.

java minecraft ubuntu Не используете Ubuntu 18.04?
Выберите другую ОС:
центос 7 дебиан 9 убунту 20.04

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

Источник

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

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