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

How to Install Minecraft Server on Ubuntu 18.04

14 Февраля 2021 | Ubuntu

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

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

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

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

Прежде чем приступить

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

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

sudo apt update sudo apt install git build-essential 


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

Minecraft требует Java 8 или выше. Поскольку серверу Minecraft не нужен графический пользовательский интерфейс, мы установим безголовую версию 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 (JAR) сервера Minecraft доступен для загрузки на странице загрузки Minecraft .

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

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

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


Настройка Сервера Майнкрафт

После завершения загрузки перейдите в ~/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 
~ / сервер / 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 


Найдите следующие строки и обновите их значения, как показано ниже:
 

~ / сервер / server.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 manager:
 

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 


Настройка резервного копирования

В этом разделе мы создадим сценарий оболочки резервного копирования и задание cron для автоматического резервного копирования сервера 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 и настроили ежедневное резервное копирование.


    Комментарии

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

Загрузка комментариев...