En esta página, se explica cómo registrar, editar, enumerar y ver detalles de una configuración de Game Servers en una implementación. Esta configuración define la especificación de la flota de Agones, que incluye información sobre el recuento de servidores de juegos, el búfer y la versión del servidor de juegos. En este archivo de configuración también se define la configuración de escalamiento, que especifica cómo el escalamiento automático de la flota aumenta y disminuye de forma automática para satisfacer la demanda.
Antes de comenzar
Antes de comenzar, te recomendamos que te familiarices con los conceptos clave en la Descripción general de servidores para juegos. Asegúrate de haber realizado las siguientes tareas:
- Asegúrate de haber habilitado la API de los servicios de juego. Habilitar la API de servicios de juego
- Elige una shell que tenga gcloud CLI instalada o usa un cliente de API:
Ve a la consola de Google Cloud.
Desde la esquina superior derecha de la consola, haz clic en el botón Activar Cloud Shell: .
- Crea una cuenta de servicio.
- Descarga una clave privada como un archivo JSON.
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.
Cloud Shell
Para iniciar Cloud Shell, sigue estos pasos:
Se abrirá una sesión de Cloud Shell dentro de un marco en la parte inferior en la consola.
Usa esta shell para ejecutar los comandos de gcloud
.
Shell local
Instala la CLI de gcloud
Verifica que hayas configurado el proyecto predeterminado que deseas para Google Cloud CLI (de lo contrario, debes especificar la marca --project
de forma explícita para cada comando más adelante):
gcloud config list project
Si no puedes ejecutar el siguiente comando para configurar un proyecto predeterminado, reemplaza PROJECT_ID
por el ID del proyecto deseado:
gcloud config set project PROJECT_ID
Ejecuta el siguiente comando para verificar tu versión de Google Cloud CLI.
Game Servers requiere la versión 306.0.0
o una posterior de gcloud CLI.
gcloud version
Para actualizar la instalación, ejecuta el siguiente comando:
gcloud components update
curl / PowerShell
Para usar la API de REST con curl
o Windows PowerShell, haz lo siguiente:
Biblioteca cliente
Google Cloud Game Servers se puede controlar de manera programática mediante una biblioteca cliente. Consulta Descripción general de bibliotecas cliente a fin de obtener instrucciones para usar la biblioteca y la autenticación.
Crea una configuración
Asegúrate de haber creado una implementación de Game Servers.
Consola
En la consola de Google Cloud, ve a la página Implementaciones de servidor de juegos.
Busca una implementación en la tabla. En la última columna de la tabla, haz clic en la elipsis more_vert y selecciona List configs. Puedes ver los archivos de configuración activos e inactivos para la implementación desde esta página.
A fin de crear una configuración nueva para la implementación, haz clic en Create Config.
En el cuadro Config name, ingresa un identificador único para esta configuración.
En el cuadro Description, ingresa una descripción para esta configuración (opcional).
En el cuadro Fleet config name, ingresa un identificador único para esta configuración de flota.
En el cuadro Fleet spec, ingresa la especificación de la flota.
En Scaling config, puedes especificar una o más configuraciones que aumentan o reducen de forma automática la flota (opcional). Haz clic en Add para agregar una configuración de escalamiento.
- En el cuadro Scaling Config Name, ingresa un identificador único para esta configuración de escalamiento.
- De forma opcional, en los cuadros Start Time y End Time, programa el período para el que estará activa esta configuración de escalamiento. Consulta Crea programas de escalamiento para obtener más información.
- En el cuadro Autoscaper spec, ingresa la especificación de escalamiento.
gcloud
Puedes crear una configuración de Game Servers en una implementación mediante Google Cloud CLI.
Sigue estos pasos a fin de crear una configuración de servidor para videojuegos:
Copia esta especificación de flota en un archivo.
- 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
Ejecuta el siguiente comando y reemplaza los valores del marcador de posición, como deploymentID y configID, por los valores apropiados:
gcloud game servers configs create configID --deployment deploymentID --fleet-configs-file fleetSpecFile
Los marcadores de posición de variables corresponden a las siguientes descripciones:
- configID es un identificador único que puedes especificar para esta configuración.
- deploymentID es el identificador único de la implementación.
- fleetSpecFile es la ruta al archivo con la especificación de la flota de Agones.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.
- DEPLOYMENT_ID: Es el identificador definido por el usuario para la implementación.
- CONFIG_ID: Es un identificador definido por el usuario para la configuración.
Cuerpo JSON de la solicitud:
{ "fleetConfigs": [ { "name": "fleet-spec-1", "fleetSpec": "{ \"replicas\": 10, \"scheduling\": \"Packed\", \"template\": { \"metadata\": { \"labels\": { \"gameName\": \"udp-server\" } }, \"spec\": { \"ports\": [ { \"name\": \"default\", \"portPolicy\": \"Dynamic\", \"containerPort\": 7654, \"protocol\": \"UDP\" } ], \"health\": { \"periodSeconds\": 60, \"initialDelaySeconds\": 30 }, \"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\" } } } ] } } } } }" } ] }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/CONFIG_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Edita las opciones de configuración
No puedes editar una configuración de Game Servers porque las opciones de configuración son inmutables. Si deseas editar una configuración, cópiala (consulta los detalles de la configuración), edítala de forma local y usa la versión actualizada para crear una configuración nueva.
Enumera las opciones de configuración
Consola
En la consola de Google Cloud, ve a la página Implementaciones de servidor de juegos.
Busca una implementación en la tabla. En la última columna de la tabla, haz clic en la elipsis more_vert y selecciona List configs. Puedes ver los archivos de configuración activos e inactivos para la implementación desde esta página.
gcloud
Puedes enumerar los parámetros de configuración con Google Cloud CLI.
Para enumerar todas las opciones de configuración, ejecuta el siguiente comando:
gcloud game servers configs list
Para enumerar todas las opciones de configuración en una implementación, ejecuta el siguiente comando y reemplaza deploymentID por la implementación superior en la que deseas enumerar las configuraciones:
gcloud game servers configs list --deployment=deploymentID
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.
- DEPLOYMENT_ID: Es el identificador definido por el usuario para la implementación.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "gameServerConfigs": [ { "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/MY-CONFIG-1", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "fleetConfigs": [ { "fleetSpec": ... "name": "MY-CONFIG-1" } ], "description": "Config 1" }, { "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/MY-CONFIG-2", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "fleetConfigs": [ { "fleetSpec": ... "name": "MY-CONFIG-2" } ], "description": "Config 2" }, ] }
Visualiza detalles sobre una configuración
Consola
En la consola de Google Cloud, ve a la página Implementaciones de servidor de juegos.
Busca una implementación en la tabla. En la última columna de la tabla, haz clic en la elipsis more_vert y selecciona List configs. Puedes ver los archivos de configuración activos e inactivos para la implementación desde esta página.
Busca una configuración en la tabla. En la última columna de la tabla, haz clic en la elipsis more_vert y selecciona View config.
gcloud
Puedes encontrar detalles sobre un archivo de configuración, como la hora de creación, con Google Cloud CLI:
Para ver los detalles de una configuración, ejecuta el siguiente comando y reemplaza los valores del marcador de posición, como deploymentID y configID, con los valores apropiados:
gcloud game servers configs describe configID --deployment deploymentID
El resultado te brinda los detalles de la configuración.
Los marcadores de posición de variables corresponden a las siguientes descripciones:
- configID es el identificador único que especificaste para esta configuración de servidor para videojuegos.
- deploymentID es un identificador único para la implementación superior.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.
- DEPLOYMENT_ID: Es el identificador definido por el usuario para la implementación.
- CONFIG_ID: Es el identificador definido por el usuario para la configuración.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/global/gameServerDeployments/DEPLOYMENT_ID/configs/CONFIG_ID", "createTime": CREATE_TIME, "updateTime": UPDATE_TIME, "fleetConfigs": [ { "fleetSpec": ... "name": "CONFIG_ID" } ], "description": "My config" }
¿Qué sigue?
Obtén información sobre cómo configurar el comportamiento de escalamiento del clúster.
Obtén más información sobre cómo implementar una configuración.
Obtén más información sobre cómo borrar una configuración.