Self-Hosting

Hier erfährst du, wie du deinen eigenen Minecraft-Walo Server inklusive Website und Discord hosten kannst!

Vorbereitung

Folgende Dinge müssen jedenfalls auf der Host-Maschine installiert sein:

Das vorgemachte Server-Paket verwenden

Am einfachsten ist es, wenn du dir dieses Server-Paket runterladest: walo-server-package.zip. Lasse dieses auf einer Windows oder Linux Maschine laufen und dein Walo-Server ist so gut wie fertig.

Es ist ein vorkonfigurierter Server mit ...

Server-Paket starten

Nach dem Herunterladen muss man die .zip Datei nurnoch extrahieren, die eula.txt akzeptieren und start.bat (Windows) bzw. start.sh (Unix) ausführen. Am besten du hast einen VPS oder Bare-Metal Server anstelle eines Minecraft-Server anbieters. VPS Anbieter geben dir mehr Kontrolle über dein System, was für manche Features des Walo-Plugins erforderlich sind (Leaderboards, Website, automatischer Restart).

Wie du den Walo-Server, bzw. das Plugin einrichten kannst erfährst du hier!

Auf das Server-Paket verzichten

Du vertraust mir nicht und möchtest den Server auf eigene Faust herunterladen? Kein Problem, hier steht wie es geht. Kurz vorweg: Bei der manuellen Einrichtung des Minecraft-Servers wird angenommen, dass du Ubuntu Server 24.04 verwendest. Falls du Windows benutzen willst, lade doch bitte das Server-Paket herunter. Andernfalls bist du hier auf dich alleine gestellt.

Paper herunterladen

Lade die neuste 1.8.8 Server-Software von papermc.io herunter. Erstelle einen Ordner und kopiere sie unter dem Namen server.jar hinein. Akzeptiere das Minecraft-EULA mit dem Text eula=true in eula.txt.

Anschließend erstelle eine Datei namens start.sh mit folgendem Inhalt:

#!/bin/bash
/usr/bin/screen -dmS minecraft-walo-server java -Xmx<RAM_GRÖSSE>M -Xms<RAM_GRÖSSE durch 2>M -jar server.jar

Ersetze <RAM_GRÖSSE> mit deiner gewünschten RAM-Größe in Gigabyte. In der Regel lässt man einem Linux-Betriebssystem mindestens 1-2 Gigabyte an Arbeitsspeicher frei, heißt falls du 8GB Arbeitsspeicher hast, kannst du dem Minecraft-Server 6GB zuweisen: (1GB = 1000M)

#!/bin/bash
/usr/bin/screen -dmS minecraft-walo-server java -Xmx6000M -Xms3000M -jar server.jar

Plugins herunterladen

Folgende Plugins wirst du benötigen:

Zum deaktivieren des LabyMod DamageIndicators (optional):

Verschiebe alle Plugins in den plugins Ordner.

Konfigurieren

Da du nicht das Server-Paket verwendet hast, sind für dich die Optionalen Konfigurationseinstellungen ganz wichtig zu beachten. Du solltest sie einrichten.

Linux Einrichtung

Falls du Linux verwendest, musst du folgendes in einem Terminal machen:

Gib chmod +x start.sh ein, um dem Computer die Berechtigung zu erteilen, den Server auszuführen.

Dann kannst du den Server mit dem Befehl ./start.sh starten. Gib screen -r minecraft-walo-server ein, um die Konsole des Minecraft Servers anzuzeigen. Mit der Tastenkombination STRG + A und dann die Taste D kannst du die Konsole wieder verstecken und zurück in das Linux-Betriebssystem kommen. Weiteres dazu findest du in der Dokumentation von screen

Optionale Komponente einrichten

Für diesen Teil wirst du Systemzugriff auf deinen Server benötigen, was Minecraft-Server Anbieter in der Regel ausschließt. Ich empfehle einen günstigen VPS zu kaufen, wie einer von Contabo. Alternativ kannst du den Server auch bei dir Zuhause beispielsweise auf einem alten Computer ausführen. Falls dies für dich keine Möglichkeit darstellt, kannst du aber trotzdem den Minecraft-Server verwenden, jedoch ohne Leaderboards und automatischen Restarts.

Website

Dieser Teil setzt voraus, dass du Ubuntu Server 24.04 verwendest. Du kannst auch die Website auf dem selben VPS / Computer laufen lassen, auf dem auch der Minecraft-Server läuft.

Installiere git, caddy, php-fpm, php-mbstring, php-dom und php-mysql um die Website einrichten zu können:

sudo apt install git caddy php-fpm php-mbstring php-dom php-mysql

Dann klone folgende Git-Repository und verschiebe sie in /usr/share/caddy/walo-web:

git clone https://github.com/L0wLauch11/Walo-Web.git
sudo mv -f Walo-Web /usr/share/caddy/walo-web
sudo chgrp -R www-data /usr/share/caddy/walo-web/

Beachte, dass du bei jedem Update der Website die Repository nochmal klonen müsstest (also nochmal die oberen Befehle ausführen). Bei einer Aktualisierung der Website, ist auch wichtig, dass das Walo-Plugin auf der neusten Version ist, da sie sonst eventuell nicht mehr gut zusammen spielen können.

Kopiere folgendes in die Datei /etc/caddy/Caddyfile (du kannst dies mit sudo nano /etc/caddy/Caddyfile tun):

DEINE_DOMAIN {
    root * /usr/share/caddy/walo-web
    encode zstd gzip
    php_fastcgi unix//run/php/php-fpm.sock
    file_server

    @blocked {
        path /assets/secrets/*
    }
    respond @blocked 403
}

Ersetze DEINE_DOMAIN mit einer Domain, die du dir Beispielsweise auf FreeDNS registriert hast.

Und schon kannst du die Website aufrufen unter https://DEINE_DOMAIN/!

MySQL Datenbank für Leaderboards

Nachdem die Website problemlos läuft, kannst du auch noch die Leaderboards einrichten. Installiere dafür einen MySQL Server mit Adminer. Folgendes Tutorial bringt dir bei, wie du das einrichten kannst: https://www.makeuseof.com/how-to-install-adminer-on-ubuntu/.

Angenommen du hast erfolgreich einen MySQL Server installiert, kannst du die Datenbank Login-Daten nun mit der Website verknüpfen, sodass Leaderboards gelesen & geändert werden können. Dafür bearbeitest du die Datei assets/secrets/credentials.ini innerhalb des Walo-Website Ordners:

sudo nano /usr/share/caddy/walo-web/assets/secrets/credentials.ini

Folgender Inhalt muss in dieser Datei sein:

[mysql]
servername = "MYSQL_SERVER_ADDRESS"
username = "YOUR_USERNAME"
password = "YOUR_PASSWORD"
dbname = "walo"

Ersetze MYSQL_SERVER_ADDRESS mit deiner Server-Addresse oder Domain, die du vorher registriert hast.
Ersetze YOUR_USERNAME mit dem Benutzernamen, den du für die MySQL Datenbank verwendet hast.
Ersetze YOUR_PASSWORD mit dem Passwort, den du für die MySQL Datenbank verwendet hast.
dbname kann gleich bleiben.

Außerdem musst eine Datei in assets/secrets/database_token.txt erstellen, wo du ein Passwort eingibst, welches unauthorisierten Zugriff vermeiden soll. Mehr dazu bei Leaderboards & Statistik.

Die Website kann jetzt auch Änderungen an der Datenbank vornehmen und somit dem Walo-Plugin helfen Kills, Wins & Playcount zu speichern! Gehe über zur Konfiguration!