Raspberry Pi можно использовать в самых разных проектах. Одним из самых популярных вариантов использования Raspberry Pi является превращение Raspberry Pi в игровой сервер.
В этой статье мы познакомим вас с процессом установки и настройки сервера Minecraft на Raspberry Pi 3 или 4.
Minecraft – одна из самых популярных игр всех времен. Это видеоигра с песочницей, которая позволяет игрокам исследовать бесконечные миры и строить все, от простых домов до массивных небоскребов.
Предпосылки
Мы предполагаем, что на вашем Raspberry Pi установлен Raspbian. Plex Media Server не нужен графический интерфейс, поэтому мы рекомендуем использовать образ Raspbian Stretch Lite и включить SSH. Таким образом, ваш Raspberry Pi будет иметь гораздо больше доступной вычислительной мощности и памяти для запуска медиа-сервера Plex.
Мы будем использовать утилиту mcrcon для подключения к серверу Minecraft. Установите пакеты, необходимые для сборки инструмента mcrcon:
sudo apt update sudo apt install git build-essential
Включите драйвер GL с помощью инструмента raspi-config:
raspi-config
- Перейдите к «Advanced Options» с помощью клавиши вверх или вниз и нажмите Enter.
- Выберите «GL Driver» и нажмите Enter.
- Выберите «GL (Fake KMS)», нажмите Enter.
- Выберите кнопку «Finish», нажмите Enter. Когда появится запрос «Would you like to reboot now?», Выберите «Yes» и нажмите Enter.
Как только Pi вернется в сеть, перейдите к следующим шагам.
Установка Java Runtime Environment
Minecraft требует Java 8 или выше для установки в системе.
Мы установим безголовую версию 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-b01-1+rpi1-b01) OpenJDK Client VM (build 25.212-b01, mixed mode)
Создание пользователя Minecraft
В целях безопасности Minecraft не должен запускаться под пользователем root. Мы создадим нового пользователя системы и группу с домашним каталогом /opt/minecraft, который запустит сервер Minecraft:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Мы не собираемся устанавливать пароль для этого пользователя. Это хорошая практика безопасности, потому что пользователь не сможет войти через SSH.
Установка Minecraft на Ubuntu
Перед началом процесса установки убедитесь, что вы переключаетесь на пользователя «minecraft»:
sudo su - minecraft
Создайте две директории внутри домашней директории пользователя:
mkdir -p ~/{tools,server}
- В каталоге 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
Начните компиляцию, набрав:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
После завершения вы можете проверить это, набрав:
./mcrcon -h
Вывод будет выглядеть примерно так:
Usage: mcrcon [OPTIONS]... [COMMANDS]... Sends rcon commands to Minecraft server. ... mcrcon 0.6.1 (built: Sep 19 2019 20:52:13) Report bugs to tiiffi_at_gmail_dot_com or https://github.com/Tiiffi/mcrcon/issues/
Загрузка Сервера Майнкрафт
Существует несколько серверных модов Minecraft, таких как Craftbukkit или Spigot, которые позволяют добавлять функции (плагины) на ваш сервер и дополнительно настраивать и настраивать параметры. Мы установим последний официальный сервер Minecraft от Mojang.
Зайдем на страницу загрузки Minecraft , чтобы получить ссылку на загрузку из Java файла архива самые последние Minecraft сервера (JAR).
На момент написания, последняя версия 1.14.4. Перед выполнением следующей команды вы должны проверить страницу загрузки на наличие новой версии.
Выполните следующую команду wget, чтобы загрузить файл jar Minecraft в каталоге ~/server:
wget https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar -P ~/server
Настройка сервера Minecraft
После завершения загрузки перейдите в каталог ~/server и запустите сервер Minecraft:
cd ~/server java -Xms512M -Xmx768M -jar server.jar nogui
При запуске в первый раз, сервер выполняет некоторые операции и создает файлы server.properties и eula.txt.
[21:06:23] [main/ERROR]: Failed to load properties from file: server.properties [21:06:24] [main/WARN]: Failed to load eula.txt [21:06:24] [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). #Thu Sep 19 21:06:24 BST 2019 eula=true
Закройте и сохраните файл.
Затем отредактируйте файл server.properties, чтобы включить протокол rcon, и установите пароль rcon. Откройте файл с помощью вашего текстового редактора:
nano ~/server/server.properties
Найдите следующие строки и обновите их значения, как показано ниже:
~ / сервер / 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 -Xmx768M -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 в соответствии с вашей версией Raspberry Pi и ресурсами. Флаг Xmx определяет максимальный пул выделения памяти для виртуальной машины Java (JVM), в то время как Xms определяет начальный пул распределения памяти. Также убедитесь, что вы используете правильный rcon порт и пароль.
Сохраните и закройте файл и перезагрузите конфигурацию systemd:
sudo systemctl daemon-reload
Запустите сервер Minecraft, выполнив:
sudo systemctl start minecraft
Проверьте статус службы с помощью следующей команды:
sudo systemctl status minecraft
● minecraft.service - Minecraft Server Loaded: loaded (/etc/systemd/system/minecraft.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-09-20 14:32:12 BST; 2min 33s ago Main PID: 1342 (java) Tasks: 17 (limit: 1604) Memory: 338.9M CGroup: /system.slice/minecraft.service └─1342 /usr/bin/java -Xmx768M -Xms512M -jar server.jar nogui
При первом запуске сервиса он сгенерирует несколько файлов конфигурации и каталогов, включая мир Minecraft. Используйте команду tail для мониторинга файла журнала сервера:
tail -f /opt/minecraft/server/logs/latest.log
После запуска сервера Minecraft вывод будет выглядеть примерно так:
[14:34:22] [Server-Worker-3/INFO]: Preparing spawn area: 98% [14:34:22] [Server thread/INFO]: Time elapsed: 201586 ms [14:34:22] [Server thread/INFO]: Done (418.339s)! For help, type "help" [14:34:22] [Server thread/INFO]: Starting remote control listener [14:34:22] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575
Включите сервис Minecraft для автоматического запуска во время загрузки:
sudo systemctl enable minecraft
Доступ к консоли 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 из удаленного местоположения убедитесь, что порт rcon не заблокирован.
Если вы регулярно подключаетесь к консоли Minecraft, вместо того, чтобы вводить эту длинную команду, вы должны создать псевдоним bash.
Заключение
Вы успешно установили сервер Minecraft на Raspberry Pi. Обратите внимание, что Minecraft может работать некорректно в системах с ограниченными ресурсами.
Если вы столкнулись с проблемой или у вас есть отзыв, оставьте комментарий ниже.