Skip to main content

Persistenten Server erstellen

Ein persistenter Server behält eine Serverkonfiguration und skaliert im Gegensatz zu einer Gruppe nicht auf mehrere Instanzen. Die Beispiele verwenden den unter Installation erstellten gemeinsamen CloudApi-Client und gehören in die Methoden deines Plugins. Dieses Beispiel erstellt survival-1 mit einem neuen Paper-Blueprint. Da der persistente Server aktiv ist, startet SimpleCloud seine Instanz und ersetzt sie, nachdem sie gestoppt wurde.
Um stattdessen einen vorhandenen Blueprint zu verwenden, ersetze createBlueprint(...) durch eine Quelle:
Lege entweder source oder createBlueprint fest, nicht beides.
string
erforderlich
Verwende bis zu 100 ASCII-Buchstaben, Ziffern, Unterstriche oder Bindestriche ([A-Za-z0-9_-]). Namen persistenter Server sind innerhalb des Netzwerks eindeutig.Beim Abgleich wird die Groß- und Kleinschreibung nicht berücksichtigt, sodass Survival-1 und survival-1 denselben persistenten Server bezeichnen. Beim Erstellen oder Umbenennen auf eine reine Variante der Groß- und Kleinschreibung gibt die API 409 Conflict zurück.Ein persistenter Server und eine Gruppe dürfen denselben Namen haben.
GroupServerType | null
SERVER oder PROXY. Der Standardwert ist SERVER.
integer | null
Minimaler Arbeitsspeicher in MB.
integer | null
Maximaler Arbeitsspeicher in MB.
integer | null
Spielerlimit. Der Standardwert ist 50.
CreateBlueprintRequest | null
Blueprint, der für diesen persistenten Server erstellt wird.
SourceConfig | null
Vorhandener Blueprint oder vorhandenes Container-Image, der beziehungsweise das verwendet wird. Lege dieses Feld nicht gemeinsam mit createBlueprint fest.
boolean | null
Legt fest, ob SimpleCloud eine Instanz in Betrieb halten soll. Der Standardwert ist true.
integer | null
Priorität des persistenten Servers.
string | null
ID des zugewiesenen Serverhosts.
WorkflowsConfig | null
Lebenszyklus- und manuelle Workflows.
Map<String, Object> | null
Benutzerdefinierte Eigenschaften.
List<String> | null
Tags zum Organisieren und Filtern persistenter Server.

Persistente Server suchen

Suche einen persistenten Server anhand seines Namens oder seiner ID:
Das zurückgegebene Future schlägt fehl, wenn kein persistenter Server übereinstimmt. Bei der Suche nach Namen wird die Groß- und Kleinschreibung nicht berücksichtigt. Verwende eine Abfrage, um die Liste zu filtern:
Die Abfrage kann nach Tags, Aktivierungszustand und Serverhost-ID filtern. Rufe getAllPersistentServers() ohne Abfrage auf, um alle persistenten Server zurückzugeben.

Persistenten Server aktualisieren

Nur die in UpdatePersistentServerRequest festgelegten Felder werden geändert:
Du kannst den Namen, Typ, Arbeitsspeicher, das Spielerlimit, den Aktivierungszustand, die Priorität, den zugewiesenen Serverhost, die Quelle, Workflows, Eigenschaften und Tags aktualisieren.

Eigenschaften verwalten

Verwende die Eigenschaftsmethoden, um benutzerdefinierte Eigenschaften zu ändern, ohne die übrige Konfiguration zu aktualisieren:
updatePersistentServerProperties führt die übergebenen Werte mit den vorhandenen Eigenschaften zusammen. Du kannst außerdem eine einzelne Eigenschaft aktualisieren oder mehrere Eigenschaften löschen.

Persistenten Server löschen

Deaktiviere den persistenten Server zuerst, stoppe seine Instanz und lösche die Konfiguration, nachdem die Instanz beendet wurde. Die Serverdateien bleiben auf dem Serverhost erhalten.

Modell des persistenten Servers

PersistentServer erweitert ServerBase und stellt die folgenden Felder bereit.
string
erforderlich
Eindeutige ID des persistenten Servers.
string
erforderlich
Name des persistenten Servers.
GroupServerType
erforderlich
SERVER, PROXY oder UNKNOWN_SERVER.
integer | null
Minimaler Arbeitsspeicher in MB.
integer | null
Maximaler Arbeitsspeicher in MB.
integer | null
Spielerlimit.
boolean | null
Legt fest, ob SimpleCloud eine Instanz in Betrieb halten soll.
integer | null
Priorität des persistenten Servers.
string | null
ID des zugewiesenen Serverhosts.
integer
erforderlich
Aktuelle Spieleranzahl oder 0, wenn keine Instanz läuft.
SourceConfig | null
Blueprint- oder Container-Image-Quelle.
WorkflowsConfig | null
Lebenszyklus- und manuelle Workflows.
Map<String, Object> | null
Benutzerdefinierte Eigenschaften.
List<String> | null
Tags zum Filtern und Organisieren.
string
erforderlich
Erstellungszeitpunkt im ISO-8601-Format.
string
erforderlich
Zeitpunkt der letzten Aktualisierung im ISO-8601-Format.
Verwende api.server(), um mit der laufenden Instanz zu arbeiten. Die Methode getPersistentServerId() verknüpft sie mit dieser Konfiguration.