Skip to content

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

ValueDescriptionUse case
PackedGame servers gravitate toward shared nodes using pod affinityCloud or dynamic clusters. Helps reduce infrastructure costs.
DistributedGame servers spread across nodes based on available resourcesStatic 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:

json
{
  "spec": {
    "types": [
      {
        "template": {
          "scheduling": "Packed"
        }
      }
    ]
  }
}

Full example

The following request creates a Region with the Distributed scheduling strategy:

bash
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