Configure las pruebas locales con Amazon GameLift Servers Anywhere - Amazon GameLift Servers

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.

Configure las pruebas locales con Amazon GameLift Servers Anywhere

nota

En este tema se tratan las pruebas locales de los juegos que están integrados en el SDK del servidor para la Amazon GameLift Servers versión 5.x. Si el juego usa la versión 4.x o anterior del SDK del servidor, consulte Pruebe su integración mediante Amazon GameLift Servers Local.

Usa una flota de Amazon GameLift Servers Anywhere y tu propio hardware para crear y probar de forma iterativa los componentes del juego en un entorno hospedado simulado. Configura una flota de Anywhere y registra un dispositivo local para establecer una conexión con el Amazon GameLift Servers servicio. Instale la compilación del servidor de juegos en el dispositivo, inicie un proceso de servidor de juegos y pruebe la funcionalidad del juego según sea necesario. Puede actualizar la versión de la compilación del servidor de juegos tantas veces como sea necesario para probar las nuevas iteraciones de la compilación.

Con una flota de Anywhere, puede realizar pruebas mediante la AWS CLI o con scripts de prueba. Si has integrado un cliente de juegoAmazon GameLift Servers, puedes ejecutar el cliente en el mismo dispositivo local o en un dispositivo diferente.

Las pruebas locales con una flota de Anywhere son especialmente útiles para probar la integración de tu servidor de juegos con élAmazon GameLift Servers. Dispone de visibilidad total sobre toda la actividad de alojamiento en el equipo local, así como sobre los datos de registro y eventos.

nota

¿Utilizas el Amazon GameLift Servers plugin para Unreal Engine o Unity? Estas herramientas incluyen flujos de trabajo guiados para configurar las pruebas locales con una flota de Anywhere. Siga la documentación para Plugin para Unity: configura las pruebas locales con Anywhere Amazon GameLift Servers o Plugin para Unreal: aloja tu juego de forma local con Anywhere Amazon GameLift Servers.

Configure una flota local de Anywhere

Siga estos pasos para crear una flota de Anywhere para su estación de trabajo local. Para obtener instrucciones detalladas mediante la AWS CLI o el AWS Management Console forAmazon GameLift Servers, consulteCrea un Amazon GameLift Servers Flota en cualquier lugar.

Para crear la flota Anywhere
  1. Cree una ubicación personalizada para la estación de trabajo local (AWS CLI o consola). Una ubicación personalizada es simplemente una etiqueta para el recurso informático que planea incluir en su flota de Anywhere. Los nombres de ubicaciones personalizadas deben empezar por custom-. Por ejemplo: custom-my_laptop. Consulte Creación de una ubicación personalizada.

  2. Cree una flota en cualquier lugar (AWS CLI o consola). En este paso, cree el recurso de flota con la ubicación personalizada para la estación de trabajo local. Consulte Creación de una flota de Anywhere.

    Anote el valor de ID o ARN de la nueva flota. Lo necesitará para el siguiente paso.

  3. Registre su estación de trabajo local como informática de flota (solo AWS CLI). Una flota de Anywhere debe tener al menos un recurso informático para alojar los servidores de juegos. Consulte Añadir un recurso de computación a la flota. Para añadir un recurso de computación a la flota, necesita la siguiente información:

    • Un nombre de recurso de computación. Todos los recursos de computación de una flota deben tener un nombre exclusivo.

    • El identificador de flota de Anywhere. Puede usar el FleetID o el FleetArn.

    • Los datos de conexión del recurso de computación. Especifique un IpAddress o DnsName. Así es como Amazon GameLift Servers los clientes del juego se conectarán a los servidores del juego.

    • Una ubicación personalizada en la flota de Anywhere.

    Anote el valor de retorno de GameLiftServiceSdkEndpoint. Necesitarás este valor cuando actualices tu servidor de juegos para que funcione en una flota de Anywhere.

Actualización e instalación del servidor de juegos

Esta tarea supone que ya has integrado una versión de servidor de juegos con el SDK 5.x Amazon GameLift Servers del servidor. El proceso de integración implica añadir código al servidor de juegos para que pueda interactuar con el Amazon GameLift Servers servicio e iniciar y gestionar las sesiones de juego.

En el caso de una flota de Anywhere, debes configurar manualmente algunos ajustes del servidor de juegos. En una flota Amazon GameLift Servers gestionada, estos ajustes se configuran automáticamente.

Para preparar tu servidor de juegos para una flota de Anywhere
  1. Obtener un token de autenticación. Tu servidor de juegos debe incluir un token de autenticación en cada comunicación con el Amazon GameLift Servers servicio. Amazon GameLift ServersLos tokens de autenticación son de corta duración y deben actualizarse periódicamente.

    Una práctica recomendada es crear un script para completar las siguientes tareas:

    • Llame a la acción AWS CLIget-compute-auth-token.

    • Guardar el valor del token devuelto en un lugar en el que los procesos del servidor del juego lo puedan recuperar; por ejemplo, en una variable de entorno del recurso de computación local.

    Instale el script con el servidor de juegos en el recurso de computación. Configure el script para que se ejecute antes de que se inicie el primer proceso del servidor de juegos. Mientras los procesos del servidor de juegos estén activos, ejecute el script regularmente para seguir teniendo un token de autenticación válido. Todos los procesos del servidor de juegos del recurso de computación pueden usar el mismo token de autenticación.

  2. Actualiza el código del servidor del Amazon GameLift Servers juego. Cuando integraste el código del servidor de juegos con el SDK del servidorAmazon GameLift Servers, añadiste un llamado a la acciónInitSdk(). Cuando el servidor del juego se ejecuta en una flota de Anywhere, esta llamada requiere parámetros de servidor adicionales. Para obtener más información, consulte los artículos Inicialización del proceso del servidor y SDK de servidor 5.x para Amazon GameLift Servers correspondientes para su lenguaje de desarrollo. A continuación, tiene una lista con los parámetros del servidor.

    • webSocketUrl: en este parámetro, ponga el valor GameLiftServiceSdkEndpoint que se devuelve al registrar un recurso de computación en la flota.

    • hostId: en este parámetro, ponga el nombre del recurso de computación que especifique al registrar un recurso de computación en la flota de Anywhere.

    • fleetId— Establezca este parámetro en el ID de la flota de Anywhere.

    • authToken: en este parámetro, ponga el token devuelto en respuesta a una solicitud de recuperación de token de autenticación para un recurso de computación.

    • processId: ponga este parámetro de modo que identifique a un proceso del servidor de juegos que se esté ejecutando en el recurso de computación local; cada proceso simultáneo del servidor de juegos debe tener un ID de proceso único.

    Los valores de los parámetros del servidor empleados por cada proceso del servidor de juegos deben ser específicos para el recurso de computación de la flota de Anywhere en la que se esté ejecutando el proceso. Para obtener información detallada sobre cómo obtener los valores adecuados para un recurso de computación, consulte Añadir un recurso de computación a la flota. Como práctica recomendada, defina webSocketUrl, hostId, fleetId y authToken como variables de entorno en el recurso de computación local. Todos los procesos del servidor que se ejecuten en el recurso de computación utilizarán estos valores.

  3. Instale la compilación del servidor de juegos en el recurso de computación local. Incluya todas las dependencias necesarias para ejecutar el servidor de juegos.

  4. Inicie uno o más de los procesos de servidor de juegos ejecutados en el recurso de computación local. Cuando el proceso del servidor de juegos llame a la acción ProcessReady() del SDK del servidor, el proceso estará listo para alojar una sesión de juego.

Pruebas en la actividad de la sesión de juego

Para probar la integración del servidor de juegos, trabaje con las sesiones de juego. Si no tienes un cliente de juego integrado con Amazon GameLift Servers funciones, puedes usar la AWS CLI para iniciar sesiones de juego. Pruebe los siguientes escenarios:

  • Cree una sesión de juego. Llame al create-game-session comando (o a la operación CreateGameSessionde la API). Especifica el identificador y la ubicación personalizada de tu flota de Anywhere. Esta llamada devuelve un identificador único para la nueva sesión de juego.

  • Comprobar el estado de la sesión de juego.Llame al describe-game-sessionscomando (o a la acción DescribeGameSessionsde la API). Especifique el ID de la sesión de juego. Esta llamada devuelve información detallada de la sesión de juego, lo que incluye el estado de la sesión de juego. Las sesiones de juego en estado activo están listas para que los jugadores se conecten. Para obtener una lista de todas las sesiones de juego de la flota, llama al list-game-sessionscomando (o a la acción de la ListGameSessionsAPI).

  • Conectarse a la sesión de juego. Si el cliente de juego puede unirse a una sesión de juego, use los datos de conexión incluidos en la información de la sesión de juego.

Iteración en el servidor de juegos

Puede usar el mismo recurso de computación y la misma flota de Anywhere para probar otras versiones de la compilación del servidor de juegos.

  1. Limpiar la GameSession existente. Si el proceso del servidor del juego se bloquea o no llamaProcessEnding(), lo Amazon GameLift Servers limpia cuando el servidor GameSession del juego deja de enviar comprobaciones de estado.

  2. Generar una nueva compilación del servidor de juegos. Haga cambios en el servidor de juegos y empaquete una compilación revisada.

  3. Actualizar la compilación del servidor de juegos en el recurso de computación local. Tu flota anterior de Anywhere sigue activa y tu portátil sigue registrado como recurso informático en la flota.

  4. Obtener un token de autorización actualizado. Llame al comando get-compute-auth-tokenCLI y almacene el token en el equipo local.

  5. Iniciar uno o más de los procesos de servidor de juegos ejecutados en el recurso de computación local. Cuando el proceso del servidor de juegos llame a ProcessReady(), estará listo para el uso en las pruebas.

Haz la transición de tu juego a flotas Amazon GameLift Servers gestionadas

Cuando hayas completado las pruebas de desarrollo y estés listo para prepararte para el lanzamiento, es un buen momento para pasarte a las flotas Amazon GameLift Servers gestionadas. Utilice las flotas administradas para afinar y probar los recursos de alojamiento de juegos. Implemente la solución de ubicación de las sesiones de juego (colas y emparejadores), seleccione las mejores ubicaciones y el mejor hardware de alojamiento (lo que incluye las flotas de spot) posible y elija una estrategia para escalar la capacidad. También puedes empezar a utilizarlos AWS CloudFormation para gestionar de forma más eficiente los ciclos de vida de todos tus recursos de alojamiento de juegos, incluidas las flotas, las colas y los matchmakers.

Debes realizar algunas modificaciones menores para pasar de una flota de pruebas local de Anywhere a una Amazon GameLift Servers flota gestionada. Puede volver a utilizar las mismas colas y los mismos emparejadores. Haga lo siguiente:

  • Cambie la llamada del código del servidor de juegos a InitSdk(). Elimine los parámetros del servidor. En el caso de una flota gestionada, realiza un seguimiento Amazon GameLift Servers automático de esta información.

  • Crea un recurso de Amazon GameLift Servers construcción. Con una flota de pruebas de Anywhere, tendrás que implementar manualmente la construcción y las dependencias de tu servidor de juegos en el cómputo de cada flota. Con una flota gestionada, puedes crear y subir el paquete de creación del juegoAmazon GameLift Servers, que lo despliega automáticamente en todos los ordenadores de la flota. Consulte Implemente una compilación de servidor personalizada para Amazon GameLift Servers alojamiento para obtener más información sobre cómo empaquetar los archivos de compilación del juego y cómo crear un recurso de compilación con archivos en un bucket de Amazon S3. No incluyas scripts que registren un proceso y obtengan un token de autenticación, ya que estas tareas se gestionan Amazon GameLift Servers automáticamente con flotas gestionadas.

  • Cree una flota administrada. Cree una flota mediante la consola o la AWS CLI, especificando una flota EC2 gestionada. Este tipo de flotas requiere ajustes de configuración adicionales; por ejemplo, debe especificar cuáles son los tipos de instancia y recursos de compilación. Debe establecer una configuración de tiempo de ejecución para administrar el ciclo de vida de los servidores de juegos en todos los recursos de computación de la flota. Consulte Cree una EC2 flota Amazon GameLift Servers gestionada para obtener más información sobre la creación de una flota administrada.

  • Redireccione los alias de la flota (opcional). Si configuras alias para usarlos con tus flotas de Anywhere, puedes reutilizar los mismos alias para tus flotas gestionadas. Consulte Crea un Amazon GameLift Servers alias para obtener más información sobre cómo crear o actualizar un alias.