Zum Hauptinhalt springen
Die Servers API ermöglicht das Abfragen, Starten, Stoppen und Aktualisieren von laufenden Servern. Zugriff über api.server().

Server abrufen

// Alle Server
api.server().getAllServers()
    .thenAccept(servers -> System.out.println("Total: " + servers.size()));

// Server nach ID
api.server().getServerById("server-uuid")
    .thenAccept(server -> System.out.println(server.getState()));

// Server in einer Gruppe
api.server().getServersByGroup("lobby")
    .thenAccept(servers -> servers.forEach(s ->
        System.out.println(s.getServerId() + ": " + s.getState())));

// Server nach Gruppe und numerischer ID (z.B. Lobby-1)
api.server().getServerByNumericalId("lobby", 1)
    .thenAccept(server -> System.out.println(server.getServerId()));

// Aktuellen Server (aus laufendem Server)
api.server().getCurrentServer()
    .thenAccept(server -> System.out.println("Läuft auf: " + server.getServerId()));

Server starten

StartServerRequest request = new StartServerRequest("group-uuid", "lobby");

api.server().startServer(request)
    .thenAccept(server -> System.out.println("Gestartet: " + server.getServerId()));

Server stoppen

api.server().stopServer("server-uuid")
    .thenAccept(success -> System.out.println("Gestoppt: " + success));

Server aktualisieren

UpdateServerRequest update = UpdateServerRequest.builder()
    .maxPlayers(64)
    .build();

api.server().updateServer("server-uuid", update)
    .thenAccept(server -> System.out.println("Aktualisiert: " + server.getMaxPlayers()));

Server Model

PropertyTypBeschreibung
serverIdStringEindeutige Kennung
groupNameStringEltern-Gruppenname
numericalIdlongNumerische ID in Gruppe (1, 2, 3…)
stateServerStateAktueller Lifecycle-Status
hostStringServer-Host-Maschine
ipStringIP-Adresse
portintServer-Port
maxPlayersintSpielerlimit
playerCountintAktuelle Online-Spieler
propertiesMap<String, String>Eigene Metadaten

ServerState

StatusBeschreibung
PREPARINGTemplate-Dateien werden kopiert
STARTINGJVM-Prozess startet
AVAILABLEBereit für Spieler
INGAMEHat aktive Spieler
STOPPINGShutdown läuft

Umgebungsvariablen

Innerhalb eines laufenden Servers kannst du Server-Info ohne API abrufen:
String group = System.getenv("SIMPLECLOUD_GROUP");
String uniqueId = System.getenv("SIMPLECLOUD_UNIQUE_ID");
String numericalId = System.getenv("SIMPLECLOUD_NUMERICAL_ID");
String host = System.getenv("SIMPLECLOUD_HOST");
String port = System.getenv("SIMPLECLOUD_PORT");
String maxPlayers = System.getenv("SIMPLECLOUD_MAX_PLAYERS");