Depuración de problemas relacionados con flotas de Amazon GameLift Servers
En este tema se proporcionas instrucciones sobre cómo resolver problemas con flotas de EC2 administradas por Amazon GameLift Servers.
Problemas al crear una flota
Al crear una flota de EC2 administrada, el servicio de Amazon GameLift Servers inicia un flujo de trabajo que crea la flota, implementa las instancias de EC2 con la compilación de servidor de juegos instalada e inicia los procesos del servidor de juegos en cada instancia. Para obtener una descripción detallada, consulte . Una flota no puede albergar sesiones de juego ni jugadores hasta que alcance el estado Activo.
Para solucionar los problemas que impiden que las flotas se activen, es necesario identificar la fase de creación de flota en la que se produjo el problema y revisar los eventos y registros de creación de flota. Si los registros no aportan ninguna información útil, es posible que el problema se deba a un error de servicio interno. En ese caso, intente crear de nuevo la flota. Si el problema continúa, cargue de nuevo la compilación del juego para solucionar posibles daños en el archivo. También puede ponerse en contacto con el equipo de soporte de Amazon GameLift Servers o publicar una pregunta en el foro.
- Descarga y validación de la compilación
-
Durante esta fase, Amazon GameLift Servers obtiene la compilación del servidor de juegos cargada, extrae los archivos y ejecuta los scripts de instalación. Si la creación de la flota falla durante estas fases, observe los eventos y registros de la flota para identificar el problema. Entre las causas posibles se incluyen las siguientes:
-
Amazon GameLift Servers no puede obtener el archivo de compilación comprimido (evento
FLEET_BINARY_DOWNLOAD_FAILED). Compruebe que se pueda acceder a la ubicación de almacenamiento de la compilación, que esté creando una flota en la misma Región de AWS que la compilación y que Amazon GameLift Servers tenga los permisos adecuados para acceder a esta. -
Amazon GameLift Servers no puede extraer los archivos de compilación (evento
FLEET_CREATION_EXTRACTING_BUILD). -
No se ha podido completar correctamente uno de los scripts de instalación incluido en los archivos de compilación (evento
FLEET_CREATION_FAILED_INSTALLER).
-
- Construcción de los recursos de flota
-
Normalmente, los problemas durante esta fase están relacionados con la asignación y la implementación de los recursos de flota. Entre las causas posibles se incluyen las siguientes:
-
El tipo de instancia solicitado no está disponible.
-
El tipo de flota solicitado (spot o bajo demanda) no está disponible.
-
- Activación de los procesos del servidor de juegos
-
Durante esta fase, Amazon GameLift Servers intenta llevar a cabo distintas tareas y prueba elementos importantes, como la viabilidad del servidor de juegos, la configuración del tiempo de ejecución y la capacidad del servidor de juegos de conectarse al servicio de Amazon GameLift Servers mediante el SDK del servidor.
nota
En esta fase, puede acceder de forma remota a una instancia de flota para seguir analizando los problemas. Consulte Conexión remota a instancias de flota de Amazon GameLift Servers.
Estos son algunos de los problemas que podría encontrar:
Los procesos del servidor no comienzan a ejecutarse. Esto sugiere que hay un problema con los ajustes de configuración del tiempo de ejecución de la flota (eventos
FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUNDoFLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE). Compruebe si ha configurado correctamente la ruta de lanzamiento y los parámetros de lanzamiento opcionales.-
Los procesos del servidor empiezan a ejecutarse, pero la flota no se activa. Si los procesos del servidor arrancan y se ejecutan correctamente, pero la flota no pasa al estado Activo, es probable que la causa sea que el proceso del servidor no esté informando al servicio de Amazon GameLift Servers. Compruebe que el servidor de juegos haga correctamente estas llamadas al SDK del servidor (consulte Inicialización del proceso del servidor):
-
El proceso del servidor no se inicializa (evento
SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT). El proceso del servidor no llama correctamente aInitSdk(). -
El proceso del servidor no envía una notificación a Amazon GameLift Servers cuando está listo para alojar una sesión de juego (evento
SERVER_PROCESS_PROCESS_READY_TIMEOUT). El proceso del servidor se inicializa, pero no llama aProcessReady()a tiempo.
-
-
Hay un error en la solicitud de conexión de emparejamiento de VPC. Para las flotas que se crean con una interconexión de VPC (consulte Para configurar la interconexión de VPC con una nueva flota), la interconexión de VPC se realiza durante esta fase Activating (Activando). Si una interconexión de VPC devuelve un error por cualquier motivo, la flota nueva no podrá pasar al estado Activo. Puede comprobar si la solicitud de interconexión se realiza o no correctamente llamando a describe-vpc-peering-connections. Asegúrese de verificar que existe una autorización de interconexión de VPC válida (describe-vpc-peering-authorizations, ya que las autorizaciones solo son válidas durante 24 horas.
Problemas con los procesos del servidor
- Los procesos del servidor arrancan pero dan error rápidamente o notifican que no están funcionando correctamente.
-
Aparte de los problemas con la compilación del juego, esto puede ocurrir al intentar ejecutar demasiados procesos del servidor simultáneamente en la instancia. La cantidad óptima de procesos simultáneos depende del tipo de instancia y de los requisitos de los recursos del servidor de juegos. Intente reducir el número de procesos simultáneos, que se define en la configuración del tiempo de ejecución de la flota, para ver si mejora el desempeño. Puede cambiar la configuración del entorno de tiempo de ejecución ejecución de una flota mediante la consola de Amazon GameLift Servers (edite la configuración de asignación de capacidad de la flota) o llamando al comando de la AWS CLI update-runtime-configuration.
Problemas de eliminación de la flota
- La flota no se puede terminar debido a un recuento máximo de instancias.
-
El mensaje de error indica que la flota que se está eliminando todavía tiene instancias activas, lo que no está permitido. En primer lugar, debe reducir una flota a cero instancias activas. Esto se realiza configurando manualmente el recuento de instancia de la flota deseado a "0" y, a continuación, esperar a que la reducción de escala surta efecto. Asegúrese de desactivar el escalado automático, lo que contrarrestará los ajustes manuales.
- Las acciones de VPC no están autorizadas.
-
Este problema solo se aplica a las flotas para las que haya creado específicamente conexiones de emparejamiento de VPC (consulte Configuración del emparejamiento de VPC para Amazon GameLift Servers). Este escenario se produce porque el proceso de eliminación de una flota también incluye la eliminación de la VPC de la flota y de cualquier conexión de emparejamiento de la VPC. Primero debe obtener una autorización llamando a la API de servicio CreateVpcPeeringAuthorization() de Amazon GameLift Servers o mediante el comando
create-vpc-peering-authorizationde la CLI de AWS. Una vez que tenga la autorización, puede eliminar la flota.