Sicherheit
Rollen, Zugriffstokens, Audit-Log und Dateirechte für alle, die das Netzwerk verwalten.
Wer was darf
Zwei getrennte Mechanismen, die man leicht verwechselt.
access.toml regelt, wer die Cloud bedienen darf, also /mutecloud im Spiel, die HTTP-API und
das Dashboard. Rollen bündeln Rechte, Spieler bekommen Rollen:
role list
user add MuteBefehl admin
user info MuteBefehlMitgeliefert werden admin mit *, moderator mit Ansehen und Neustarten und viewer nur mit
Ansehen. Eigene Rollen legst du mit role create an und füllst sie mit role grant.
ranks.toml dagegen regelt die Rechte der Spieler auf den Servern, also Präfix, Suffix und
Bukkit-Permissions, die über die Bridge verteilt werden. Nutzt du LuckPerms, lässt du die Datei
leer, dann hält sich MuteCloud ganz aus der Rechteverwaltung heraus.
Tokens
Das Token in der mutecloud.toml unter [api] gewährt vollen Zugriff. Für alle anderen Nutzer:
token create website groups.view players.viewJedes Token bekommt nur die Rechte, die es braucht. token list zeigt, wann jedes zuletzt benutzt
wurde.
Nach acht falschen Tokens wird eine Adresse für eine Minute gesperrt, bei HTTP genauso wie beim WebSocket, und es geht eine Meldung raus. Das Dashboard hat dieselbe Bremse nach fünf Versuchen, zusätzlich über alle Adressen hinweg.
Audit-Log
Jeder Befehl von außen wird in audit.log festgehalten:
2026-09-15T05:40:12Z spiel MuteBefehl ok groups Lobby stop
2026-09-15T05:41:03Z rest website verweigert:groups.stop groups Lobby stopErfasst werden der Weg über das Spiel, die API und das Dashboard. Lesen kannst du es mit audit
oder audit 50, das Recht dafür ist *. Das Log rotiert täglich und wird neunzig Tage
aufbewahrt, einstellbar unter [logs].
Dateien
mutecloud.toml und access.toml gehören nur dem Besitzer, sie enthalten Tokens und
Passwort-Hashes. Dasselbe gilt für forwarding.secret in der Proxy-Vorlage. Dashboard-Passwörter
werden als Argon2id-Hashes gespeichert.
Dashboard
Standardmäßig aus. dashboard on schaltet es ein, dashboard password <new> setzt das gemeinsame
Passwort, user password <name> <new> gibt einem Spieler einen eigenen Zugang mit seinen Rollen.
Für den öffentlichen Betrieb legst du eine Domain und eine Mailadresse fest, dann holt die Cloud ein Zertifikat von Let's Encrypt:
dashboard domain cloud.example.com
dashboard contact [email protected]Welche Adressen erlaubt sind und was das Dashboard kann, steht unter Dashboard, Warnungen und Metriken.
Im Verbund
Nodes werden nur innerhalb eines privaten Netzes verbunden. Worker verbinden sich nur mit privaten Adressen, und der Leiter nimmt Nodes und Vorlagen-Downloads nur aus privaten Netzen an. Siehe Nur privates Netzwerk.
Ports
| Port | Wer ihn braucht | Wer nicht rankommen darf |
|---|---|---|
8770 | Worker und deine eigenen Werkzeuge | das Internet |
25565 | Spieler, über den Proxy | offen für alle |
| Ports der Spielserver | nur der Proxy | Spieler |
Die API lauscht standardmäßig auf 127.0.0.1:8770 und ist dann nur vom Server selbst aus
erreichbar. Ein Verbund braucht sie zu den Workern hin offen, sonst nichts. Binde sie nach
Möglichkeit an die private Adresse statt an 0.0.0.0 und mach sie nie öffentlich zugänglich.
Spielserver müssen aus dem Internet überhaupt nicht erreichbar sein. Spieler verbinden sich mit
dem Proxy, der Proxy mit den Servern, und ein Spielserver, der für alle offen ist, lässt Leute am
Proxy und seinen Strafen vorbeilaufen.