api.group() to manage groups or request another server for a group.
Create a group
This example creates a Paper lobby group and its blueprint. SimpleCloud keeps one lobby running and can scale the group up to three servers while maintaining 20 available player slots.createBlueprint(...) with:
createBlueprint and an existing blueprint or image source.
CreateGroupRequest fields
CreateGroupRequest fields
string
required
Group name. Up to 100 characters of ASCII letters, digits, underscores, and hyphens (
[A-Za-z0-9_-]). Must be unique within the network, case-insensitive — Lobby and lobby are treated as the same name. A group and a persistent server may share a name. Creating or renaming to a name that only differs by case from an existing group returns 409 Conflict.GroupServerType
SERVER for game servers or PROXY for proxies. Defaults to SERVER.integer | null
Minimum memory in MB.
integer | null
Maximum memory in MB.
integer
Player limit per server. Defaults to
50.boolean
Whether the group may create servers. Defaults to
true.integer | null
Group priority.
DeploymentConfig | null
Host selection settings.
ScalingConfig | null
Minimum and maximum servers and scaling behavior.
SourceConfig | null
Existing blueprint or container image used by the group.
CreateBlueprintRequest | null
Blueprint to create with the group.
WorkflowsConfig | null
Lifecycle and manual workflows.
Map<String, Object> | null
Custom group properties.
List<String> | null
Tags used to organize and filter groups.
Find groups
Look up a group by name or ID:GroupQuery to filter the group list by type, tag, or result limit:
getAllGroups() without a query to return every group.
Update a group
UpdateGroupRequest changes only the fields you set:
name, type, minMemory, maxMemory, maxPlayers, active, priority, deployment, scaling, source, workflows, properties, and tags.
When updating a nested object such as ScalingConfig, provide all values you want it to contain. Use the property methods below when you only want to merge individual properties.
Manage group properties
Group properties store custom data for your plugins. Updates merge with the existing map.deleteGroupProperties to remove several keys at once. Each property method returns the resulting map.
Start another server
Request one additional server when a specific application action needs another instance:Inspect the start queue
The queue shows pending and failed manual start requests:findByServerGroupId and findByServerGroupName return null when the queue has no entry for the group.
Clear pending start requests for a group with:
Start queue fields
Start queue fields
GroupStartQueue contains totals across every group and a list of GroupStartQueueEntry objects.integer
required
Number of group entries.
integer
required
Number of pending starts.
integer
required
Number of failed starts.
integer
required
Total number of start requests.
List<GroupStartQueueEntry>
required
Queue entries grouped by server group.
GroupStartQueueEntry provides the group ID and name, its start counts, and a starts list. A GroupStartQueueItem provides its ID, creation time, status, and failure reason. Its status is PENDING, FAILED, or UNKNOWN.Delete a group
Group model reference
The following fields are available throughGroup getters.
string
required
Unique group identifier.
string
required
Group name.
GroupServerType
required
SERVER, PROXY, or UNKNOWN_SERVER.integer | null
Minimum memory in MB.
integer | null
Maximum memory in MB.
integer | null
Player limit per server.
boolean | null
Whether the group may create servers.
integer | null
Group priority.
DeploymentConfig | null
Host selection configuration.
ScalingConfig | null
Scaling configuration.
SourceConfig | null
Blueprint or container image source.
WorkflowsConfig | null
Lifecycle and manual workflows.
Map<String, Object> | null
Custom group properties.
List<String> | null
Group tags.
string
required
Creation timestamp in ISO 8601 format.
string
required
Last-update timestamp in ISO 8601 format.
ScalingConfig fields
ScalingConfig fields
integer
required
Minimum number of servers to maintain.
integer
required
Maximum number of servers the group may create.
ScalingMode | null
SLOTS maintains free capacity. PLAYERS scales from player utilization.integer
required
Free player slots to maintain in
SLOTS mode.number
required
Player utilization threshold between
0 and 1.ScaleDownConfig | null
Scale-down settings.
Group create and update operations support
SLOTS and PLAYERS scaling modes.