- Как сделать сервер Minecraft на Ubuntu 20.04
- Подготовка
- Установка среды выполнения Java
- Создание пользователя Minecraft
- Установка Minecraft на Ubuntu
- Скачивание и компиляция mcrcon
- Скачивание сервера Minecraft
- Настройка Сервера Майнкрафт
- Создание файла модуля Systemd
- Настройка брандмауэра
- Настройка резервного копирования
- Доступ к консоли Minecraft
- Выводы
Как сделать сервер Minecraft на Ubuntu 20.04
Minecraft — одна из самых популярных игр всех времен. Это видеоигра-песочница, в которой игроки исследуют бесконечные миры и строят различные конструкции, от простых домов до высоких небоскребов.
В этом руководстве объясняется, как создать сервер Minecraft на Ubuntu 20.04. Мы будем использовать Systemd для запуска сервера Minecraft и утилиту mcrcon для подключения к запущенному экземпляру. Мы также покажем вам, как создать задание cron, которое выполняет регулярное резервное копирование сервера.
Подготовка
Согласно официальному сайту 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 :
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
По соображениям безопасности Minecraft не следует запускать от имени пользователя root. Мы создадим нового системного пользователя и группу с домашним каталогом /opt/minecraft . У пользователя будут минимально необходимые разрешения для запуска сервера Minecraft:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Мы не будем устанавливать пароль для этого пользователя. Таким образом, пользователь не сможет войти через SSH и его нельзя будет скомпрометировать. Чтобы перейти на пользователя minecraft , вам необходимо войти на сервер как пользователь root или пользователь с привилегиями sudo .
Установка Minecraft на Ubuntu
Перед тем как начать процесс установки, переключитесь на пользователя minecraft :
Выполните следующую команду, чтобы создать три новых каталога внутри домашнего каталога пользователя:
- В каталоге backups будут храниться резервные копии вашего сервера Minecraft. Вы можете синхронизировать этот каталог с вашим удаленным сервером резервного копирования.
- Каталог tools будет содержать клиент mcrcon и скрипт резервного копирования.
- Каталог server будет содержать фактический сервер Minecraft и его данные.
Скачивание и компиляция mcrcon
RCON — это протокол, который позволяет подключаться к серверам Minecraft и выполнять команды. mcron — это клиент RCON, написанный на C.
Мы mcrcon исходный код с GitHub и mcrcon двоичный файл mcrcon .
Tiiffi/mcrcon репозиторий Tiiffi/mcrcon с GitHub в каталог ~/tools/mcron :
git clone https://github.com/Tiiffi/mcrcon.git ~/tools/mcrcon
По завершении mcron каталог mcron и mcron утилиту:
cd ~/tools/mcrcon
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
После завершения убедитесь, что mcrcon успешно скомпилирован, распечатав его версию:
Результат будет выглядеть примерно так:
mcrcon 0.7.1 (built: Jun 23 2020 15:49:44) - https://github.com/Tiiffi/mcrcon Bug reports: tiiffi+mcrcon at gmail https://github.com/Tiiffi/mcrcon/issues/
Скачивание сервера Minecraft
Существует несколько модов сервера Minecraft, таких как Craftbukkit или Spigot, которые позволяют добавлять функции (плагины) на ваш сервер и дополнительно настраивать и настраивать параметры сервера.
В этом руководстве мы установим последний официальный ванильный сервер Minecraft от Mojang. Те же инструкции применимы и для установки других серверных модов.
Перейдите на страницу загрузки Minecraft, чтобы получить ссылку для загрузки последней версии файла архива Java (JAR) сервера Minecraft. На момент написания последняя версия — 1.16 .
Загрузите файл jar в каталог ~/server с помощью wget :
wget https://launcher.mojang.com/v1/objects/a0d03225615ba897619220e256a266cb33a44b6b/server.jar -P ~/server
Настройка Сервера Майнкрафт
После завершения загрузки переключитесь в каталог ~/server и запустите сервер Minecraft:
cd ~/server
java -Xmx1024M -Xms1024M -jar server.jar nogui
При первом запуске сервер выполняет некоторые операции, создает файлы server.properties и eula.txt и останавливается.
[17:35:14] [main/ERROR]: Failed to load properties from file: server.properties [17:35:15] [main/WARN]: Failed to load eula.txt [17:35:15] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Чтобы запустить сервер, вам необходимо согласиться с лицензионным соглашением Minecraft EULA, как указано в выходных данных выше. Откройте файл eula.txt и замените eula=false на eula=true :
Закройте и сохраните файл.
Затем откройте файл server.properties включите протокол rcon и установите пароль rcon:
nano ~/server/server.properties
Найдите следующие строки и обновите их значения, как показано ниже:
rcon.port=25575 rcon.password=strong-password enable-rcon=true
Не забудьте сменить надежный strong-password на более безопасный. Если вы не хотите подключаться к серверу Minecraft из удаленных мест, убедитесь, что порт rcon заблокирован вашим брандмауэром.
Здесь вы также можете настроить свойства сервера по умолчанию. Для получения дополнительной информации о настройках сервера посетите страницу server.properties .
Создание файла модуля Systemd
Вместо того, чтобы вручную запускать сервер Minecraft, мы создадим файл модуля Systemd и запустим Minecraft как службу.
Вернитесь к своему пользователю sudo, набрав 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 strong-password stop [Install] WantedBy=multi-user.target
Измените флаги Xmx и Xms соответствии с ресурсами вашего сервера. Флаг Xmx определяет максимальный пул распределения памяти для виртуальной машины Java (JVM), а Xms определяет начальный пул распределения памяти. Также убедитесь, что вы используете правильный порт rcon и пароль.
Сохраните файл и перезагрузите конфигурацию systemd manager:
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 Tue 2020-06-23 17:48:44 UTC; 8s ago Main PID: 1338035 (java) Tasks: 15 (limit: 1074) Memory: 465.3M CGroup: /system.slice/minecraft.service └─1338035 /usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
Наконец, включите автоматический запуск службы Minecraft во время загрузки:
sudo systemctl enable minecraft
Настройка брандмауэра
Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW. Если в вашей системе включен брандмауэр , и вы хотите получить доступ к серверу Minecraft извне вашей локальной сети, вам необходимо открыть порт 25565 :
Настройка резервного копирования
В этом разделе мы создадим сценарий оболочки резервного копирования и задание cron для автоматического резервного копирования сервера 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
chmod +x /opt/minecraft/tools/backup.sh
Затем создайте задание cron, которое будет запускаться автоматически один раз в день в определенное время.
Откройте файл crontab, набрав:
Чтобы запускать сценарий резервного копирования каждый день в 23:00, вставьте следующую строку:
0 23 * * * /opt/minecraft/tools/backup.sh
Доступ к консоли Minecraft
Для доступа к консоли Minecraft используйте утилиту mcrcon . Вам необходимо указать хост, порт rcon, пароль rcon и использовать переключатель -t который включает mcrcon терминала mcrcon :
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
При доступе к консоли Minecraft из удаленного места убедитесь, что порт rcon не заблокирован.
Если вы регулярно подключаетесь к консоли Minecraft, вместо того, чтобы вводить эту длинную команду, вы создаете псевдоним bash .
Выводы
Мы показали вам, как создать сервер Minecraft на Ubuntu 20.04 и настроить ежедневное резервное копирование.
Теперь вы можете запустить свой клиент Minecraft , подключиться к серверу и начать свое приключение в Minecraft.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.