Cree un entorno de pruebas basado en la nube - 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.

Cree un entorno de pruebas basado en la nube

nota

En este tema se tratan las pruebas iterativas de juegos que están integrados con la versión 5.x GameLift del SDK para servidores de Amazon. Si tu juego usa la versión 4.x o anterior del SDK para servidores, consulta. Pruebe su integración con Amazon GameLift Local

Usa una GameLift Anywhere flota de Amazon para crear y probar de forma iterativa los componentes de tu juego en un entorno alojado en la nube. Crea una Anywhere flota con recursos de alojamiento y una conexión al GameLift servicio de Amazon, ejecuta tus servidores de juegos en ellos y prueba la funcionalidad del juego según sea necesario.

Despliega una Anywhere flota con Amazon GameLift Agent

Si la versión de tu servidor de juegos está integrada con Amazon GameLift SDK 5.x o una versión posterior, puedes implementarla en una Anywhere flota basada en la nube con Amazon GameLift Agent. El agente es un proceso en segundo plano que gestiona el ciclo de vida del servidor de juegos y otras tareas de cada ordenador de una flota. Estas tareas incluyen registrar el ordenador en Amazon GameLift, adquirir un token de autenticación e iniciar/detener los procesos del servidor del juego en función de un conjunto de instrucciones. El agente se controla mediante una configuración de tiempo de ejecución de la flota, que puedes actualizar en cualquier momento durante la vida útil de la flota. (El agente se despliega automáticamente en las flotas de EC2 gestionadas). Para obtener más información y descargar el agente, consulta el GameLift GitHubrepositorio de Amazon.

Configure las pruebas iterativas con Amazon EC2

Utilice el flujo de trabajo guiado de esta solución del GameLift kit de herramientas de Amazon para configurar un entorno de alojamiento basado en la nube que refleje la experiencia de alojamiento gestionado con Amazon GameLift.

El GitHub repositorio proporciona un conjunto de scripts que automatizan la mayoría de los procesos para configurar un entorno de pruebas con Amazon GameLift Anywhere y Amazon GameLift Agent. También proporciona instrucciones para actualizar el entorno cada vez que tengas que probar una nueva versión de un servidor de juegos. Puedes ejecutar un único script que despliegue un entorno de prueba con una versión de servidor de juegos de muestra, o puedes seguir cada paso para configurarlo con tu propia versión de servidor de juegos.

En este flujo de trabajo, trabajarás completamente en el AWS Management Console, utilizando AWS CloudShell para ejecutar scripts y completar tareas de línea de comandos.

nota

Para las tareas de este tutorial, necesita un usuario de AWS cuenta con permisos para los siguientes servicios: Amazon GameLift AWS CloudShell, Amazon S3 AWS Systems Manager, Amazon EC2 y. AWS Identity and Access Management Los usuarios con acceso de nivel de administrador a la AWS cuenta ya tienen los permisos necesarios.

El flujo de trabajo abarca las siguientes tareas:

  • Package una compilación de servidor de juegos para Amazon GameLift.El flujo de trabajo proporciona un script para crear un ejemplo de servidor de juegos en C++, que ya se ha integrado con el SDK 5.x GameLift del servidor de Amazon y está listo para su alojamiento. Como alternativa, puedes trabajar con tu propio proyecto de juego si has completado la integración.

  • Configura un depósito de Amazon Simple Storage Service para almacenar las compilaciones y dependencias de los servidores de juegos. A medida que vayas creando nuevas versiones de las versiones de tus juegos, podrás almacenarlas en S3 y utilizar los scripts para actualizar la Anywhere flota con el fin de probarlos.

  • Consigue y crea el Amazon GameLift Agent. El agente gestiona los procesos del servidor del juego en un recurso de alojamiento en función de tu configuración. Utiliza la misma lógica y se comporta de forma idéntica al alojamiento EC2 GameLift gestionado por Amazon.

  • Configure una Anywhere flota para sus recursos de alojamiento. Con una Anywhere flota, puedes usar el GameLift servicio de Amazon para alojar recursos que Amazon no gestiona GameLift. En este paso, también configurarás la configuración del tiempo de ejecución, que indica a Amazon GameLift Agent cuándo y cómo iniciar los procesos del servidor de juegos.

  • Configure una instancia de Amazon EC2. Este es su entorno de pruebas para las pruebas iterativas. Es mucho más rápido utilizar una instancia EC2 estándar en lugar de una instancia de Amazon GameLift totalmente gestionada (que está optimizada para el uso a nivel de producción). Con una instancia EC2 estándar, puede actualizar el servidor del juego de forma rápida y continua según sea necesario.

  • Implemente la compilación de su servidor de juegos y Amazon GameLift Agent en la instancia Amazon EC2.El flujo de trabajo proporciona un script que obtiene la última versión de la compilación del juego y todas las dependencias y la instala en la instancia EC2. En este flujo de trabajo, las dependencias incluyen el Amazon GameLift Agent y el CloudWatch Agent.

  • Inicie Amazon GameLift Agent. Una vez instalado, el agente se inicia automáticamente y comienza a ejecutar las instrucciones. Entre ellos se incluyen:

    • Registre la instancia EC2 como un cómputo en la GameLift Anywhere flota de Amazon.

    • Establezca una WebSocket conexión con el GameLift servicio de Amazon y obtenga la configuración de tiempo de ejecución más reciente.

    • Inicie los procesos del servidor del juego según las instrucciones de la configuración del tiempo de ejecución. En este flujo de trabajo, se indica al agente que inicie un único proceso del ejecutable del servidor del juego.

  • Pon a prueba tus escenarios de juego. Con el entorno de pruebas configurado y la última versión de tu servidor de juegos instalada, podrás empezar las pruebas. El flujo de trabajo incluye varios pasos para realizar las pruebas, incluido el inicio de una sesión de juego. Accede a los registros del servidor del CloudWatch juego para hacer un seguimiento del progreso a medida que se inicia la sesión de juego y se prepara para aceptar jugadores.

    A medida que vayas desarrollando los componentes del juego, incluidos un cliente de juego y un servicio de backend para el cliente, podrás incluirlos en tus escenarios de prueba. Usa un cliente de juego para solicitar una sesión de juego, recuperar la información de conexión del GameLift servicio de Amazon y, después, conectarte directamente a la sesión de juego.

  • Implementa una nueva versión de servidor de juegos y repite las pruebas. A medida que vaya desarrollando su juego, podrá generar nuevas versiones de servidores de juegos y, a continuación, desplegarlas rápidamente en el entorno de pruebas de EC2 para realizar las pruebas. Cárguelos en el bucket de Amazon S3 y, a continuación, utilice los scripts del flujo de trabajo para actualizar el entorno de prueba.

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

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 GameLift gestionadas por Amazon. Usa flotas gestionadas para ajustar y probar tus recursos de alojamiento de juegos. Implemente su solución de ubicación de las sesiones de juego (colas y emparejadores), seleccione el hardware de alojamiento (incluidas las flotas de Spot) y las ubicaciones óptimas, y elija una estrategia para ampliar la capacidad. También puedes empezar a AWS CloudFormation utilizarlos 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 emparejadores.

La transición de una flota de Anywhere pruebas basada en la nube a una flota GameLift gestionada por Amazon requiere un esfuerzo mínimo. No necesitas cambiar ningún código de juego y puedes reutilizar las mismas colas y emparejadores. Realiza las siguientes tareas:

  • Crea un recurso de GameLift compilación de Amazon. Con una flota Anywhere de pruebas, tienes 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, sube tu paquete de creación de juegos a Amazon GameLift, que lo despliega automáticamente en todos los ordenadores de la flota. Consulte Carga de una compilación del servidor de juegos personalizada en Amazon GameLift 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 los archivos de un bucket de Amazon S3.

  • Cree una flota gestionada. Cree una flota mediante la consola o la AWS CLI, especificando una flota gestionada por EC2. Este tipo de flota requiere ajustes de configuración adicionales, incluida la especificación de los tipos de instancia y recursos de construcción. Puedes usar la misma configuración de tiempo de ejecución para administrar el ciclo de vida de los servidores de juegos en cada procesamiento de la flota. Consulte Creación de una flota administrada por Amazon GameLift para obtener más información sobre cómo crear una flota gestionada.

  • Redireccione los alias de la flota (opcional). Si configuras los alias para usarlos con tus Anywhere flotas, puedes reutilizarlos para las flotas gestionadas. Consulte Añadir un alias a una GameLift flota de Amazon para obtener más información sobre cómo crear o actualizar un alias.