Gruppen
Leg fest, was in deinem Netzwerk läuft: Serversoftware, Minecraft-Version, Arbeitsspeicher und wie viele Server automatisch starten.
Eine Gruppe ist eine Datei unter groups/. Sie beschreibt, was laufen soll, nicht was gerade
läuft. MuteCloud gleicht den Sollzustand alle zwei Sekunden mit der Wirklichkeit ab und schreibt
die Datei nie um, deshalb kannst du sie in einer Versionsverwaltung ablegen.
name = "Lobby"
memory = 1024
layers = ["global", "lobby"]
fallback = true
[software]
kind = "paper"
version = "26.2"
[scale]
min = 2
max = 6
keep_free = 1
full_at = 0.8
[restart]
at = ["04:00"]
[[plugins]]
modrinth = "luckperms"Felder
| Feld | Bedeutung |
|---|---|
name | Name der Gruppe, die Server heißen dann Lobby-1, Lobby-2, ... |
kind | server oder proxy |
memory | RAM pro Server in MB |
layers | welche Vorlagen hineinkopiert werden, in dieser Reihenfolge |
persistent | Welt behalten, das Verzeichnis bleibt unter static/ |
fallback | wo Spieler beim Betreten landen und wenn ein Server ausfällt |
maintenance | Gruppe im Wartungsmodus, niemand kommt hinein |
enabled | false startet nichts Neues, laufende Server bleiben |
port_range | Bereich, aus dem die Ports genommen werden |
jvm_flags | zusätzliche JVM-Schalter |
env | Umgebungsvariablen für den Serverprozess |
requires | Gruppen, die vorher bereit sein müssen |
drain_secs | wie lange ein Server beim Leerlaufen auf seine Spieler wartet |
nodes | welche Nodes diese Gruppe ausführen dürfen, leer heißt alle; im laufenden Betrieb mit groups <name> set nodes +node-2, siehe Eine Node hinzufügen |
rollout | auto oder freigabe, siehe unten |
[software]
version ist die Minecraft-Version, ohne Angabe nimmt MuteCloud die neueste stabile. build
legt einen bestimmten Build fest, sofern die Quelle Builds hat, Standard ist latest.
kind | Woher es kommt |
|---|---|
paper, folia | PaperMC |
purpur | PurpurMC |
leaf | LeafMC, ein Performance-Fork von Paper |
pufferfish | Pufferfish CI, ebenfalls ein Performance-Fork |
pandaspigot | hpfxd, PvP-Fork von 1.8.8, läuft auf Java 21 |
vanilla | Mojang |
fabric | FabricMC, Loader und Installer werden passend zur Version ermittelt |
velocity | PaperMC, der Proxy, den man heute nimmt |
bungeecord | md-5 CI, der ältere Proxy, immer noch überall verbreitet |
waterfall | PaperMC, vom Hersteller eingestellt, nimm velocity |
url | die Adresse in url, eine beliebige Server-Jar |
custom | die Datei in jar, mitgebracht von einer Vorlage |
Pufferfish baut einen Job pro Unterversionsreihe, version = "1.21.4" wählt also den Job 1.21,
und du bekommst den neuesten Patch, den er gebaut hat. MuteCloud liest die tatsächliche Version aus
der heruntergeladenen Datei und verwendet diese, auch für die Java-Laufzeit. BungeeCord hat
überhaupt keine Minecraft-Version, lass version dort weg.
PandaSpigot gibt es nur für 1.8.8. Anders als ein normaler 1.8-Server bekommt es standardmäßig Java 21, damit aktuelle Plugins wie ViaVersion oder LuckPerms laden. Die Bridge richtet sich nach der Minecraft-Version, der Server bekommt also trotz Java 21 die Legacy-Bridge.
Alles, was nicht in der Liste steht, ist nur eine Zeile entfernt, solange es eine Jar ist, die mit
java -jar startet:
[software]
kind = "url"
version = "1.8.8"
url = "https://example.com/downloads/server-1.8.8.jar"Die Datei wird einmal geholt und unter cache/ zwischengespeichert, geordnet nach Adresse und
Version. Eine geänderte Adresse bedeutet also einen neuen Download, eine unveränderte kostet
nichts.
Noch nicht abgedeckt ist Software, die vor dem ersten Start einen Installer durchlaufen muss, wie
Forge und NeoForge, sowie alles, was nicht mit java -jar gestartet wird, etwa der
Bedrock-Server oder ein Proxy, der als native Programmdatei ausgeliefert wird.
Server ohne Bukkit- oder Velocity-Plugin, also vanilla, fabric und das meiste hinter url,
laufen einwandfrei, bleiben aber ohne Bridge: MuteCloud startet, überwacht und startet sie neu und
kennt ihren Port, Spielerzahlen, Ränge und Strafen kommen dagegen von der Bridge und bleiben
deshalb leer.
[java]
major erzwingt eine Java-Version. Ohne Angabe leitet MuteCloud sie aus der Minecraft-Version ab:
1.8.8 bekommt Java 8, 26.2 bekommt Java 25. Die Laufzeit wird bei Bedarf heruntergeladen und liegt
unter runtimes/.
[scale]
| Feld | Bedeutung |
|---|---|
min | so viele laufen immer |
max | nie mehr als diese Zahl |
keep_free | so viele sollen leer und bereit stehen |
full_at | ab dieser Auslastung startet ein weiterer, 0.8 sind achtzig Prozent |
cooldown_secs | Pause zwischen zwei Starts |
[restart]
[restart]
at = ["04:00"]
every_hours = 0
warn_seconds = [600, 300, 60, 10]
message = "&7This server restarts in &f{time}&7."at startet zu festen Uhrzeiten neu, every_hours in festen Abständen, gezählt ab dem Moment, in
dem ein Server Spieler annimmt. Sind beide gesetzt, gewinnt every_hours. warn_seconds legt
fest, wie viele Sekunden vorher die Spieler auf diesem Server gewarnt werden. Aus {time} wird
zum Beispiel „10 Sekunden“ oder „5 Minuten“. Die Server einer Gruppe sind im Abstand von einer
halben Minute an der Reihe, Lobby-2 also dreißig Sekunden nach Lobby-1, und jeder wird leerlaufen
gelassen statt gestoppt. Niemand fliegt raus.
[backup]
Nur für dauerhafte Server. at = ["03:00"] sichert zu diesen Uhrzeiten, keep gibt an, wie viele
Archive erhalten bleiben. Von Hand: groups <name> backup.
[[plugins]]
[[plugins]]
modrinth = "viaversion"
[[plugins]]
url = "https://example.com/Custom.jar"
sha256 = "..."Plugins landen in der letzten Vorlage der Gruppe. groups <name> plugins update lädt sie erneut
herunter.
Vorlagenänderungen ausrollen
Ändert sich eine Vorlage, sind die laufenden Server veraltet. Bei Spielservern startet MuteCloud den Ersatz neben dem bestehenden Server und lässt den alten erst leerlaufen, wenn der neue Spieler annimmt. Für die Spieler bleibt die Änderung so unsichtbar.
Ein Proxy hat keinen Stellvertreter, ihn zu ersetzen trennt jeden Spieler. Proxy-Gruppen warten deshalb auf eine ausdrückliche Freigabe:
groups Proxy rolloutSolange etwas aussteht, zeigt die Gruppenliste „Freigabe nötig“, und eine Nachricht geht an den
Webhook. Pro Gruppe änderst du das mit groups <name> set rollout auto oder freigabe,
standard kehrt zur Voreinstellung zurück.
Dauerhaft und kurzlebig
Ohne persistent bekommt jeder Server ein frisches Arbeitsverzeichnis unter run/, das beim
Stoppen des Servers entfernt wird. Das ist der Normalfall für Lobbys und Rundenserver.
Mit persistent = true liegt das Verzeichnis unter static/ und bleibt erhalten. Beim Start
werden nur die Dateien aus den Vorlagen aufgefrischt, die Welt bleibt unberührt. Das gilt für
Bauserver und jede Installation, deren Zustand mit der Zeit wächst.
Umstieg von CloudNet, TimoCloud und SimpleCloud
Ein bestehendes CloudNet-4-, TimoCloud- oder SimpleCloud-Netzwerk mit einem Befehl auf MuteCloud umziehen, ohne die alte Installation anzufassen.
Vorlagen
Plugins, Konfigurationen und Welten über Vorlagen auf mehrere Server verteilen, die sich in Schichten stapeln, statt kopiert zu werden.