Tutorial: Configuración de una cola de sesiones de juego para instancias de spot - Amazon GameLift

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Configuración de una cola de sesiones de juego para instancias de spot

Introducción

En este tutorial se describe cómo configurar la ubicación de las sesiones de juego para los juegos implementados en flotas de spot de bajo costo. Las flotas de spot requieren medidas adicionales para mantener la disponibilidad continua de los servidores de juego para los jugadores.

Destinatarios previstos

Este tutorial está dirigido a los desarrolladores de juegos que quieran utilizar las flotas de spot para alojar servidores de juegos personalizados o Realtime Servers.

Aprenderá a lo siguiente:
  • Definir el grupo de jugadores al que sirve la cola de la sesión de juego.

  • Construir una infraestructura de flota que respalde el ámbito de la cola de sesiones de juego.

  • Asignar un alias a cada flota para abstraer el ID de la flota.

  • Crear una cola, añadir flotas y priorizar dónde coloca Amazon GameLift las sesiones de juego.

  • Añadir políticas de latencia de los jugadores para ayudar a minimizar los problemas de latencia.

Requisitos previos

Antes de crear flotas y colas para ubicar en las sesiones de juego, realice las siguientes tareas:

Paso 1: Definición del ámbito de la cola

En este tutorial, diseñaremos una cola para un juego que tiene una variación de compilación de servidor de juegos. En el momento del lanzamiento, publicaremos el juego en dos ubicaciones: Asia-Pacífico (Seúl) y Asia-Pacífico (Singapur). Como esas ubicaciones están cerca, la latencia no es un problema para nuestros jugadores.

En este ejemplo, hay un segmento de jugadores, lo que significa que crearemos una cola. En el futuro, cuando lancemos el juego en Norteamérica, podremos crear una segunda cola destinada a los jugadores de Norteamérica.

Para obtener más información, consulte Definición del ámbito de la cola.

Paso 2: Creación de una infraestructura de flota de spot

Cree flotas en ubicaciones y con compilaciones de servidores de juegos o scripts que se ajusten al ámbito definido en Paso 1: Definición del ámbito de la cola.

En este tutorial, crearemos una infraestructura de dos ubicaciones con al menos una flota de spot y una flota bajo demanda en cada ubicación. Todas las flotas implementan la misma compilación del servidor de juegos. Además, prevemos que el tráfico de jugadores será mayor en la ubicación de Seúl, por lo que añadiremos más flotas de spot allí.

En el siguiente diagrama se muestra un ejemplo de infraestructura de flota de spot, con 3 flotas en la ubicación ap-northeast-2 (Seúl) y 2 flotas en la ubicación ap-southeast-1 (Singapur). Todas las instancias de ambas flotas utilizan la compilación MBG_prod_V1. La flota de ap-northeast-2 contiene las siguientes configuraciones de flota: flota 1234_spot_1 con un tipo de instancia c5.large, flota 1234_spot_2 con un tipo de instancia c5.xlarge y flota 1234_ondemand con un tipo de instancia c5.large. La flota de ap-southeast-1 contiene las siguientes configuraciones de flota: flota 1234_spot_1 con un tipo de instancia de c5.large y flota 1234_ondemand con un tipo de instancia de c5.large.

Una infraestructura de flota de spot con ubicaciones en Asia-Pacífico (Seúl) y Asia-Pacífico (Singapur) con una combinación de instancias de spot y bajo demanda.

Paso 3: Asignación de alias a cada flota

Cree un nuevo alias para cada flota de su infraestructura. Los alias abstraen las identidades de la flota, lo que hace que el reemplazo periódico de la flota sea eficiente. Para obtener más información sobre la creación de alias, consulte Añadir un alias a una GameLift flota de Amazon.

Nuestra infraestructura de flota tiene cinco flotas, por lo que creamos cinco alias mediante la estrategia de enrutamiento. Necesitamos tres alias en la ubicación Asia-Pacífico (Seúl) y dos en la ubicación Asia-Pacífico (Singapur).

El siguiente diagrama muestra la infraestructura de flota de spot descrita en el paso dos con los alias añadidos a cada flota. La flota 1234_spot_1 tiene el alias MBG_spot_1, la flota 1234_spot_2 tiene el alias MBG_spot_2 y la flota 1234_ondemand tiene el alias MBG_ondemand.

El ejemplo de infraestructura de flota de spot descrito en el paso 2 con alias que apuntan a cada flota.

Para obtener más información, consulte Creación una cola con varias ubicaciones.

Paso 4: Creación de una cola con destinos

Cree la cola de las sesiones del juego y añada los destinos de su flota. Para obtener más información sobre la creación de una cola, consulte Creación de una cola de sesión de juego.

Al crear la cola:

  • Establezca el valor predeterminado del tiempo de espera en 10 minutos. Más adelante, podrá comprobar cómo afecta el tiempo de espera de la cola a los tiempos de espera de los jugadores para entrar en los juegos.

  • Omita por ahora la sección sobre las políticas de latencia de los jugadores. Nos ocuparemos de ello en el siguiente paso.

  • Priorice las flotas de la cola. Cuando trabaje con flotas de spot, le recomendamos que adopte uno de los siguientes enfoques:

    • Si su infraestructura utiliza una ubicación principal con las flotas en una segunda ubicación como respaldo, priorice las flotas primero por ubicación y luego por tipo de flota.

    • Si su infraestructura utiliza varias ubicaciones por igual, priorice las flotas por tipo de flota y coloque las flotas de spot en la parte superior de la lista.

Para este tutorial, crearemos una nueva cola con el nombre MBG_spot_queue y añadiremos los alias de nuestras cinco flotas. Después, priorizaremos las ubicaciones primero por ubicación y, en segundo lugar, por tipo de flota.

Según esta configuración, esta lista siempre intentará incluir nuevas sesiones de juego en una flota de spot en Seúl. Cuando esas flotas estén llenas, la cola utilizará la capacidad disponible en la flota bajo demanda de Seúl como reserva. Si las tres flotas de Seúl no están disponibles, Amazon GameLift ubicará las sesiones de juego en las flotas de Singapur.

En el siguiente diagrama se muestra una cola con un tiempo de espera de 300 segundos y los destinos priorizados. Los destinos están en el siguiente orden: 1234_spot_1 en ap-northeast-2, 1234_spot_2 en ap-northeast-2, 1234_ondemand en ap-northeast-2, 1234_spot_1 en ap-southeast-1 y 1234_ondemand en ap-southeast-1.

Un ejemplo de cola de spot con varias flotas de spot y flotas de reserva bajo demanda.

Paso 5: Adición de límites de latencia a la cola

Nuestro juego incluye información de latencia en las solicitudes de ubicación de las sesiones de juego. También tenemos una característica de grupo de jugadores que crea una sesión de juego para un grupo de jugadores. Podemos hacer que los jugadores esperen un poco más para empezar a jugar con la experiencia de juego ideal. Nuestras pruebas de juego muestran las siguientes observaciones:

  • Lo ideal es una latencia inferior a 50 milisegundos.

  • El juego no se puede jugar con latencias superiores a 250 milisegundos.

  • Los jugadores tardan aproximadamente un minuto en impacientarse.

Para nuestra cola, con un tiempo de espera de 300 segundos, añadimos instrucciones de política que limitan la latencia permitida. Las instrucciones de política permiten gradualmente valores de latencia más altos, de hasta 250 milisegundos.

Con esta política, nuestra cola busca ubicaciones con una latencia ideal (inferior a 50 milisegundos) durante el primer minuto y, a continuación, flexibiliza el límite. La cola no incluye ubicaciones en las que la latencia de los jugadores sea de 250 milisegundos o más.

El siguiente diagrama muestra la cola del paso cuatro con las políticas de latencia de los jugadores añadidas. Las políticas de latencia de los jugadores establecen el límite de 50 ms durante 60 segundos, el límite de 125 ms durante 30 segundos y el límite de 250 ms hasta que se agote el tiempo de espera.

La cola de ejemplo del paso cuatro con las políticas de latencia de los jugadores añadidas. Las políticas de latencia de los jugadores establecen el límite de 50 ms durante 60 segundos, el límite de 125 ms durante 30 segundos y el límite de 250 ms hasta que se agote el tiempo de espera.

Resumen

¡Enhorabuena! Estos son los objetivos conseguidos:

  • Tiene una cola de sesiones de juego limitada a un segmento de la población de jugadores.

  • La cola utiliza las flotas de spot de forma eficaz y es resiliente cuando se producen interrupciones de spot.

  • La cola prioriza las flotas para que la experiencia de los mejores jugadores sea la mejor.

  • La cola dispone de límites de latencia para proteger a los jugadores de malas experiencias de juego.

Ahora puede utilizar la cola para ubicar sesiones de juego para los jugadores a los que sirve. Al realizar solicitudes de ubicación de sesiones de juego para esos jugadores, hace referencia al nombre de la cola de sesiones de juego en la solicitud. Para obtener más información sobre cómo realizar solicitudes de ubicación en sesiones de juego, consulte Creación de sesiones de juego o Integración de un cliente de juegos para Realtime Servers.

Pasos siguientes: