Vanilla Minecraft Server auf dem Raspberry Pi mit mehr als 2GB RAM

Es gab schon einmal ein Video und Beitrag zu dem Thema. Allerdings stellte sich nun mittlerweile herraus, dass der Raspberry mit einem 32-Bit Betriebssystem nicht mehr als 2 GB RAM für Minecraft bzw. Java verwenden kann. Um mehr zuweisen zu können, benötigt man ein 64-Bit System. Rein vom Prozessor muss es daher mindestens ein Raspberry Pi 3B+ sein. Da dieser allerdings nur über 1 GB RAM verfügt, empfielt es sich für einen Minecraft Server Pi mindestens einen Raspberry Pi 4 mit 2 GB RAM oder mehr zu verwenden.

Als Bestriebssystem verwende ich in dieser Anleitung Ubuntu Server 20.04 LTS 64-Bit. Sobald das System auf eine SD-Karte geflasht wurde, kann der Raspberry gestartet werden. SSH ist automatisch aktiv, brauch aber ca. 2 Minuten bis dieses nach dem ersten Start richtig zur Verfügung steht.

Nun muss der Pi noch etwas vorbereitet werden. Da sich auf dem System kein raspi-config Skript befindet, müssen wir kleine Umwege gehen um die Zeitzone und den Hostnamen setzen zu können. Dies machen wir mit folgendem Befehlen:

sudo -s
timedatectl set-timezone Europe/Berlin
hostnamectl set-hostname minecraft-pi
reboot

Die Anpassungen sind nun nach dem Neustart gültig.
Nun sollte Ubuntu noch auf den aktuellen Stand gebracht werden:

sudo -s
apt update
apt upgrade

Für den Minecraft Server benötigen wir Java (jdk). Hierzu installieren wir die aktuellste Version. Zum jetzigen Zeitpunkt lautet der Befehl daher:

apt install openjdk-14-jdk-headless
java -version

Wird zum Schluss eine Versionsnummer angezeigt, ist Java erfolgreich installiert und einsatzbereit.
Nun brauchen wir noch den Server selbst. Hierzu erzeugen wir einen Ordner für unseren Server, springen in diesen und laden die aktuelle Serverdatei von Minecraft.net herunter:

mkdir /home/ubuntu/minecraft
cd /home/ubuntu/minecraft
wget https://launcher.mojang.com/v1/objects/35139deedbd5182953cf1caa23835da59ca3d7cd/server.jar

Um den Server starten zu können, wird folgender Befehl verwendet. In meinem Fall möchte ich 3 GB RAM von meinem 4 GB Raspberry verwenden. (Niemals den kompletten RAM des Pi zuweisen. Das Betriebssystem braucht auch etwas)

java -Xmx3G -Xms3G -jar server.jar nogui

Der Server erzeugt nun die ersten Dateien. Nach kurzer Zeit meldet der Server, dass die eula.txt noch nicht azeptiert wurde und beendet sich. Diese müssen wir nun mit einem Texteditor überarbeiten nano eula.txt und den Wert false auf true ändern.

Wenn wir den Server erneut starten, dann sollte er nun die Welt generieren und nach ein paar Minuten uns die Möglichkeit geben beizutreten. (Den Server hällt man druch Eingabe des Befehls stop wieder an)

Nun müssen wir noch dafür sorgen, dass der Server zukünftig automatisch startet und in einem virtuellen Terminal läuft (Um später auch immer wieder an das Server Terminal zu kommen und eingaben machen zu können). Hierzu legen wir ein neues Skript mit nano /home/ubuntu/minecraft/screen-create.sh an und fügen folgenen Inhhalt ein (ggf. den RAM wieder wie gewünscht anpassen):

#!/bin/bash
su - root -c "screen -m -d minecraft"
sleep 5
screen -S minecraft -X stuff 'cd /home/ubuntu/minecraft\n'
screen -S minecraft -X stuff 'java -Xmx3G -Xms3G -jar server.jar nogui\n'

Nun müssen wir das neue Skript mit dem Befehl chmod +x /home/ubuntu/minecraft/screen-create.sh ausführbar machen.
Jetzt fehlt nur noch der Autostart. Diesen lösen wir über Crontab (Da /etc/rc.local heutzutage nicht mehr genutzt wird). Daher den Befehl crontab -e eingeben und dort in einer neuen Zeile folgendes eintragen:

@reboot /home/ubuntu/minecraft/screen-create.sh

Ab nun sollte der Minecraft Server bei jedem Start des Raspberrys automatisch mitgestartet werden.

Um auf das virtuelle Terminal zugreifen zu können, gibt man den Befehl screen -r minecraft ein. Um den Screen wieder verlassen zu können Drückt man Strg + A und danach Strg + D.

Schreibe einen Kommentar