Введение
Raspberry Pi можно использовать во многих различных проектах. Одним из самых популярных вариантов использования Raspberry Pi является превращение Raspberry Pi в игровой сервер.
В этом руководстве мы познакомим вас с процессом установки и настройки сервера Minecraft на Raspberry Pi 3 или 4.
Minecraft — одна из самых популярных игр всех времен. Это видеоигра-песочница, которая позволяет игрокам исследовать бесконечные миры и строить все, от простых домов до больших небоскребов.
Предпосылки
Мы предполагаем, что Raspbian установлен на вашем Raspberry Pi. 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
- Перейдите к дополнительным параметрам с помощью клавиши вверх или вниз и нажмите
Enter
. - Выберите драйвер GL и нажмите
Enter
. - Выберите GL (fake KMS), нажмите
Enter
. - Выберите кнопку Готово, нажмите
Enter
. На вопрос Вы хотите перезагрузить сейчас? Выберите Да и нажмитеEnter
.
Как только Pi вернется в сеть, перейдите к следующим шагам.
Установите среду выполнения Java
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 под пользователем root. Создаем нового системного пользователя и группу с домашней директорией /opt/minecraft
, где будет работать сервер Minecraft:
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
Мы не будем устанавливать пароль для этого пользователя. Это хорошая практика безопасности, поскольку пользователь не сможет войти через SSH.
Установите Майнкрафт на Raspberry Pi
Прежде чем приступить к процессу установки, убедитесь, что вы переключились на пользователя minecraft:
sudo su - minecraft
Создайте два каталога внутри домашнего каталога пользователя:
mkdir -p ~/{tools,server}
- В каталоге
tools
будет храниться клиентmcrcon
и скрипт резервного копирования. server
каталогов будет содержать текущий сервер Minecraft и его данные.
Скачиваем и компилируем mcrcon
RCON — это протокол, который позволяет вам подключаться к серверам Minecraft и выполнять команды. mcrcon — клиент 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, которые позволяют добавлять функции (плагины) на ваш сервер, а также дополнительно настраивать и изменять настройки. Мы установим последний официальный сервер Mojang vanilla Minecraft.
Перейдите на страницу загрузки Minecraft, чтобы получить ссылку для загрузки последнего файла архива Java сервера Minecraft (JAR).
На момент написания последняя версия — 1.14.4
. Перед запуском следующей команды вам необходимо проверить страницу загрузки на наличие новой версии.
Запустите следующую команду wget
, чтобы загрузить jar-файл Minecraft в каталог ~/server
:
wget https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar -P ~/server
Настройка сервера Майнкрафт
После завершения загрузки перейдите в каталог ~/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
#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
Сохраните и закройте файл, нажав CTRL + X, затем Y, чтобы сохранить изменения, а затем ENTER, если вы используете nano.
Затем отредактируйте файл 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 Unit File.
Вернитесь к своему пользователю 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 -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-19 17:12:32 BST; 1min 11s ago
Main PID: 1992 (java)
Tasks: 17 (limit: 1604)
Memory: 338.9M
CGroup: /system.slice/minecraft.service
└─1992 /usr/bin/java -Xmx768M -Xms512M -jar server.jar nogui
При первом запуске сервиса будет сгенерировано несколько конфигурационных файлов и каталогов, включая мир Minecraft. Используйте команду tail
для мониторинга файла журнала сервера:
tail -f /opt/minecraft/server/logs/latest.log
После запуска сервера Minecraft вывод будет выглядеть так:
[21:19:25] [Server-Worker-3/INFO]: Preparing spawn area: 98%
[21:19:25] [Server thread/INFO]: Time elapsed: 201153 ms
[21:19:25] [Server thread/INFO]: Done (418.339s)! For help, type "help"
[21:19:25] [Server thread/INFO]: Starting remote control listener
[21:19:25] [RCON Listener #1/INFO]: RCON running on 0.0.0.0:25575
Включите службу Minecraft для автоматического запуска при запуске:
sudo systemctl enable 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 из удаленного места убедитесь, что порт rcon не заблокирован.
Вы можете создать псевдоним bash, чтобы не вводить эту команду каждый раз, когда вы хотите получить доступ к консоли Minecraft.
Вывод
Вы успешно установили сервер Minecraft на свой Raspberry Pi.