Create a group
A group applies the same software, resources, and scaling behavior to each server it creates. The examples use the sharedCloudApi client created in Installation and belong inside your plugin’s methods.
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
Use up to 100 ASCII letters, digits, underscores, or hyphens (
[A-Za-z0-9_-]). Group names are unique within the network.Name matching is case-insensitive, so Lobby and lobby identify the same group. Creating or renaming a group to a case-only variation of an existing name returns 409 Conflict.A group and a persistent server may share a name.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 is the dashboard’s Slots mode and maintains free capacity. PLAYERS is the dashboard’s Servers mode and starts servers 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.
SLOTS can start and stop servers. PLAYERS only starts servers; it does not stop extra instances automatically.