Uso el agente de Amazon GameLift Servers - Amazon GameLift Servers

Uso el agente de Amazon GameLift Servers

El agente de Amazon GameLift Servers supervisa la ejecución de los procesos del servidor de juegos en las flotas de Amazon GameLift Servers. El agente se implementa en todos los recursos de computación de una flota, y proporciona administración de procesos automatizada, administración del alojamiento y registro del recurso de computación. Para usar el agente, debe tener la compilación del servidor de juegos integrada con el SDK 5.x (o una versión posterior) del servidor de Amazon GameLift Servers.

El agente de Amazon GameLift Servers está disponible externamente para el uso con flotas de Amazon GameLift Servers que no sean flotas de EC2 administradas. (las flotas de EC2 administradas gestionan automáticamente las tareas del agente). Puede optar por ejecutar las flotas de Amazon GameLift Servers, incluidas las flotas de Anywhere, con o sin el agente. Sin el agente, debe ofrecer una solución alternativa para completar las tareas obligatorias.

Cuando se implementa en un recurso de computación, el agente de Amazon GameLift Servers debe lanzarse antes de iniciar cualquier proceso del servidor de juegos. En el lanzamiento, el agente lleva a cabo las tareas siguientes:

  • Registra el recurso de computación con una flota de Amazon GameLift Servers mediante la API RegisterCompute.

  • Llama a la API GetComputeAuthToken para obtener un token de autorización y lo almacena para que lo utilicen los procesos del servidor que se ejecutan en el recurso de computación.

  • Establece la variable de entorno de la URL de WebSocket para el recurso de computación, y establece una conexión de WebSocket con el servicio de Amazon GameLift Servers.

  • Solicita la última versión de la configuración del tiempo de ejecución de la flota desde el servicio de Amazon GameLift Servers.

  • Inicia y detiene los procesos del servidor según las instrucciones de configuración del tiempo de ejecución.

El código fuente y las instrucciones de compilación del agente de Amazon GameLift Servers están disponibles en el GitHub del agente de Amazon GameLift Servers.

Acerca del agente

El agente de Amazon GameLift Servers está diseñado para gestionar las siguientes tareas para las flotas:

Administración de procesos

  • Inicia nuevos procesos del servidor, tal y como se define en las instrucciones de tiempo de ejecución. El agente puede usar una configuración de tiempo de ejecución personalizada que se haya implementado con el agente. También puede proporcionar una RuntimeConfiguration como parte de la definición de la flota. Este método tiene la ventaja de que puede modificar la configuración de tiempo de ejecución de la flota en cualquier momento. El agente solicita de forma periódica configuraciones de tiempo de ejecución actualizadas al servicio de Amazon GameLift Servers.

  • Supervisa las activaciones de los procesos del servidor y finaliza los procesos cuando no se activan a tiempo.

  • Envía latidos a Amazon GameLift Servers. Si el agente no envía latidos, es posible que el proceso se marque como obsoleto.

  • Informa a Amazon GameLift Servers cuando finaliza un proceso del servidor. Amazon GameLift Servers utiliza esta información para supervisar la disponibilidad del servidor de juegos para la ubicación de las sesiones de juego.

  • Emite eventos de flota para los procesos del servidor, como los siguientes.

    • SERVER_PROCESS_INVALID_PATH: los parámetros de inicio del proceso del servidor de juegos se configuraron incorrectamente.

    • SERVER_PROCESS_TERMINATED_UNHEALTHY: el proceso del servidor de juegos no notificó una comprobación de estado válida en el plazo de 3 minutos desde la activación y, por lo tanto, se finalizó.

    • SERVER_PROCESS_FORCE_TERMINATED: el proceso del servidor de juegos no se cerró correctamente en el plazo de 30 segundos desde el envío de OnProcessTerminate().

    • SERVER_PROCESS_CRASHED: un proceso del servidor de juegos se bloqueó por alguna razón.

Administración de recursos de computación

  • Recibe mensajes del servicio de Amazon GameLift Servers para apagar el recurso de computación.

  • Solicita que Amazon GameLift Servers finalice el recurso de computación.

Registro

  • Carga registros en un bucket de Amazon S3 en su cuenta de AWS.