This page explains how to update and view details of a Game Servers rollout in a deployment. A rollout maps game server configs to target realms. For more information, see the Game Servers overview.
Before you begin
Before you start, we recommend you familiarize yourself with key concepts in the Game Servers Overview. Make sure you have also performed the following tasks:
- Ensure that you have enabled the Game Services API. Enable Game Services API
- Either choose a shell with Cloud SDK installed, or use an API client:
Go to Google Cloud Console.
From the upper-right corner of the console, click the Activate Cloud Shell button:
Cloud Shell
To launch Cloud Shell, perform the following steps:
A Cloud Shell session opens inside a frame lower on the console.
You use this shell to run gcloud
commands.
Local shell
To install gcloud
, install the Cloud SDK,
which includes the gcloud
command-line tool.
Verify that you have set desired default project for gcloud
command-line tool (otherwise you need to specify flag --project
explicitly for each command later):
gcloud config list project
If not you can run the following command to set a default project, replacing project-id
with your desired project ID :
gcloud config set project project-id
Run the following command to verify your version of the Google Cloud SDK.
Game Servers requires version 306.0.0
or higher of the SDK.
gcloud version
To update your installation, run the following command:
gcloud components update
Client Library
Google Cloud Game Servers can be controlled programmatically using a client library. See Client Libraries Overview for instructions on using the library and authenticating.
Updating a rollout
Make sure you have created a Game Servers config.
Updating a rollout's default config
Console
In the Cloud Console, go to the Game Server Deployments page.
Find a deployment in the table. In the last table column, click the ellipses more_vert and select List configs. You can view the active and inactive configs for the deployment from this page.
Click Manage Rollout.
(Optional) In the Select a config list, choose a default config that applies to all realms in the deployment.
Click Save.
gcloud
To update the default config of a Game Servers rollout using the
gcloud
command-line tool:
Run the following command after replacing the following placeholder values:
- deploymentID is the unique identifier for the deployment.
- configID is a unique identifier for the config.
gcloud game servers deployments update-rollout deploymentID --default-config configID --dry-run
The output returns the
targetState
so that you can preview the changes.To apply the changes, run the following command:
gcloud game servers deployments update-rollout deploymentID --default-config configID --no-dry-run
Go
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Node.js
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Python
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Clearing a rollout's default config
Clear the default config to remove the fleet config for this deployment from all Game Servers clusters.
Console
In the Cloud Console, go to the Game Server Deployments page.
Find a deployment in the table. In the last table column, click the ellipses more_vert and select List configs. You can view the active and inactive configs for the deployment from this page.
Click Manage Rollout.
In the Select a config list, select (no default config).
Click Save.
gcloud
To clear the default config of a Game Servers rollout using the
gcloud
command-line tool:
Run the following command after replacing the following placeholder value:
- deploymentID is the unique identifier for the deployment.
gcloud game servers deployments update-rollout deploymentID --clear-default-config --dry-run
The output returns the
targetState
so that you can preview the changes.To apply the changes, run the following command:
gcloud game servers deployments update-rollout deploymentID --clear-default-config --no-dry-run
Go
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Node.js
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Python
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Overriding the config for realms
Console
In the Cloud Console, go to the Game Server Deployments page.
Find a deployment in the table. In the last table column, click the ellipses more_vert and select List configs. You can view the active and inactive configs for the deployment from this page.
Click Manage Rollout.
(Optional) In the Select a config list, choose a default config that applies to all realms in the deployment that don't match an override config.
Under Override configs, you can specify one or more override configs and the realms to associate them with.
- Select an override config from the Config list and the realm to associate with it from the Realm list.
- Use the arrow buttons to change the priority ordering of the override configs in the list.
- Click Add.
Click Save.
gcloud
To apply config overrides to particular realms using the gcloud
command-line tool:
Copy the following code into a file and replace the following placeholder values:
- realmID is the fully-qualified identifier for a realm,
such as
projects/<projectID>/locations/<region>/realms/<realmID2>
. - configID is a unique identifier for the config.
- realmsSelector: realms: - realmID configVersion: configID
- realmID is the fully-qualified identifier for a realm,
such as
Run the following command after replacing the following placeholder values:
- deploymentID is the unique identifier for the deployment.
- configOverrideFile is the path to the file with the override config.
gcloud game servers deployments update-rollout deploymentID --config-overrides-file configOverrideFile --dry-run
The output returns the
targetState
so that you can preview the changes.To apply the changes, run the following command:
gcloud game servers deployments update-rollout deploymentID --config-overrides-file configOverrideFile --no-dry-run
Go
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Node.js
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Python
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Clearing config overrides
Console
In the Cloud Console, go to the Game Server Deployments page.
Find a deployment in the table. In the last table column, click the ellipses more_vert and select List configs. You can view the active and inactive configs for the deployment from this page.
Click Manage Rollout.
Under Override configs, click the trash can icon next to the override configs you want to clear.
Click Save.
gcloud
To clear the config overrides of a Game Servers rollout using the
gcloud
command-line tool:
Run the following command after replacing the following placeholder value:
- deploymentID is the unique identifier for the deployment.
gcloud game servers deployments update-rollout deploymentID --clear-config-overrides --dry-run
The output returns the
targetState
so that you can preview the changes.To apply the changes, run the following command:
gcloud game servers deployments update-rollout deploymentID --clear-config-overrides --no-dry-run
Go
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Node.js
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Python
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Viewing details about a rollout
Console
In the Cloud Console, go to the Game Server Deployments page.
Find a deployment in the table. In the last table column, click the ellipses more_vert and select List configs. You can view the active and inactive configs for the deployment from this page.
Click Manage Rollout.
gcloud
You can view details about a rollout, such as the configs in use, using the gcloud
command-line tool:
To view the details of a rollout, run the following command after replacing the following placeholder value:
- deploymentID is the unique identifier for the parent deployment.
gcloud game servers deployments describe-rollout deploymentID
The output displays the details of the rollout.
You can also view the state of the game server clusters after the rollout has been applied, using the gcloud
command-line tool:
gcloud game servers deployments fetch-state deploymentID
The output displays the changes applied by the rollout on each game server cluster.
Go
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Node.js
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Python
To learn how to install and use the client library for Game Servers, see the Game Servers Client Libraries.
Troubleshooting rollouts
This section describes why Game Servers might not being able to update game server clusters. A common cause can be due to the misconfiguration of Game Servers or game server clusters. You can work through the following checklist to help you diagnose potential problems you encounter:
- Check that the following prerequisites for an Agones cluster are met:
- Make sure that the cluster is running and that Agones is installed. To verify that the
agones-controller
pod is in theRunning
state, run the following command:kubectl get pods -n agones-system -l agones.dev/role=controller
- Make sure that the game server namespace has the required role-based access controls (RBAC) permissions for the Agones controller.
- Make sure that the installed version of Agones is supported by Game Servers.
- Make sure that the cluster is running and that Agones is installed. To verify that the
- Check the Agones troubleshooting guide.
- Check that the Game Servers deployment resource is correctly configured:
- If you're using an override config, make sure that the deployment applies to the realm with the target cluster.
- Make sure that the fleet specification is correctly configured. To validate your fleet specification, try to bring up a game server manually.
- If a scheduled change didn't happen, make sure that the schedule is correctly configured. A schedule's timezone follows the realm's timezone.
What's next
Learn how to delete a config.