
Minecraft — одна из самых популярных игр всех времён. Это видеоигра-песочница, позволяющая игрокам исследовать бесконечные миры и строить всё: от простых домов до огромных небоскрёбов.
В этом руководстве описывается установка и настройка сервера Minecraft в Ubuntu 18.04. Мы будем использовать Systemd для запуска сервера Minecraft и утилиту mcrcon для подключения к работающему экземпляру. Мы также покажем, как создать cron-задание для регулярного резервного копирования сервера.
Те же инструкции применимы для Ubuntu 16.04 и любого дистрибутива на базе Ubuntu, включая Linux Mint и Elementary OS.
Предпосылки
Пользователь, под именем которого вы вошли в систему, должен иметь привилегии sudo , чтобы иметь возможность устанавливать пакеты.
Установите пакеты, необходимые для сборки инструмента mcrcon :
sudo apt updatesudo 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 ~/serverjava -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
Связанные руководства