Как установить сервер Minecraft на CentOS 7

Установить сервер Minecraft на CentOS 7

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

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

Предпосылки

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

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

 sudo yum install git sudo yum group install "Development Tools"

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

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

Установка Java довольно проста, просто запустите:

 sudo yum install java-1.8.0-openjdk-headless

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

 java -version
 openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Создание пользователя Minecraft

Запуск служб Minecraft под учетной записью root не рекомендуется по соображениям безопасности.

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

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

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

Установка Minecraft на CentOS

Перед началом процесса установки убедитесь, что вы переключились на пользователя 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 :

 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 , а затем останавливается.

 [14:33:44] [main/ERROR]: Failed to load properties from file: server.properties [14:33:45] [main/WARN]: Failed to load eula.txt [14:33: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: disabled) Active: active (running) since Sun 2019-05-19 23:49:18 PDT; 9min ago Main PID: 17356 (java) CGroup: /system.slice/minecraft.service └─17356 /usr/bin/java -Xmx1024M -Xms512M -jar server.jar nogui --noconsole

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

 sudo systemctl enable minecraft

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

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

 sudo firewall-cmd --permanent --zone=public --add-port=25565/tcp sudo firewall-cmd --reload

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

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

Откройте файл crontab и создайте задание cronjob , которое будет запускаться автоматически один раз в день в фиксированное время:

 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, вместо ввода этой длинной команды следует создать псевдоним bash .

Заключение

Вы успешно установили сервер Minecraft на свою систему CentOS 7 и настроили ежедневное резервное копирование.

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

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

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

Источник

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

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