Как создать сервер Minecraft в Ubuntu 20.04 LTS

12 set 2022 6 min di lettura
Как создать сервер Minecraft в Ubuntu 20.04 LTS
Indice dei contenuti

Введение

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

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

Если вы хотите установить Minecraft на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Предпосылки

Согласно официальному веб-сайту Minecraft, 4 ГБ ОЗУ рекомендуется в качестве минимальной конфигурации для типичной установки.

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

sudo apt update
sudo apt install git build-essential

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

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

Выполните следующую команду, чтобы установить безголовый пакет OpenJRE 11:

sudo apt install openjdk-11-jre-headless

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

java -version
openjdk version "11.0.7" 2020-04-14
 OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
 OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Создайте пользователя Майнкрафт

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

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

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

Установите Майнкрафт на Ubuntu

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

sudo su - minecraft

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

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

Скачиваем и компилируем mcrcon

RCON — это протокол, который позволяет вам подключаться к серверам Minecraft и выполнять команды. mcron — клиент RCON, написанный на C.

Мы загрузим исходный код с GitHub и создадим двоичный файл mcrcon.

Клонируем репозиторий Tiiffi/mcrcon с GitHub в ~/tools/mcron с помощью git:

git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon

Когда закончите, перейдите в каталог mcron с помощью команды cd и создайте утилиту:

cd ~/tools/mcrcon
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c

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

./mcrcon -v

Вывод будет выглядеть следующим образом:

mcrcon 0.7.1 (built: Jun 24 2020 17:16:11) - https://github.com/Tiiffi/mcrcon
 Bug reports:
 tiiffi+mcrcon at gmail
 https://github.com/Tiiffi/mcrcon/issues/

Сервер Майнкрафт Скачать

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

В этом руководстве мы установим последний официальный ванильный сервер Mojang для Minecraft. Те же инструкции применимы и для установки других серверных модов.

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

Загрузите файл jar в каталог ~/server с помощью wget:

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

Настроить сервер Minecraft

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

cd ~/server
java -Xmx1024M -Xms1024M -jar server.jar nogui

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

[17:17:07] [main/ERROR]: Failed to load properties from file: server.properties
 [17:17:07] [main/WARN]: Failed to load eula.txt
 [17:17:07] [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=true
~/сервер/eula.txt

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

Затем откройте файл server.properties, включите протокол rcon и установите пароль rcon:

nano ~/server/server.properties

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

rcon.port=25575
 rcon.password=tua-password
 enable-rcon=true
~/сервер/server.properties

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

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

Создайте файл диска Systemd

Вместо запуска сервера Minecraft вручную мы создадим файл модуля Systemd и запустим Minecraft как службу.

Вернитесь к своему пользователю sudo, набрав exit:

exit

Откройте текстовый редактор и создайте файл с именем minecraft.service в каталоге /etc/systemd/system/:

sudo nano /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 -Xms1024M -jar server.jar nogui
 ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p tua-password stop

 [Install]
 WantedBy=multi-user.target
/etc/systemd/система/minecraft.service

Измените флаги Xmx и Xms в соответствии с ресурсами сервера. Флаг Xmx определяет максимальный пул выделения памяти для виртуальной машины Java (JVM), а Xms определяет начальный пул выделения памяти. Кроме того, убедитесь, что вы используете правильный порт rcon и пароль.

Сохраните файл и перезагрузите конфигурацию системного менеджера:

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 Wed 2020-06-24 17:23:45 CEST; 3s ago
 Main PID: 11959 (java)
 Tasks: 12 (limit: 2286)
 Memory: 56.6M
 CGroup: /system.slice/minecraft.service
 └─11959 /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui

 Jun 24 17:23:45 TEST-SERVER-1 systemd[1]: Started Minecraft Server.

Наконец, включите службу Minecraft для автоматического запуска при запуске:

sudo systemctl enable minecraft

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

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

sudo ufw allow 25565/tcp

Настроить бэкап

В этом разделе мы создадим сценарий оболочки резервного копирования и cronjob для автоматического резервного копирования сервера Minecraft.

Переключитесь на пользователя minecraft с помощью команды su:

sudo su - minecraft

Откройте текстовый редактор и создайте следующий файл:

nano /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
/opt/майнкрафт/инструменты/backup.sh

Сохраните файл и сделайте скрипт исполняемым:

chmod +x /opt/minecraft/tools/backup.sh

Затем создайте задание cron, которое будет запускаться один раз в день автоматически в фиксированное время.

Откройте файл crontab, набрав:

crontab -e

Чтобы запускать сценарий резервного копирования каждый день в 23:00, вставьте следующую строку:

0 23 * * * /opt/minecraft/tools/backup.sh

Войдите в консоль Майнкрафт

Для доступа к консоли Minecraft используйте утилиту mcrcon. Вам нужно указать хост, порт rcon, пароль rcon и использовать параметр -t, который включает режим терминала mcrcon.

Проверьте статус сервера Minecraft:

sudo systemctl status minecraft

Убедитесь, что сервер готов:

Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Worker-Main-2/INFO]: Preparing spawn area: 99%
 Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Time elapsed: 103220 ms
 Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Done (126.416s)! For help, type "help"
 Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Starting remote control listener
 Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [Server thread/INFO]: Thread RCON Listener started
 Jun 24 17:26:16 TEST-SERVER-1 java[11959]: [17:26:16] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575

Затем подключитесь через утилиту mcrcon:

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

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

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

Вывод

В этом руководстве мы увидели, как создать сервер Minecraft на Ubuntu 20.04 LTS Focal Fossa и настроить ежедневное резервное копирование.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.