Skip to main content
The Groups API lets you create, query, update, and delete server groups. Access it via api.group().

Get Groups

// Get all groups
api.group().getAllGroups()
    .thenAccept(groups -> groups.forEach(g -> System.out.println(g.getName())));

// Get all groups with query filters
api.group().getAllGroups(new GroupQuery())
    .thenAccept(groups -> { ... });

// Get group by name
api.group().getGroupByName("lobby")
    .thenAccept(group -> System.out.println(group.getId()));

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

Create Group

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("Created: " + group.getId()));

Update Group

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

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

Delete Group

api.group().deleteGroup("group-uuid")
    .thenAccept(success -> System.out.println("Deleted: " + success));
Deleting a group doesn’t stop running servers. Stop servers first if needed.

Group Properties

Groups support custom key-value properties for metadata:
// Add or update properties (merges with existing)
Map<String, String> props = Map.of(
    "gameMode", "ADVENTURE",
    "region", "eu-west"
);
api.group().updateGroupProperties("group-uuid", props);

// Remove specific properties
api.group().deleteGroupProperties("group-uuid", List.of("region"));
Properties are available in servers as environment variables prefixed with SIMPLECLOUD_.

Group Model

PropertyTypeDescription
idStringUnique identifier
nameStringGroup name
typeGroupServerTypeSERVER or PROXY
minMemoryintMinimum memory (MB)
maxMemoryintMaximum memory (MB)
maxPlayersintPlayer limit per server
minOnlineCountintMinimum servers running
maxOnlineCountintMaximum servers allowed
propertiesMap<String, String>Custom metadata
scalingConfigScalingConfigAuto-scaling settings
deploymentConfigDeploymentConfigHost deployment settings
sourceConfigSourceConfigBlueprint or image source

GroupServerType

ValueDescription
SERVERGame server (Paper, Spigot, etc.)
PROXYProxy server (Velocity, BungeeCord)