Administración de la forma en que Amazon GameLift lanza los servidores de juegos - 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.

Administración de la forma en que Amazon GameLift lanza los servidores de juegos

Puede establecer la configuración del tiempo de ejecución de una flota de EC2 administrada para que ejecute varios procesos de servidor de juegos por instancia. De esa manera, se utilizan sus recursos de alojamiento de manera más eficiente.

Modo en que una flota administra varios procesos

Amazon GameLift utiliza la configuración del entorno de ejecución de una flota para determinar el tipo y el número de procesos que ejecutar en cada instancia. Una configuración de tiempo de ejecución contiene al menos una configuración de proceso de servidor que representa un archivo ejecutable de servidor de juegos. Puede definir configuraciones de procesos de servidor adicionales para ejecutar otros tipos de procesos relacionados con el juego. Cada configuración del proceso del servidor contiene la siguiente información:

  • El nombre de archivo y la ruta de acceso de un ejecutable de la compilación del juego.

  • (Opcional) Los parámetros que se pasan al proceso del servidor durante el lanzamiento

  • El número de procesos que se van a ejecutar al mismo tiempo.

Cuando se activa una instancia de la flota, lanza inmediatamente el conjunto de procesos del servidor definidos en la configuración del tiempo de ejecución. Con varios procesos, Amazon GameLift escalona el lanzamiento de cada proceso. Los procesos del servidor tienen una vida útil limitada. Al finalizar, Amazon GameLift lanza nuevos procesos para mantener el número y el tipo de procesos del servidor definidos en la configuración del tiempo de ejecución.

Puede cambiar la configuración del entorno de ejecución de una flota en cualquier momento agregando, modificando o eliminando configuraciones de procesos del servidor. Cada instancia comprueba periódicamente si hay actualizaciones en la configuración del tiempo de ejecución de la flota para implementar los cambios. A continuación, le mostramos cómo Amazon GameLift realiza cambios en la configuración del tiempo de ejecución:

  1. La instancia envía una solicitud a Amazon GameLift para obtener la versión más reciente de la configuración del tiempo de ejecución.

  2. La instancia compara sus procesos activos con la configuración del tiempo de ejecución más reciente y, a continuación, realiza el siguiente procedimiento:

    • Si la configuración del tiempo de ejecución actualizada elimina un tipo de proceso del servidor, los procesos activos del servidor de ese tipo continúan ejecutándose hasta que terminan. La instancia no reemplaza esos procesos del servidor.

    • Si la configuración del tiempo de ejecución actualizada reduce el número de procesos simultáneos para un tipo de proceso del servidor: los procesos del servidor sobrantes de ese tipo continúan ejecutándose hasta que terminan. La instancia no reemplaza esos procesos del servidor sobrantes.

    • Si la configuración del tiempo de ejecución actualizada añade un nuevo tipo de proceso del servidor o aumenta los procesos simultáneos para un tipo existente, la instancia inicia los nuevos procesos del servidor hasta el número máximo de procesos en Amazon GameLift. En este caso, la instancia lanza nuevos procesos del servidor cuando los procesos existentes finalizan.

Optimización de una flota para varios procesos

Para utilizar varios procesos en una flota, realice el siguiente procedimiento:

  • Cree una compilación que contenga todos los archivos ejecutables del servidor de juegos que desee implementar en una flota y cargue la compilación en Amazon GameLift. Todos los servidores de juegos de una compilación deben ejecutarse en la misma plataforma y utilizar el SDK de Amazon GameLift Server.

  • Cree una configuración de tiempo de ejecución con una o varias configuraciones del proceso del servidor y múltiples procesos simultáneos.

  • Integre los clientes de juegos con la versión 2016-08-04 o posterior del SDK de AWS.

Para optimizar el rendimiento de la flota, le recomendamos que realice las siguientes acciones:

  • Gestionar los escenarios de cierre de procesos del servidor para que Amazon GameLift pueda reciclar los procesos de forma eficaz. Por ejemplo:

    • Añadir un procedimiento de cierre al código del servidor de juegos que llame a la API del servidor ProcessEnding().

    • Implementar la función de devolución de llamada OnProcessTerminate() en el código del servidor de juegos para administrar las solicitudes de finalización de Amazon GameLift.

  • Asegurarse de que Amazon GameLift cierre y vuelva a lanzar los procesos del servidor que no estén en buen estado. Informar del estado a Amazon GameLift mediante la implementación de la función de devolución de llamada de OnHealthCheck() en el código del servidor de juegos. Amazon GameLift cierra automáticamente los procesos del servidor en mal estado durante tres informes consecutivos. Si no implementa OnHealthCheck(), Amazon GameLift presupone que un proceso de servidor está en buen estado a menos que el proceso no responda a una comunicación.

Elección del número de procesos por instancia

Al decidir el número de procesos simultáneos que se van a ejecutar en una instancia, tenga en cuenta los siguientes aspectos:

  • Amazon GameLift limita cada instancia a un número máximo de procesos simultáneos. La suma de todos los procesos simultáneos de las configuraciones de procesos de los servidores de una flota no puede superar esa cuota.

  • Para mantener niveles de rendimiento aceptables, el tipo de instancia de Amazon EC2 puede limitar el número de procesos que pueden ejecutarse de forma simultánea Pruebe diferentes configuraciones del juego para encontrar el número correcto de procesos del tipo de instancia preferido.

  • Amazon GameLift no ejecuta más procesos simultáneos que el número total configurado. Esto significa que la transición de la configuración del tiempo de ejecución anterior a la nueva configuración podría producirse de forma gradual.