====== Minecraft-Server aufsetzen ====== [[https://www.fosslinux.com/41613/how-to-install-minecraft-server-on-linux.htm|Quelle]] ===== Service-Benutzer ===== Benutzer erstellen sudo adduser minecraft Passwort und Name angeben, die restlichen Werte sind egal. Passwort notieren. ===== Arbeitsordner erstellen und Home wechseln ===== Ordner in /var erzeugen cd /var mkdir minecraft chown minecraft:minecraft minecraft usermod --home /var/minecraft minecraft [[https://stackoverflow.com/questions/20797819/command-to-change-the-default-home-directory-of-a-user#:~:text=Change%20the%20user%27s%20home%20directory%3A%20usermod%20-d%20%2Fnewhome%2Fusername,for%20--home%29%20will%20change%20the%20user%27s%20home%20directory.|Quelle]] ===== Buildtools herunterladen und ausführen ===== Die Buildtools von [[https://www.spigotmc.org/wiki/buildtools/#latest|dieser Seite]] herunterladen. Die Datei Buildtools.jar in den Ordner /var/minecraft/Build kopieren und dort mit dem Benutzer minecraft gemäß Anleitung ausführen. ===== Erforderliche Software installieren ===== sudo apt-get install openjdk-8-jre-headless sudo apt-get install screen Firewall-Port freischalten sudo ufw allow 25565 Die Datei /var/minecraft/Build/spigot-1.xx.y.jar in /var/minecraft verschieben und einen symbolischen Link erzeugen: ln -s /var/minecraft/spigot-1.xx.y.jar /var/minecraft/server.jar Den Minecraft-Server das erste Mal starten: java -Xms1G -Xmx4G -jar server.jar noguid Die erste Ausführung wird mit einem Fehler abbrechen. Anschließend gibt es im Arbeitsverzeichnis eine eula.txt. Dort muss der Wert false auf true geändert werden. Es müsste auch eine server.properties angelegt worden sein, die ebenfalls vor dem ersten Start zu bearbeiten ist. Jetzt den Server noch einmal starten java -Xms1G -Xmx4G -jar server.jar noguid und anschließend wird die Spielwelt erzeugt. Mit dem Befehl ''stop'' wird die Sitzung beendet. ===== Stop-Script erstellen ===== Damit der Dienst später auch sauber gestoppt werden kann, muss ein Stop-Script erstellt werden. Der Minecraft-Dienst im Hintergrund sollte idealerweise nicht hart beendet werden. Stattdessen ist es sinnvoller, dem Server per Konsole einen Stop-Befehl zu übermitteln. Damit die Konsole Meldungen entgegen nimmt, muss sie in der server.properties aktiviert werden: enable-rcon=true rcon.password=MyPassword! Ohne Passwort wird die Remote-Konsole beim Start aus Sicherheitsgründen deaktiviert. Das Tool mcrcon kann eine Verbindung zum Server aufnehmen und ein Kommando abschicken: {{ :spiele:sonstige_titel:mcrcon.7z |}} {{ :spiele:sonstige_titel:mcrcon-0.7.1-windows.zip |}}, {{ :spiele:sonstige_titel:mcrcon-0.7.1.tar.gz |Quellcode}}, [[https://github.com/Tiiffi/mcrcon/releases|Quelle]] Die Datei entpackt in das Verzeichnis ''/var/minecraft/'' verschieben und ggf. ausführbar machen. Anschließend eine Scriptdatei in /var/minecraft erzeugen (z.B. ''stop.sh'') mit folgendem Inhalt #!/bin/bash /var/minecraft/mcrcon -c -H 127.0.0.1 -p MyPassword! stop ===== systemd-Dienst erstellen ===== Damit der Minecraft-Server beim als Dienst gestartet werden kann, muss als nächstes eine Dienst-Datei erstellt werden. Eine neue Datei anlegen sudo nano /etc/systemd/system/minecraft.service und folgenden Text reinkopieren: [Unit] Description=Run service as user deepak DefaultDependencies=no After=network.target [Service] WorkingDirectory=/var/minecraft Type=simple User=minecraft Group=minecraft ExecStart=/usr/bin/java -Xms1G -Xmx4G -jar /var/minecraft/server.jar noguid ExecStop=/var/minecraft/stop.sh TimeoutStartSec=0 RemainAfterExit=yes [Install] WantedBy=default.target systemd aktualisieren: sudo systemd daemon-reload minecraft-Dienst starten: sudo systemctl start minecraft und den Status überprüfen: sudo systemctl status minecraft Und den Dienst stoppen: sudo systemctl stop minecraft Sofern alles geklappt hat, kann der Dienst standardmäßig aktiviert werden sudo systemctl enable minecraft [[https://www.golinuxcloud.com/run-systemd-service-specific-user-group-linux/|Quelle]] {{tag>[Minecraft Spiele Spiel SpigotMC Java systemd bash Home]}}