Zum Hauptinhalt springen
Die Groups API ermöglicht das Erstellen, Abfragen, Aktualisieren und Löschen von Server-Gruppen. Zugriff über api.group().

Gruppen abrufen

// Alle Gruppen abrufen
api.group().getAllGroups()
    .thenAccept(groups -> groups.forEach(g -> System.out.println(g.getName())));

// Gruppe nach Namen
api.group().getGroupByName("lobby")
    .thenAccept(group -> System.out.println(group.getId()));

// Gruppe nach ID
api.group().getGroupById("group-uuid")
    .thenAccept(group -> System.out.println(group.getName()));

Gruppe erstellen

CreateGroupRequest request = CreateGroupRequest.builder()
    .name("bedwars")
    .type(GroupServerType.SERVER)
    .minMemory(512)
    .maxMemory(1024)
    .maxPlayers(16)
    .minOnlineCount(1)
    .maxOnlineCount(10)
    .build();

api.group().createGroup(request)
    .thenAccept(group -> System.out.println("Erstellt: " + group.getId()));

Gruppe aktualisieren

UpdateGroupRequest update = UpdateGroupRequest.builder()
    .maxPlayers(32)
    .maxOnlineCount(20)
    .build();

api.group().updateGroup("group-uuid", update)
    .thenAccept(group -> System.out.println("Aktualisiert: " + group.getName()));

Gruppe löschen

api.group().deleteGroup("group-uuid")
    .thenAccept(success -> System.out.println("Gelöscht: " + success));
Das Löschen einer Gruppe stoppt laufende Server nicht. Stoppe Server zuerst wenn nötig.

Gruppen-Properties

Gruppen unterstützen eigene Key-Value-Properties für Metadaten:
// Properties hinzufügen oder aktualisieren (merged mit bestehenden)
Map<String, String> props = Map.of(
    "gameMode", "ADVENTURE",
    "region", "eu-west"
);
api.group().updateGroupProperties("group-uuid", props);

// Bestimmte Properties entfernen
api.group().deleteGroupProperties("group-uuid", List.of("region"));
Properties sind in Servern als Umgebungsvariablen mit SIMPLECLOUD_ Präfix verfügbar.

Group Model

PropertyTypBeschreibung
idStringEindeutige Kennung
nameStringGruppenname
typeGroupServerTypeSERVER oder PROXY
minMemoryintMinimaler Speicher (MB)
maxMemoryintMaximaler Speicher (MB)
maxPlayersintSpielerlimit pro Server
minOnlineCountintMinimale laufende Server
maxOnlineCountintMaximale erlaubte Server
propertiesMap<String, String>Eigene Metadaten

GroupServerType

WertBeschreibung
SERVERGame-Server (Paper, Spigot, etc.)
PROXYProxy-Server (Velocity, BungeeCord)