Gestiona la forma en que Amazon GameLift lanza 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.

Gestiona la forma en que Amazon GameLift lanza servidores de juegos

Puede configurar el tiempo de ejecución de una flota de EC2 gestionada para ejecutar varios procesos de servidor de juegos por instancia. Esto utiliza tus recursos de alojamiento de manera más eficiente.

Modo en que una flota administra varios procesos

Amazon GameLift utiliza la configuración de tiempo de ejecución de una flota para determinar el tipo y el número de procesos que se van a 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 ejecutable de servidor de juegos. Puedes definir configuraciones de procesos de servidor adicionales para ejecutar otros tipos de procesos relacionados con tu 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 de forma simultánea.

Cuando se activa una instancia de la flota, lanza 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. A medida que finalizan, Amazon GameLift lanza nuevos procesos para mantener la cantidad 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. Así es como Amazon GameLift adopta los 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 de ejecución más reciente y, a continuación, hace lo siguiente:

    • Si la configuración de tiempo de ejecución actualizada elimina un tipo de proceso de servidor, los procesos de servidor activos de este tipo seguirán ejecutándose hasta que finalicen. La instancia no reemplaza estos procesos del servidor.

    • Si la configuración de tiempo de ejecución actualizada reduce el número de procesos simultáneos para un tipo de proceso de servidor, los procesos de servidor sobrantes de este tipo seguirán ejecutándose hasta que finalicen. La instancia no reemplaza estos procesos de servidor excesivos.

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

Optimice una flota para múltiples procesos

Para utilizar varios procesos en una flota, haga lo siguiente:

  • Crea una compilación que contenga los ejecutables del servidor del juego que quieres implementar en una flota y, a continuación, sube la compilación a Amazon GameLift. Todos los servidores de juegos de una compilación deben ejecutarse en la misma plataforma y utilizar el SDK para GameLift servidores de Amazon.

  • 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 delAWS SDK del 4 de agosto de 2016 o posterior.

Para optimizar el rendimiento de la flota, recomendamos que haga lo siguiente:

  • Gestione los escenarios de cierre de los procesos del servidor para que Amazon GameLift pueda reciclar los procesos de manera eficiente. Por ejemplo:

    • Añade un procedimiento de cierre al código del servidor del juego que llame a la API del servidorProcessEnding().

    • Implementa la función de devolución de llamadasOnProcessTerminate() en el código del servidor del juego para gestionar las solicitudes de cancelación de Amazon GameLift.

  • Asegúrese de que Amazon GameLift cierre y vuelva a iniciar los procesos del servidor que no estén en buen estado. Informe el estado de salud a Amazon GameLift implementando la función de devolución deOnHealthCheck() llamada en el código del servidor del juego. Amazon cierra GameLift automáticamente los procesos del servidor que, según se informa, no funcionan correctamente durante tres informes consecutivos. Si no lo implementaOnHealthCheck(), Amazon GameLift asume que el proceso del servidor está en buen estado, a menos que el proceso no responda a una comunicación.

Elija el número de procesos por instancia.

Al decidir la cantidad de procesos simultáneos que se ejecutarán en una instancia, tenga en cuenta lo siguiente:

  • 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 del servidor de una flota no puede superar esta cuota.

  • Para mantener niveles de rendimiento aceptables, el tipo de instancia de Amazon EC2 podría limitar la cantidad de procesos que se pueden ejecutar simultáneamente. Prueba diferentes configuraciones para tu juego para encontrar el número correcto de procesos para tu 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 de ejecución anterior a la nueva configuración puede realizarse gradualmente.