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.

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.

Minecraft Multiplayer Warnung

Klicke auf der nächsten Seite auf die Schaltfläche Server hinzufügen.

Minecraft 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.

Minecraft Server List

Klicke auf deinen Servernamen und drücke auf die Schaltfläche Server beitreten, um den Server zu starten. Dein Spiel wird bald beginnen.

Minecraft Server Spiel

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 und false.
    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 und false.
    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.

Das könnte dich auch interessieren …