Zum Hauptinhalt springen
Templates sind die Dateistrukturen, die auf neue Server-Instanzen kopiert werden. Sie enthalten die Plugins, Konfigurationen und Standard-Weltdateien deines Servers.

Wie Templates funktionieren

Wenn SimpleCloud einen Server startet, werden Templates in einer bestimmten Reihenfolge angewendet. Jede Ebene kann Dateien von vorherigen Ebenen hinzufügen oder überschreiben, was dir flexible Kontrolle über deine Server-Konfigurationen gibt.
Brauchst du persistente Daten, die Neustarts überleben? Verwende einen Persistenten Server anstelle einer Gruppe.

Template-Verzeichnisstruktur

templates
every
Wird auf ALLE Server angewendet
_tagged

Template-Hierarchie

Templates werden der Reihe nach angewendet. Spätere Templates überschreiben frühere:
ReihenfolgeVerzeichnisBeschreibung
1every/Basisdateien für alle Server
2every_{type}/Typspezifisch (every_proxy/, every_server/)
3every_{software}/Softwarespezifisch (every_paper/, every_velocity/)
4_tagged/{tag}/Tag-basierte Templates
5{group-name}/Gruppenspezifische Templates
6cache/{group}/Gecachte Dateien von vorherigen Starts

Beispiel: Wie ein Lobby-Server aufgebaut wird

Für einen Server in der lobby Gruppe mit Paper-Software und dem premium Tag:
  1. every/ - Basis-Plugins wie SimpleCloud-Plugin
  2. every_server/ - Gemeinsame Server-Configs (nicht Proxy)
  3. every_paper/ - Paper-spezifische Einstellungen
  4. _tagged/premium/ - Premium-exklusive Plugins/Configs
  5. lobby/ - Lobby-spezifische Welt und Plugins

Basis-Template: every/

Der every/ Ordner enthält Dateien, die auf alle Server angewendet werden - Proxies und Game-Server gleichermaßen. Nutze ihn für:
  • SimpleCloud-Plugins, die jeder Server braucht
  • Universelle Konfigurationsdateien
  • Gemeinsame Ressourcen
templates
every
plugins
simplecloud-plugin.jar

Typ-Templates: every_{type}/

Wende Dateien basierend auf Server-Typ an:
  • every_proxy/ - Alle Proxy-Server (Velocity, BungeeCord)
  • every_server/ - Alle Game-Server (Paper, Spigot, etc.)
templates
every_proxy
plugins
proxy-essentials.jar
every_server
plugins
worldedit.jar

Software-Templates: every_{software}/

Wende Dateien basierend auf Server-Software an:
  • every_paper/ - Alle Paper-Server
  • every_velocity/ - Alle Velocity-Proxies
  • every_spigot/ - Alle Spigot-Server
templates
every_paper
plugins
paper-specific-plugin.jar

Tagged Templates: _tagged/{tag}/

Tags ermöglichen es dir, Konfigurationen über mehrere Gruppen zu teilen. Weise Gruppen Tags zu, und jeder Server in diesen Gruppen bekommt das Tagged-Template angewendet.

Tags einrichten

  1. Erstelle einen Tag-Ordner in templates/_tagged/:
templates
_tagged
minigames
plugins
minigame-core.jar
premium
plugins
premium-features.jar
  1. Weise deinen Gruppen Tags über CLI oder API zu beim Erstellen/Aktualisieren der Gruppe.

Anwendungsfälle für Tags

TagZweck
minigamesGemeinsame Minigame-Plugins (BedWars, SkyWars, etc.)
premiumPremium-exklusive Features
developmentDebug-Plugins für Dev-Server
pvpKampf-bezogene Plugins

Gruppenspezifische Templates

Der traditionelle Template-Ordner, benannt nach deiner Gruppe:
templates
bedwars
plugins
bedwars-plugin.jar
world
level.dat
region
Dies ist die spezifischste Ebene - Dateien hier überschreiben alles andere.

Templates verwalten

Plugins hinzufügen

Lege Plugin-JARs in den entsprechenden Template-Ordner:
# Für alle Server
cp simplecloud-plugin.jar templates/every/plugins/

# Für alle Paper-Server
cp paper-plugin.jar templates/every_paper/plugins/

# Für eine bestimmte Gruppe
cp bedwars.jar templates/bedwars/plugins/
Neue Server werden das Plugin enthalten. Bestehende Server brauchen einen Neustart.

Plugins konfigurieren

  1. Starte einen Server einmal, um Standard-Configs zu generieren
  2. Stoppe den Server
  3. Kopiere Configs vom running/ Verzeichnis zurück in dein Template
  4. Bearbeite nach Bedarf

Weltdateien

Lege Welt-Ordner im Template für eine Standard-Map ab:
templates
bedwars
world
level.dat
region
Jeder neue Server startet mit dieser Welt. Änderungen während des Spielens gehen verloren wenn der Server stoppt.

Caching

SimpleCloud cached bestimmte Dateien um Server-Starts zu beschleunigen:
  • Plugin-Remapping-Daten (Paper)
  • Heruntergeladene Abhängigkeiten
  • Generierte Dateien
Der Cache wird in templates/cache/{group}/ gespeichert und automatisch verwaltet.
Bei Problemen mit veralteten Dateien kannst du den Cache-Ordner einer Gruppe löschen um ein frisches Setup zu erzwingen.

Wann welche Template-Ebene verwenden

Template-EbeneVerwenden für
every/Plugins, die jeder Server braucht
every_{type}/Proxy-exklusive oder Server-exklusive Plugins
every_{software}/Softwarespezifische Plugins/Configs
_tagged/Gemeinsame Features über mehrere Gruppen
{group}/Gruppenspezifische Dateien und Welten

Templates und Persistente Server

Templates werden für beide Gruppen-Server und persistente Server verwendet. Der Workflow läuft bei jedem Server-Start und wendet Templates in der Hierarchie-Reihenfolge an.

Hauptunterschied

AspektGruppen-ServerPersistente Server
VerzeichnisNeu erstellt, bei Stop gelöschtPermanent, überlebt Neustarts
Template-AnwendungÜberschreibt allesMerged mit existierenden Dateien
WeltdatenVerloren bei StopBleiben zwischen Neustarts
AnwendungsfallMinigames, LobbysSMP, Skyblock, Bauprojekte

Wie es für Persistente Server funktioniert

Bei jedem Neustart eines persistenten Servers:
  1. Der Workflow läuft und wendet Templates an
  2. Neue Dateien aus Templates werden hinzugefügt
  3. Existierende Dateien im Server-Verzeichnis werden nicht überschrieben (außer replace: true)
  4. Welt- und Spielerdaten bleiben intakt
Wenn du ein Plugin in deinem Template aktualisierst, bekommt der persistente Server die neue Version nicht automatisch, es sei denn du löschst das alte Plugin manuell aus dem Server-Verzeichnis.

Wann was verwenden

SzenarioEmpfehlung
Minigames (BedWars, SkyWars)Gruppe - frische Map jedes Spiel
Lobby-ServerGruppe - keine persistenten Daten nötig
ProxiesGruppe - nur Konfiguration
Skyblock, SMP, CitybuildPersistenter Server - behält Weltdaten