{"id":328,"date":"2020-12-12T09:00:00","date_gmt":"2020-12-12T08:00:00","guid":{"rendered":"https:\/\/jet0jlh.de\/?p=328"},"modified":"2020-12-12T09:05:10","modified_gmt":"2020-12-12T08:05:10","slug":"vanilla-minecraft-server-auf-dem-raspberry-pi-mit-mehr-als-2gb-ram","status":"publish","type":"post","link":"https:\/\/jet0jlh.de\/?p=328","title":{"rendered":"Vanilla Minecraft Server auf dem Raspberry Pi mit mehr als 2GB RAM"},"content":{"rendered":"\n<p>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\u00fcr Minecraft bzw. Java verwenden kann. Um mehr zuweisen zu k\u00f6nnen, ben\u00f6tigt man ein 64-Bit System. Rein vom Prozessor muss es daher mindestens ein Raspberry Pi 3B+ sein. Da dieser allerdings nur \u00fcber 1 GB RAM verf\u00fcgt, empfielt es sich f\u00fcr einen Minecraft Server Pi mindestens einen Raspberry Pi 4 mit 2 GB RAM oder mehr zu verwenden.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Raspberry Pi als Vanilla Minecraft Server mit mehr als 2GB RAM\" width=\"625\" height=\"352\" src=\"https:\/\/www.youtube.com\/embed\/GwQQjj4UNtk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>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\u00fcgung steht.<\/p>\n\n\n\n<p>Nun muss der Pi noch etwas vorbereitet werden. Da sich auf dem System kein raspi-config Skript befindet, m\u00fcssen wir kleine Umwege gehen um die Zeitzone und den Hostnamen setzen zu k\u00f6nnen. Dies machen wir mit folgendem Befehlen:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo -s\ntimedatectl set-timezone Europe\/Berlin\nhostnamectl set-hostname minecraft-pi\nreboot<\/pre>\n\n\n\n<p>Die Anpassungen sind nun nach dem Neustart g\u00fcltig.<br>Nun sollte Ubuntu noch auf den aktuellen Stand gebracht werden:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo -s\napt update\napt upgrade<\/pre>\n\n\n\n<p>F\u00fcr den Minecraft Server ben\u00f6tigen wir Java (jdk). Hierzu installieren wir die aktuellste Version. Zum jetzigen Zeitpunkt lautet der Befehl daher:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apt install openjdk-14-jdk-headless\njava -version<\/pre>\n\n\n\n<p>Wird zum Schluss eine Versionsnummer angezeigt, ist Java erfolgreich installiert und einsatzbereit.<br>Nun brauchen wir noch den Server selbst. Hierzu erzeugen wir einen Ordner f\u00fcr unseren Server, springen in diesen und laden die aktuelle Serverdatei von<a rel=\"noreferrer noopener\" href=\"https:\/\/www.minecraft.net\/de-de\/download\/server\" target=\"_blank\"> Minecraft.net<\/a> herunter:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir \/home\/ubuntu\/minecraft\ncd \/home\/ubuntu\/minecraft\nwget https:\/\/launcher.mojang.com\/v1\/objects\/35139deedbd5182953cf1caa23835da59ca3d7cd\/server.jar<\/pre>\n\n\n\n<p>Um den Server starten zu k\u00f6nnen, wird folgender Befehl verwendet. In meinem Fall m\u00f6chte ich 3 GB RAM von meinem 4 GB Raspberry verwenden. (Niemals den kompletten RAM des Pi zuweisen. Das Betriebssystem braucht auch etwas)<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">java -Xmx3G -Xms3G -jar server.jar nogui<\/pre>\n\n\n\n<p>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\u00fcssen wir nun mit einem Texteditor \u00fcberarbeiten <code data-enlighter-language=\"shell\" class=\"EnlighterJSRAW\">nano eula.txt<\/code> und den Wert <code>false<\/code> auf <code>true<\/code> \u00e4ndern.<\/p>\n\n\n\n<p>Wenn wir den Server erneut starten, dann sollte er nun die Welt generieren und nach ein paar Minuten uns die M\u00f6glichkeit geben beizutreten. (Den Server h\u00e4llt man druch Eingabe des Befehls <code>stop<\/code> wieder an)<\/p>\n\n\n\n<p>Nun m\u00fcssen wir noch daf\u00fcr sorgen, dass der Server zuk\u00fcnftig automatisch startet und in einem virtuellen Terminal l\u00e4uft (Um sp\u00e4ter auch immer wieder an das Server Terminal zu kommen und eingaben machen zu k\u00f6nnen). Hierzu legen wir ein neues Skript mit <code data-enlighter-language=\"shell\" class=\"EnlighterJSRAW\">nano \/home\/ubuntu\/minecraft\/screen-create.sh<\/code> an und f\u00fcgen folgenen Inhhalt ein (ggf. den RAM wieder wie gew\u00fcnscht anpassen):<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#!\/bin\/bash\nsu - root -c \"screen -m -d minecraft\"\nsleep 5\nscreen -S minecraft -X stuff 'cd \/home\/ubuntu\/minecraft\\n'\nscreen -S minecraft -X stuff 'java -Xmx3G -Xms3G -jar server.jar nogui\\n'<\/pre>\n\n\n\n<p>Nun m\u00fcssen wir das neue Skript mit dem Befehl <code data-enlighter-language=\"shell\" class=\"EnlighterJSRAW\">chmod +x \/home\/ubuntu\/minecraft\/screen-create.sh<\/code> ausf\u00fchrbar machen.<br>Jetzt fehlt nur noch der Autostart. Diesen l\u00f6sen wir \u00fcber Crontab (Da \/etc\/rc.local heutzutage nicht mehr genutzt wird). Daher den Befehl <code data-enlighter-language=\"shell\" class=\"EnlighterJSRAW\">crontab -e <\/code>eingeben und dort in einer neuen Zeile folgendes eintragen:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@reboot \/home\/ubuntu\/minecraft\/screen-create.sh<\/pre>\n\n\n\n<p>Ab nun sollte der Minecraft Server bei jedem Start des Raspberrys automatisch mitgestartet werden.<\/p>\n\n\n\n<p>Um auf das virtuelle Terminal zugreifen zu k\u00f6nnen, gibt man den Befehl <code data-enlighter-language=\"shell\" class=\"EnlighterJSRAW\">screen -r minecraft<\/code> ein. Um den Screen wieder verlassen zu k\u00f6nnen Dr\u00fcckt man Strg + A und danach Strg + D.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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\u00fcr Minecraft bzw. Java verwenden kann. Um mehr zuweisen zu k\u00f6nnen, ben\u00f6tigt man ein 64-Bit System. Rein vom Prozessor muss&#8230; <a href=\"https:\/\/jet0jlh.de\/?p=328\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":329,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-328","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi"],"_links":{"self":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=328"}],"version-history":[{"count":8,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/328\/revisions"}],"predecessor-version":[{"id":338,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/posts\/328\/revisions\/338"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=\/wp\/v2\/media\/329"}],"wp:attachment":[{"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jet0jlh.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}