This page explains how to register, edit, list, and view details of a Game Servers config in a deployment.
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.
Creating a config
Make sure you have created a Game Servers deployment.
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.
To create a new config for the deployment, click Create Config.
In the Config name box, enter a unique identifier for this config.
(Optional) In the Description box, enter a description for this config.
In the Fleet config name box, enter a unique identifier for this fleet config.
In the Fleet spec box, enter the fleet specification.
(Optional) Under Scaling config, you can specify one or more configs that automatically scale the fleet up or down. Click Add to add a scaling config.
- In the Scaling Config Name box, enter a unique identifier for this scaling config.
- (Optional) In the Start Time and End Time boxes, schedule the time period for when this scaling config will be active. See Creating scaling schedules for more information.
- In the Autoscaper spec box, enter the scaling specification.
gcloud
You can create a Game Servers config in a deployment using the
gcloud
command-line tool.
To create a game server config:
Copy this fleet specification into a file.
- name: fleet-spec-1 fleetSpec: replicas: 10 scheduling: Packed strategy: type: RollingUpdate rollingUpdate: maxSurge: 25% maxUnavailable: 25% template: metadata: labels: gameName: udp-server spec: ports: - name: default portPolicy: Dynamic containerPort: 7654 protocol: UDP health: initialDelaySeconds: 30 periodSeconds: 60 sdkServer: logLevel: Info grpcPort: 9357 httpPort: 9358 template: spec: containers: - name: dedicated image: gcr.io/agones-images/udp-server:0.21 imagePullPolicy: Always resources: requests: memory: 200Mi cpu: 500m limits: memory: 200Mi cpu: 500m
Run the following command and replace the placeholder values, such as deploymentID and configID, with appropriate values:
gcloud game servers configs create configID --deployment deploymentID --fleet-configs-file fleetSpecFile
The variable placeholders correspond to the following descriptions:
- configID is a unique identifier that you can specify for this config.
- deploymentID is the unique identifier for the deployment.
- fleetSpecFile is the path to the file with the Agones Fleet specification.
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.
Editing configs
You can't edit a Game Servers config because configs are immutable. If you want to edit a config, copy the config (view config details), edit it locally, and use the updated version to create a new config.
Listing configs
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.
gcloud
You can list configs using the gcloud
command-line tool.
To list all configs, run the following command:
gcloud game servers configs list
To list all configs in a deployment, run the following command and replace deploymentID with the parent deployment that you want to list the configs in:
gcloud game servers configs list --deployment=deploymentID
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 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.
Find a config in the table. In the last table column, click the ellipses more_vert and select View config.
gcloud
You can find details about a config, such as the creation time, using the gcloud
command-line tool:
To view the details of a config, run the following command and replace the placeholder values, such as deploymentID and configID, with appropriate values:
gcloud game servers configs describe configID --deployment deploymentID
The output gives you the details of the config.
The variable placeholders correspond to the following descriptions:
- configID is the unique identifier that you specified for this game server config.
- deploymentID is a unique identifier for the parent deployment.
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.
What's next
Learn how to configure cluster scaling behavior.
Learn how to rollout a config.
Learn how to delete a config.