Scheduling Strategy
The scheduling strategy influences how game servers are placed on nodes. This setting applies to both Armadas and Vessels deployed in the Region.
API Only
This feature is currently only available via the API.
Overview
When creating or updating a Region, the scheduling field within each Region Type's template influences game server placement.
Options
| Value | Description | Use case |
|---|---|---|
Packed | Game servers gravitate toward shared nodes using pod affinity | Cloud or dynamic clusters. Helps reduce infrastructure costs. |
Distributed | Game servers spread across nodes based on available resources | Static or on-premises clusters. Improves fault tolerance. |
Default: Packed
INFO
Scheduling changes only take effect when new game servers are started. Existing game servers retain their original scheduling until they are restarted.
API Usage
The scheduling strategy is configured per Region Type. In the API payload, set template.scheduling on each entry in spec.types. For the full API specification, see the Region API reference.
The following snippet shows the relevant structure. The field accepts Packed (default) or Distributed:
{
"spec": {
"types": [
{
"template": {
"scheduling": "Packed"
}
}
]
}
}Full example
The following request creates a Region with the Distributed scheduling strategy:
curl -X 'POST' \
"https://${GAMEFABRIC_URL}/api/core/v1/environments/${ENV}/regions" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer ${GAMEFABRIC_API_TOKEN}" \
-d '{
"apiVersion": "core/v1",
"kind": "Region",
"metadata": {
"name": "eu-west",
"environment": "${ENV}"
},
"spec": {
"displayName": "EU West",
"description": "European West region",
"types": [
{
"name": "default",
"locations": ["${LOCATION}"],
"template": {
"scheduling": "Distributed"
}
}
]
}
}'Use cases
Packed (default)
This strategy is most relevant in the following scenarios:
- For cloud environments where you pay per node
- For dynamic clusters that scale based on demand
- When cost optimization is a priority
Distributed
This strategy is most relevant in the following scenarios:
- For on-premises or static clusters
- When there are high availability requirements
- For even resource distribution across infrastructure
Reference
- For details on updating Regions, see the Region API reference.
- For more details on how scheduling affects game server allocation, see the Agones GameServerAllocation documentation.