Tú controlas los clústeres del servidor para videojuegos con opciones globales de configuración del servidor para juegos, y definir las reglas para la ubicación y la cantidad de servidores que se deben activar, así como el objeto binario del servidor para juegos que se implementará. Game Servers crea paquetes Agones de forma automática según los lanzamientos administrados de manera central, lo que garantiza que se lancen de forma automática y segura en todos los clústeres administrados. En particular, las sesiones del juego en curso nunca se interrumpen porque un servidor para juegos en uso nunca se detiene.
Recursos de Game Servers
En esta sección, se describen los recursos principales con los que interactúas para administrar Game Servers. En la siguiente figura, se muestra cómo se usan estos recursos para implementar un proyecto de juego.
Figura 1. Ejemplo de implementación de proyecto de juego en Game Servers
Proyecto de Game Servers
Un entorno único, como producción o pruebas, y un proyecto de Google Cloud con Game Servers habilitado. Por lo general, para mejorar el aislamiento y la seguridad, sueles administrar un solo título de juego mediante varios proyectos de Google Cloud, como My Game production y My Game Testing.
Ubicación
La ubicación define el alcance de un recurso y el valor predeterminado es global
, que proporciona la mayor disponibilidad y en el que los datos son redundantes en varias regiones de Google Cloud. Puedes configurar la ubicación de un recurso de forma manual en una región de Google Cloud específica (no se admiten todas las regiones). Si deseas controlar dónde se almacenan los datos o cuáles son tus dominios de conmutación por error, anula la configuración predeterminada global
con una de las siguientes ubicaciones admitidas:
Ubicaciones admitidas
asia-east1
asia-east2
asia-northeast1
asia-northeast2
asia-northeast3
asia-south1
asia-southeast1
asia-southeast2
australia-southeast1
europe-central2
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
europe-west6
global
northamerica-northeast1
southamerica-east1
us-central1
us-east1
us-east4
us-west1
us-west2
Dominio
Game Servers está diseñado para admitir clústeres de Kubernetes que se ejecutan en Google Kubernetes Engine. Para aprovechar los conceptos de las regiones y zonas de Google Cloud, Game Servers presenta el concepto de metarregión de dominios. Un dominio es una agrupación definida por el usuario de clústeres de servidores para videojuegos según los requisitos de latencia del juego para las poblaciones de jugadores. Los dominios tienen una zona horaria asignada que les permite usar opciones de configuración de escalamiento basadas en el tiempo en clústeres dentro del dominio. Existen dominios dentro de una ubicación.
Clúster de servidor de videojuegos
Un clúster de servidor para videojuegos es un subrecurso de un recurso de dominio. Cada clúster del servidor para videojuegos corresponde a un espacio de nombres en un clúster de Kubernetes que ejecuta Agones que está registrado en un dominio. Los clústeres de servidores para videojuegos dentro de un dominio deben considerarse equivalentes desde la perspectiva de la experiencia del usuario con respecto a mediciones, como la latencia o el rendimiento del procesamiento. El uso de un espacio de nombres que no sea default
requiere que el espacio de nombres se cree en Kubernetes y Agones esté configurado para usarlo.
Después de crear un clúster de servidor para videojuegos, Game Servers crea flotas de Agones y escaladores automáticos según sea necesario. Game Servers no altera las flotas de Agones creadas manualmente.
Después de borrar un clúster del servidor de juegos, Game Servers no borra ningún recurso en el clúster, incluidas las flotas de Agones y los escaladores automáticos creados por Game Servers.
Implementación del servidor para videojuegos
Una implementación del servidor para videojuegos es un registro global de una versión de software de servidor para videojuegos que se puede implementar en cualquiera o todos los clústeres de servidores para videojuegos en todo el mundo. Una implementación del servidor para videojuegos es el recurso superior de los recursos de configuración del servidor para videojuegos y de lanzamiento.
Figura 2. La versión 1.0 de configuración se lanzó en el dominio de EE.UU. y la versión 1.1 se lanzó en los dominios de Europa y Japón.
Configuración del servidor para videojuegos
La configuración del servidor para videojuegos es un subrecurso del recurso de implementación de un servidor para videojuegos que especifica el recuento de servidores, el búfer y la versión del servidor para videojuegos. Debes definir políticas de escalamiento en una configuración del servidor para videojuegos. Las políticas de escalamiento pueden ser estáticas o basadas en el tiempo, como se ilustra en los siguientes ejemplos:
- Durante las horas de mayor demanda, debería haber suficientes servidores para admitir N asignaciones por minuto, durante las horas de menor demanda M asignaciones por minuto.
- Para eventos de juegos planificados, aumenta la capacidad reservada en un N% para un intervalo de fecha y hora.
Lanzamiento
Un lanzamiento es un subrecurso de un recurso de implementación de un servidor para videojuegos que asigna la configuración del servidor para videojuegos a fin de orientarse a los dominios objetivo. De forma predeterminada, un lanzamiento asigna una configuración de servidor para videojuegos a todos los dominios. Para las pruebas A/B y las pruebas de la versión canary, puedes anular dominios específicos para recibir una configuración alternativa del servidor para videojuegos.
Arquitectura
Game Servers expone una API del plano de control disponible de manera global, a través de la cual puedes controlar los recursos que describen la implementación mediante llamadas a la API, Google Cloud Console o Google Cloud CLI, incluidas las siguientes:
- Crear y modificar dominios
- Crear, registrar y modificar clústeres de servidores para videojuegos en dominios
- Crear, implementar y actualizar implementaciones de servidores para videojuegos, opciones de configuración de servidor para videojuegos y lanzamientos
Debe haber una cuenta de servicio de Kubernetes para que Agones administre los servidores de videojuegos en el espacio de nombres que pasas a Game Servers cuando creas un clúster de Game Servers. Si usas un espacio de nombres que no sea el predeterminado, por lo general, crearás esta cuenta de servicio como parte de la instalación de helm.
Se debe implementar una cuenta de servicio del proyecto de Google Cloud para que Game Servers se conecte a los clústeres de Agones. Esta cuenta de servicio se crea de forma automática la primera vez que creas un recurso, como un dominio o una implementación.
Cada implementación del servidor para videojuegos describe sus parámetros, equivalente a un GameServerSpec
de Agones, y especifica una política para orientar los clústeres de servidores para videojuegos, en los que se deben crear flotas de servidores para juegos que ejecuten una compilación en particular. También puedes establecer preferencias de escalamiento de clúster individuales mediante políticas.
¿Qué sigue?
- Prueba la guía de inicio rápido.
- Si deseas información para completar tareas de Game Servers específicas.