Поиск по сайту:
Слово есть поступок (Л. Толстой).

Как установить Minecraft Server на Raspberry Pi

21.09.2019
Как установить Minecraft Server на Raspberry Pi

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
  1. Перейдите к «Advanced Options» с помощью клавиши вверх или вниз и нажмите Enter.
  2. Выберите «GL Driver» и нажмите Enter.
  3. Выберите «GL (Fake KMS)», нажмите Enter.
  4. Выберите кнопку «Finish», нажмите Enter. Когда появится запрос «Would you like to reboot now?», Выберите «Yes» и нажмите Enter.

Как только Pi вернется в сеть, перейдите к следующим шагам.

 

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.

 

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

sudo su - minecraft

 

Создайте две директории внутри домашней директории пользователя:

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

 

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

После завершения загрузки перейдите в каталог ~/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.

 

Чтобы запустить 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 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 может работать некорректно в системах с ограниченными ресурсами.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

14 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Игоревич

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

Никказ

после команды sudo nano /etc/systemd/system/minecraft.service стал требовать какой то [sudo] пароль для minecraft , а я его не знаю и даже не вводил

Никказ

после команды sudo nano /etc/systemd/system/minecraft.service консоль требует какой то пароль minecraft, который я не знаю, и вроде даже не вводил, из за этого я не могу запустить сервер (
может кто то знает?

Eyndjl

Это пароль суперпользователя, по стандарту паполь – raspberry

Lev

Не получается подключиться к серверу по локальной сети, в консоли Малина пишет Rcon connection from: *ip адрес компьютера*, но сам компьютер пишет что не удалось подключиться к серверу
Также не понял выходит ли такой сервер в онлайн для игры по сети и если да, то как

grishafv

Получилось решить проблему?

Никита

после команды cd ~/serverjava -Xms512M -Xmx768M -jar server.jar пишет что слишком много аргументов

dmk

нагрузка 99% на все 4 ядра, даже без игроков на сервере. два вопроса:
автор вообще сам пользовался тем что написал?
как долго малина проработает под такой нагрузкой перед тем как сгорит?

Krol

“Xms определяет начальный пул распределения памяти”- может я не понимаю но зачем вообще эта функция? Её можно указать в 0 мб?

Krol

Это есть немного только при запуске сервера но точно не 99%, во время игры у меня малинка нагружаеться не больше 20%-30% (когда я активно бегаю и ставлю блоки), а вобщем у меня 5% нагрузки (я бы вставил скрин htop но нельзя).

Читайте также

Спасибо!

Теперь редакторы в курсе.