Поиск по сайту:
Нельзя перейти от неформального к формальному с помощью формальных средств. (Алан.Дж.Перлис)

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

29.12.2018

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

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

Установка Java довольно проста. Начните с обновления индекса пакета:

sudo apt update

 

Установите пакет headless OpenJRE 8, выполнив:

sudo apt install openjdk-8-jre-headless

 

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

java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-0ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

 

В целях безопасности Minecraft не должен запускаться под пользователем root. Мы создадим нового пользователя системы и группу с домашним каталогом, /opt/minecraft который будет запускать сервер Minecraft:

sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft

 

Мы не собираемся устанавливать пароль для этого пользователя. Это хорошая практика безопасности, потому что этот пользователь не сможет войти через SSH. Чтобы сменить пользователя minecraft, вам необходимо войти на сервер как пользователь root или пользователь с правами sudo.

 

Перед началом процесса установки обязательно переключитесь на пользователя minecraft.

sudo su - minecraft

 

Выполните следующую команду, чтобы создать три новых каталога в домашнем каталоге пользователя:

mkdir -p ~/{backups,tools,server}
  • В каталоге backups будет храниться резервная вашего сервера. Позже вы сможете синхронизировать этот каталог с вашим удаленным сервером резервного копирования.
  • В каталоге tools будут храниться клиент mcrcon и скрипт резервного копирования.
  • Каталог server будет содержать фактический сервер Minecraft и его данные.

 

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		Prints usage.
  -s		Silent mode. Do not print data received from rcon.
  -t		Terminal mode. Acts as interactive terminal.
  -p		Rcon password. Default: "".
  -H		Host address or ip.
  -P		Port. Default: 25575.
  -c		Do not print colors. Disables bukkit color printing.

Individual commands must be separated with spaces.

Example:
  mcrcon -c -H 192.168.1.42 -P 9999 -p password cmd1 "cmd2 with spaces"

minecraft rcon (mcrcon) 0.0.5.
Report bugs to tiiffi_at_gmail_dot_com.

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

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

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

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

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

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

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

 

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

[03:33:56] [main/INFO]: Loaded 0 recipes
[03:33:56] [main/INFO]: Loaded 0 advancements
[03:33:56] [Server thread/INFO]: Starting minecraft server version 1.13.2
[03:33:56] [Server thread/INFO]: Loading properties
[03:33:56] [Server thread/WARN]: server.properties does not exist
[03:33:56] [Server thread/INFO]: Generating new properties file
[03:33:56] [Server thread/WARN]: Failed to load eula.txt
[03:33:56] [Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
[03:33:56] [Server thread/INFO]: Stopping server
[03:33:56] [Server thread/INFO]: Saving worlds
[03:33:56] [Server Shutdown Thread/INFO]: Stopping server
[03:33:56] [Server Shutdown Thread/INFO]: Saving worlds

 

Как видно из приведенного выше вывода, нам нужно согласиться с лицензионным соглашением 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).
#Thu Dec 27 03:33:56 PST 2018
eula=true

 

Закройте и сохраните файл,

Далее нам нужно отредактировать файл server.properties, чтобы включить протокол rcon и установить пароль rcon. Вы можете использовать эти настройки для подключения к серверу Minecraft с помощью инструмента mcrcon.

nano ~/server/server.properties
~/server/server.properties
rcon.port=23888
rcon.password=strong-password
enable-rcon=true

 

Не забудьте поменять strong-password на что-то более безопасное. В качестве альтернативы вы можете указать другой порт.

Если вы не хотите подключаться к серверу Minecraft из удаленных мест, убедитесь, что порт rcon заблокирован вашим брандмауэром.

Здесь вы также можете настроить свойства сервера по умолчанию. Для получения дополнительной информации о возможных настройках посетите страницу server.properties.

 

Чтобы запустить 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 --noconsole
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 23888 -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 Thu 2018-12-27 04:52:51 PST; 3s ago
 Main PID: 15997 (java)
    Tasks: 552 (limit: 2319)
   CGroup: /system.slice/minecraft.service
           `-15997 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui --noconsole

 

Если ошибок нет, включите сервис 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 23888 -p strong-password "$1"
}

rcon "save-off"
rcon "save-all"
tar -cvpzf /opt/minecraft/backups/server-$(date +%F_%R).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 Console вы можете использовать утилиту mcrcon. Синтаксис следующий: вам нужно указать хост, порт rcon, пароль rcon и использовать переключатель -t, который включает режим терминала mcrcon:

/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 23888 -p strong-password -t
Logged in. Type "Q" to quit!
>

 

Чтобы получить доступ к Minecraft Console из удаленного места, убедитесь, что порт rcon не заблокирован.

Если вы регулярно подключаетесь к консоли Minecraft, вместо ввода этой длинной команды вы должны создать псевдоним bash.

 

Вы успешно установили сервер Minecraft в вашей системе Ubuntu 18.04 и настроили ежедневное резервное копирование.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Олег

Отличная статья! За systemd сервис отдельная благодарность. Ещё бы чуть подробнее mcrcon. Тут хотя бы я понял, зачем это нужно. Настроил себе всё по статье на VPS с CentOS – теперь могу менять параметры mincraft сервера с локального компа, а не подключаться каждый раз по ssh.

Олег

это как я понимаю опечатка

sudo ufw allow 8080/tcp

все таки наверно должно быть

sudo ufw allow 25565

Читайте также

Спасибо!

Теперь редакторы в курсе.