10.03.2022 — 17:00 Uhr | Geschätzte Lesedauer: 5 Minuten

Einleitung — Was ist TimoCloud?

TimoCloud ist ein Minecraft Server/Proxy Management System (“Cloud System”). Es kümmert sich darum, genügend Server/Proxys jeder Art online zu halten. Aber es ist noch mehr als das. Dank seiner Algorithmen musst du dich nie wieder um Server oder Ressourcen kümmern. TimoCloud wählt automatisch Server mit geringer CPU-Auslastung und ausreichend verfügbarem Arbeitsspeicher aus, um deine Instanzen zu starten. Und das integrierte Flow-System macht das Aktualisieren von Vorlagen so einfach wie nie zuvor: Bearbeite eine Datei in einer Servervorlage, und das Update wird automatisch auf alle Basen (auch “Wrapper” genannt) verteilt. Aber natürlich werden nur die geänderten Dateien aktualisiert.

Voraussetzungen

  • Debian/Ubuntu-basiertes Betriebssystemen auf einem dedizierter Server oder KVM/VPS.
  • Ein Root-Benutzerzugang oder ein normaler Benutzer mit administrativen Rechten.
  • Java 8 / 11 / 16
  • Screen, Wget, Sudo (apt-get install screen wget sudo)
  • Freie Ports: 25565, 5000 (+)

Features

TimoCloud ist voll von innovativen Funktionen. Hier ist eine Liste mit den wichtigsten davon:

  • Automatisches und dynamisches Starten von Minecraft-Servern und BungeeCord/Velocity-Proxys – abhängig von der aktuellen Online-Spielerzahl.
  • Automatische und dynamische Auswahl einer virtuellen Maschine (Server) mit ausreichend verfügbaren Ressourcen für eine Instanz, die gerade gestartet wird.
  • Leistungsstarke API, die über dein gesamtes Netzwerk in Echtzeit synchronisiert wird und auch asynchrone Methoden mit Callbacks bietet. Für alles, was über Befehle gemacht werden kann, gibt es auch eine entsprechende API-Methode.
  • Sichere Kommunikation: TimoCloud nutzt RSA- und AES-Verschlüsselung für die sichere Kommunikation zwischen Core, Bases, Servern und Proxies.
  • Hohe Effizienz: Effizienz ist eines unserer Hauptziele: Durch den Einsatz leistungsstarker Software wie Screen und Netty versucht TimoCloud, den Ressourcenverbrauch deiner Server so gering wie möglich zu halten.
  • Multi-Proxy: TimoCloud ist eigenständig und startet nicht nur Bukkit/Spigot-Server für dich, sondern auch BungeeCord/Velocity-Proxys.
  • Live-Aktualisierung des Schildersystems: Nutze das integrierte Server-Beitrittsschildsystem, um Spieler/innen den Zugang zu all deinen Servern zu ermöglichen. Die Schilder sind dynamisch – das heißt, es werden nur freie Server angezeigt – und können animiert werden.

Firewall

Wir empfehlen dringend, eine Firewall einzurichten, um die Ausnutzung der Sicherheitslücke im Offline-Modus von BungeeCord/Velocity zu verhindern. Mit unserer einfachen Anleitung kannst du in 5 Minuten eine Firewall einrichten und deinen ganzen Server schützen!


In dieser Anleitung wird beschrieben, wie du die neuste Version von TimoCloud auf einem Debian/Ubuntu-basierten-System installierst.

Installation von Java 8 / 11 / 16

Halte deinen Server aus Sicherheitsgründen immer auf dem neuesten Stand.

sudo apt update
sudo apt upgrade -y

Jetzt installieren wir Java 8 / 11 / 16. Ich empfehle Ich empfehle die Verwendung von Azul Zulu Java

  1. Richte das Azul APT-Repository ein:
# Installiere die notwendigen Dependencies
sudo apt-get -q update
sudo apt-get -yq install gnupg curl
# Azul's öffentlicher Schlüssel hinzufügen
sudo apt-key adv \
  --keyserver hkp://keyserver.ubuntu.com:80 \
  --recv-keys 0xB1998361219BD9C9
# Das Paket herunterladen und installieren, dass
# das Azul APT Repository zur Liste der Quellen hinzufügt
curl -O https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb
# Installiere das Paket
sudo apt-get install ./zulu-repo_1.0.0-3_all.deb
# Aktualisiere die Paketquellen
sudo apt-get update

2. Wenn das Repository eingerichtet ist, installiere das benötigte Azul Zulu-Paket, indem du apt-get install ausführst. Um Azul Zulu JDK 11 zu installieren, führe aus:

# Azul Zulu JDK 11 installieren
sudo apt-get install zulu11-jdk

Um deine Installation zu überprüfen, führe den Befehl java -version aus. Du solltest eine ähnliche Ausgabe wie die Folgende sehen:

$ java -version
openjdk version "11.0.10" 2021-01-19 LTS
OpenJDK Runtime Environment Zulu11.45+27-CA (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM Zulu11.45+27-CA (build 11.0.10+9-LTS, mixed mode)

Der erste Punkt in der Installation von TimoCloud ist das Installationsverzeichnis und der Benutzer mit sudo Rechten. Beides legen wir folgendermaßen an:

Vorbereitung

sudo adduser timocloud
sudo usermod -aG sudo timocloud

Navigiere zu dem neu erstellten Ordner und lade die neuste Version der TimoCloud runter

cd /home/timocloud
wget https://jenkins.timo.cloud/job/TimoCloud/job/master/lastSuccessfulBuild/artifact/TimoCloud-Universal/target/TimoCloud.jar
chown timocloud:timocloud TimoCloud.jar
chmod 774 TimoCloud.jar

Installation der TimoCloud

Jetzt führen wir die TimoCloud.jar mit einem simplen Script aus. Das hat den Vorteil dass wir nicht jedes Modul einzeln starten müssen.

Erstellt ein Script mit nano start.sh und fügt folgenden Text ein:

screen -dm -S core java -jar TimoCloud.jar --module=CORE
screen -dm -S base java -jar TimoCloud.jar --module=BASE

Nun machen wir das Script ausführbar mit chmod +x start.sh und führen es mit ./start.sh aus.

Mit dem Befehl screen -ls zeigen wir uns alle Screens an. Jetzt gehen wir in den Base Screen mit screen -r base. Die Ausgabe sollte wie folgt aussehen:

  _____ _                  ____ _                 _
 |_   _(_)_ __ ___   ___  / ___| | ___  _   _  __| |
   | | | | '_ ` _ \ / _ \| |   | |/ _ \| | | |/ _` |
   | | | | | | | | | (_) | |___| | (_) | |_| | (_| |
   |_| |_|_| |_| |_|\___/ \____|_|\___/ \__,_|\__,_|
TimoCloud version 6.4.3 by TimoCrafter.
Loading module BASE...
[20:57:55] [TimoCloud] Base has been loaded
[20:57:55] [TimoCloud] Connecting to Core...
[20:57:56] [TimoCloud] Successfully generated public key! Please register this base at the Core by executing the following command in the Core console: 'addbase MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnjA05xWg/aE8JdOJMESkLwWYU/gEn7raifjENtqv8q6TetCwCgi7XfQRBbtorn+4C3XroiLfETCuXLb7RF2ED2ejBJMTrhWmTY8aJ9qgCXOAFpkIZ0gJUjWCTKuIKipfc8DwNWyNk5e1iyJE+g0xpTS0a35Ew0ob06IfJLyt+Ylu1OfhN/dQxnVq2624A6J4W9KZaLg531in3OCho0/jS92UmkMmXtJlR9x/EKpNZV71kdP15ilOxUJOWPsVd1m4ovqo76dviWzSMd16aNqzRIah4PmU2q4DPTuCqmfdUo6qUtM145QxoecfxSc4lB3rxDohKansmHKb9IA871vd4wIDAQAB'

Wir gehen wieder aus dem Screen raus mit STRG + A + D und gehen in mit screen -r core in den Core Screen und aktivieren die Base mit dem in der Base stehenden addbase Befehl.

Wenn alles einwandfrei funktioniert hat, sollte eine Meldung im Core ausgegeben werden, die so oder so ähnlich aussieht:

[2022-03-10 21:04:11] [INFO] The public key has been permitted, so your base may connect now.
[2022-03-10 21:04:12] [INFO] Base BASE-1 connected.

Minecraft Server erstellen

Als Nächstes erstellen wir einen Minecraft Server. Dazu schreiben wir folgende Befehle in den Core:

addgroup proxy Proxy 1 2048 true BASE-1
addgroup server Lobby 1 2048 true BASE-1

Jetzt brauchen wir noch die entsprechenden Jar-Datein damit der Server startet.

Navigiere in das Verzeichnis /home/timocloud/core/templates/server/Global und installiere eine Spigot Version und benenne sie zu spigot.jar um. Ich verwende sehr gerne Paper Spigot.

In diesem Beispiel laden wir Paper Spigot für die Minecraft Version 1.12.2 herunter.

wget https://papermc.io/api/v2/projects/paper/versions/1.12.2/builds/1620/downloads/paper-1.12.2-1620.jar
mv paper-1.12.2-1620.jar spigot.jar

Navigiere in das Verzeichnis /home/timocloud/core/templates/proxy/Proxy/ und installiere eine BungeeCord Version und benenne sie zu BungeeCord.jar um. Ich verwende sehr gerne Velocity.

wget https://papermc.io/api/v2/projects/velocity/versions/3.1.1/builds/98/downloads/velocity-3.1.1-98.jar

mv velocity-3.1.1-98.jar BungeeCord.jar

Gehe wieder in den Core Screen und schreibe restart BASE-1. Die Ausgabe sollte ungefähr so aussehen:

> restart BASE-1
[2022-03-10 21:39:48] [INFO   ] The group/server/proxy/base has successfully been stopped/restarted.
[2022-03-10 21:39:48] [INFO   ] Proxy Proxy-1 disconnected.
[2022-03-10 21:39:49] [INFO   ] Server Lobby disconnected.
[2022-03-10 21:39:49] [INFO   ] Told base BASE-1 to start server Lobby.
[2022-03-10 21:39:50] [INFO   ] Told base BASE-1 to start proxy Proxy-1.
[2022-03-10 21:39:51] [INFO   ] Server Lobby connected.
[2022-03-10 21:39:51] [INFO   ] Proxy Proxy-1 connected.
[2022-03-10 21:39:52] [INFO   ] Server Lobby registered.

Glückwunsch! Du hast TimoCloud eingerichtet und deinen ersten Minecraft Server erstellt.

Fazit

Ich habe dir gezeigt, wie du TimoCloud installierst und wie einen Minecraft Server erstellst.

Die vollständige Dokumentation, einschließlich Informationen zur Einrichtung, findest du im Wiki. Du kannst ein Ticket eröffnen, indem du eine E-Mail an support@timo.cloud schreibst.

Bei Fragen, Verbesserungsvorschlägen oder anderen Anliegen, schreibe einen Kommentar oder eine E-Mail an kontakt@toaaa.de