So installierst du Spigot Minecraft Server auf Ubuntu 20.04
Spigot ist eine modifizierte Minecraft-Server-Software, die auf CraftBukkit basiert. Sie bietet zusätzliche Leistungsoptimierungen, Konfigurationsoptionen und Funktionen, wobei die Kompatibilität mit allen bestehenden Plugins und Mods erhalten bleibt.
In diesem Tutorial lernst du, wie du Spigot Server auf einem Ubuntu 20.04 basierten Server erstellst und installierst und wie du Plugins installierst.
Voraussetzungen
- Ein Server mit Ubuntu 20.04 mit mindestens 4 GB RAM und 2 CPU-Kernen.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
- Alles ist auf dem neuesten Stand.
$ sudo apt update && sudo apt upgrade
- Installiere die benötigten Pakete.
$ sudo apt install wget apt-transport-https gnupg nano screen
Schritt 1 – Firewall konfigurieren
Der erste Schritt besteht darin, die Firewall zu konfigurieren. Ubuntu wird standardmäßig mit ufw (Uncomplicated Firewall) ausgeliefert.
Überprüfe, ob die Firewall läuft.
$ sudo ufw status
Du solltest die folgende Ausgabe erhalten.
Status: inactive
Erlaube den SSH-Port, um zu verhindern, dass die Firewall die aktuelle Verbindung unterbricht, wenn du sie aktivierst.
$ sudo ufw allow OpenSSH
Erlaube Port 25565 für den Spigot-Server, um Verbindungen zu akzeptieren.
$ sudo ufw allow 25565
Aktiviere die Firewall
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
Überprüfe den Status der Firewall erneut.
$ sudo ufw status
Du solltest eine ähnliche Ausgabe sehen.
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 25565 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 25565 (v6) ALLOW Anywhere (v6)
Schritt 2 – Java und Git installieren
Der Spigot-Installer braucht Java und Git, um zu funktionieren. Ubuntu 20.04 wird mit OpenJDK 17 als der neuesten verfügbaren Java-Version ausgeliefert. Führe den folgenden Befehl aus, um es zu installieren.
$ sudo apt install openjdk-17-jre-headless
Bestätige die Version.
$ java --version openjdk 17.0.1 2021-10-19 OpenJDK Runtime Environment (build 17.0.1+12-Ubuntu-120.04) OpenJDK 64-Bit Server VM (build 17.0.1+12-Ubuntu-120.04, mixed mode, sharing)
Installiere Git.
$ sudo apt install git
Schritt 3 – Erstelle einen Minecraft-Benutzer
Im nächsten Schritt erstellst du einen eigenen Benutzer für den Betrieb des Servers.
$ sudo adduser minecraft
Wechsle zu dem neu erstellten Benutzer.
$ sudo su - minecraft
Schritt 4 – Spigot herunterladen und installieren
Wir werden Spigot mithilfe der Anwendung BuildTools.jar bauen. Der erste Schritt besteht darin, in das Home-Verzeichnis zu wechseln.
minecraft:$ cd ~
Erstelle ein neues Verzeichnis für BuildTools und wechsle dorthin.
minecraft:$ mkdir buildtools && cd buildtools
Nimm die Datei BuildTools.jar
.
minecraft:$ wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
Baue die letzte stabile Version von Spigot.
minecraft:$ java -jar BuildTools.jar --rev latest
Je nach den verfügbaren Serverressourcen kann dieser Vorgang einige Zeit in Anspruch nehmen.
Überprüfe den Namen der erstellten Spigot jar-Datei.
minecraft:$ ls apache-maven-3.6.0 BuildData BuildTools.jar BuildTools.log.txt Bukkit CraftBukkit Spigot spigot-1.18.1.jar work
In unserem Fall lautet der Name.
Erstelle ein anderes Verzeichnis für deinen Spigot Server und wechsle dorthin.
minecraft:$ cd ~ && mkdir server && cd server
Verschiebe deine Spigot jar-Datei in das neu erstellte Serververzeichnis.
minecraft:$ mv ~/buildtools/spigot-1.18.1.jar ~/server/spigot.jar
Schritt 5 – Spigot Server starten
Um den Spigot Server zu starten, müssen wir ein Startskript erstellen, mit dem wir verschiedene Java-Parameter zur Optimierung des Servers übergeben können.
Erstelle und öffne das Startskript für Spigot.
minecraft:$ sudo nano spigotstart.sh
Füge den folgenden Code in die Datei ein.
#!/bin/sh java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar spigot.jar nogui
Der Parameter -Xms3G -Xmx3G
konfiguriert den Java-Heapspace für 4 GB RAM. Wir haben in unserem Fall 1 GB für das Betriebssystem und alle anderen Dinge, für die es den Arbeitsspeicher benötigt, frei gelassen. Ändere diesen Wert auf die Menge an RAM, die du dem Spigot-Server zuweisen möchtest. Wenn dein Server 16 GB RAM hat, solltest du den Parameter so einstellen, dass er 14 oder 15 GB RAM belegt.
Wenn du fertig bist, speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Mache das Startskript ausführbar.
minecraft:$ chmod +x spigotstart.sh
Starte deinen Spigot-Server zum ersten Mal.
minecraft:$ ./spigotstart.sh
Der Server wird nicht starten und stattdessen mit der folgenden Meldung beendet werden.
[14:14:21] [ServerMain/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
Öffne eula.txt
zur Bearbeitung.
minecraft:$ nano eula.txt
Setze den Wert der Variable eula
auf true
.
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula). #Sun Dec 26 13:29:15 UTC 2021 eula=true
Wenn du fertig bist, speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Bevor wir den Server starten, müssen wir ihn so konfigurieren, dass er als Dienst im Hintergrund läuft.
Schritt 6 – Spigot als Dienst konfigurieren
Damit der Server funktioniert, muss die Shell die ganze Zeit laufen, was nicht ideal ist. Wir müssen einen Dienst einrichten, damit der Server beim Booten automatisch gestartet wird und im Hintergrund läuft.
Verlasse den Benutzer minecraft
.
minecraft:$ exit
Erstelle eine Spigot-Service-Datei und öffne sie zur Bearbeitung.
$ sudo nano /etc/systemd/system/spigot.service
Füge den folgenden Code ein.
[Unit] Description=SpigotMC After=network.target [Service] Type=forking User=minecraft Group=minecraft ExecStart=/usr/bin/screen -d -m -S minecraft /home/minecraft/server/spigotstart.sh ExecStop=/usr/bin/screen -S minecraft -p 0 -X stuff "stop$(printf \\r)" WorkingDirectory=/home/minecraft/server [Install] WantedBy=multi-user.target
Wenn du fertig bist, speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.
Lade den Dienst-Daemon neu.
$ sudo systemctl daemon-reload
Aktiviere den Dienst.
$ sudo systemctl enable spigot
Starte den Spigot-Dienst.
$ sudo systemctl start spigot
Überprüfe den Status des Dienstes.
$ sudo systemctl status spigot ? spigot.service - SpigotMC Loaded: loaded (/etc/systemd/system/spigot.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2021-12-27 09:15:25 UTC; 6s ago Process: 32011 ExecStart=/usr/bin/screen -d -m -S minecraft /home/minecraft/server/spigotstart.sh (code=exited, sta> Main PID: 32012 (screen) Tasks: 25 (limit: 4691) Memory: 3.2G CGroup: /system.slice/spigot.service ??32012 /usr/bin/SCREEN -d -m -S minecraft /home/minecraft/server/spigotstart.sh ??32013 /bin/sh /home/minecraft/server/spigotstart.sh ??32014 java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockEx> Dec 27 09:15:25 spigot systemd[1]: Starting SpigotMC... Dec 27 09:15:25 spigot systemd[1]: Started SpigotMC.
Schritt 7 – Mit Minecraft verbinden
Jetzt, wo unser Server läuft, ist es an der Zeit, sich mit Minecraft zu verbinden. Starte dein Minecraft-Spiel.
Klicke auf die Schaltfläche Multiplayer und ignoriere die Warnung für die Zukunft, indem du das KästchenDiesen Bildschirm nicht mehr anzeigen markierst.
Klicke auf der nächsten Seite auf die Schaltfläche Server hinzufügen.
Gib die öffentliche IP-Adresse und den Namen deines Servers ein. Klicke auf Fertig, wenn du fertig bist.
Dein Server wird nun in der Liste angezeigt.
Klicke auf deinen Servernamen und drücke auf die Schaltfläche Server beitreten, um den Server zu starten. Dein Spiel wird bald beginnen.
Du kannst deine Freunde bitten, deinem Server beizutreten und mit ihnen zu spielen.
Schritt 8 – Anpassen der Servereigenschaften
Du kannst deinen Server anpassen, indem du die Datei /home/minecraft/server/server.properties
bearbeitest. Im Folgenden gehen wir einige der Eigenschaften durch.
- Aktiviere Befehlsblöcke: Verfügbare Werte sind
true
undfalse
.enable-command-block=false
- Spielmodus: Die verfügbaren Werte sind Survival, Creative, Adventure und Spectator. Sie können auch durch ganze Zahlen definiert werden, beginnend mit 0 für Survival, 1 für Creative, 2 für Adventure und 3 für Spectator.
gamemode=survival
- Schwierigkeit: Die verfügbaren Werte sind friedlich, leicht, normal und schwer. Sie können auch durch ganze Zahlen definiert werden, die mit 0 für friedlich, 1 für leicht, 2 für normal und 3 für schwer beginnen.
difficulty=easy
- MOTD: Steht für Message Of The Day (Nachricht des Tages). Das ist die Nachricht, die auf der Serverlistenseite angezeigt wird. Akzeptiert einen String-Wert. Unterstützt Farben, Sonderzeichen und Formatierungscodes. Sie sollte nicht länger als 59 Zeichen sein.
motd=A Minecraft Server
- PVP: Aktiviert den Modus Spieler gegen Spieler. Verfügbare Werte sind
true
undfalse
.pvp=true
- Server Port: Legt den Port fest, an dem der Minecraft-Server lauscht. Der Standardwert ist 25565.
server-port=25565
Wenn du den Portwert auf einen anderen Wert änderst, musst du ihn in der Firewall aktivieren, sonst können sich die Spieler nicht verbinden.
- Weitere Eigenschaften findest du im Minecraft-Wiki.
Du musst deinen Spigot-Server neu starten, nachdem du diese Eigenschaften geändert hast, damit sie wirksam werden.
$ sudo systemctl restart spigot
Schritt 9 – Plugins installieren
Du kannst Plugins von den Spigot-Ressourcen oder den Bukkit-Plugin-Seiten herunterladen.
Wenn du das Plugin von Spigot herunterlädst, wird die folgende Methode nicht funktionieren, da sie blockiert wurde. Du musst die Jar-Datei manuell herunterladen und sie auf den Server verschieben. Wenn du das Plugin jedoch von Bukkit herunterlädst, kannst du es mit der folgenden Methode direkt auf deinen Server herunterladen.
Lade die Datei .jar
des Plugins von den oben genannten Seiten in das Verzeichnis /home/minecraft/server/plugins
herunter.
$ sudo wget -P /home/minecraft/server/plugins/ --content-disposition <plugin url>
Das Flag --content-disposition
stellt sicher, dass die Datei mit dem richtigen Dateinamen heruntergeladen wird, indem es die Header von Content-Disposition
verwendet.
Wenn du zum Beispiel das WorldEdit-Plugin herunterlädst, wirst du es so herunterladen.
$ sudo wget -P /home/minecraft/server/plugins --content-disposition https://dev.bukkit.org/projects/world edit/files/latest
Um das Plugin neu zu laden, starte deinen Spigot-Server neu.
$ sudo systemctl restart spigot
Schritt 10 – Spigot aktualisieren
Um Spigot zu aktualisieren, musst du Schritt 4 dieser Anleitung wiederholen, um die neueste Version der Datei BuildTools.jar
zu erhalten und dann eine neue Datei spigot.jar
zu erstellen. Stelle sicher, dass du die alten jar-Dateien sicherst und den Server vorher stoppst.
Fazit
Damit ist unsere Anleitung zur Installation und Konfiguration des Spigot Minecraft Servers auf einem Ubuntu 20.04 basierten System abgeschlossen. Wenn du noch Fragen hast, schreibe sie in die Kommentare unten.