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

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

30 Декабря 2019 | CentOS

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

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

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

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

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

sudo yum install gitsudo yum group install "Development Tools"


Установка Java Runtime Environment 

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, таких как 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


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

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


cd ~/serverjava -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


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


~ / Server / server.properties
rcon.port=25575
rcon.password=strong-password
enable-rcon=true

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

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


Создание файла Systemd Unit 

Чтобы запустить 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/tcpsudo 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_%R).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 Console вы можете использовать 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 и настроили ежедневное резервное копирование.


    Комментарии

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

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