Plugin para Unreal: despliega tu juego en flotas gestionadas EC2 - 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.

Plugin para Unreal: despliega tu juego en flotas gestionadas EC2

En este flujo de trabajo, utilizas el complemento para modificar tu juego y alojarlo en recursos informáticos basados en la nube gestionados por Amazon GameLift. Añades el código del juego de cliente y servidor para la GameLift funcionalidad de Amazon y, a continuación, subes la versión de tu servidor al GameLift servicio de Amazon para desplegarla en los recursos basados en la nube. Cuando se complete este flujo de trabajo, dispondrás de un cliente de juego en funcionamiento que podrá conectarse a tus servidores de juegos en la nube.

Para iniciar el EC2 flujo de trabajo de Amazon GameLift gestionado por Amazon:
  • En la barra de herramientas principal del editor Unreal, selecciona el GameLift menú Amazon y selecciona Host with Managed EC2. Esta acción abre la página del complemento Deploy Amazon EC2 Fleet, que presenta un proceso de seis pasos para integrar, crear, implementar y lanzar los componentes del juego.

Paso 1: Configuración del perfil

Elija el perfil que desee utilizar al seguir este flujo de trabajo. El perfil que seleccione afectará a todos los pasos del flujo de trabajo. Todos los recursos que cree están asociados a la AWS cuenta del perfil y se ubican en la AWS región predeterminada del perfil. Los permisos del usuario del perfil determinan su acceso a AWS los recursos y las acciones.

  1. Seleccione un perfil de la lista desplegable de perfiles disponibles. Si aún no tienes un perfil o quieres crear uno nuevo, ve al GameLift menú de Amazon y selecciona Establecer perfiles AWS de usuario.

  2. Si el estado de bootstrap no es «Activo», selecciona el perfil de Bootstrap y espera a que el estado cambie a «Activo».

Paso 2: Configuración del código de juego

En este paso, se realizará una serie de actualizaciones en el código del cliente y servidor para añadir la funcionalidad de alojamiento. Si aún no has configurado una versión original del editor Unreal, el complemento proporciona enlaces a las instrucciones y al código fuente.

Si ha integrado el juego para usarlo con una flota de Anywhere, no es necesario realizar ningún cambio en el código de juego. Si utilizas el mapa de inicio del juego, también funciona con EC2 las implementaciones.

Tras crear tu servidor de juegos, completa las siguientes tareas para prepararlo para subirlo a Amazon GameLift.

Para empaquetar la compilación del servidor para la implementación en la nube, realice el siguiente procedimiento:

En la carpeta WindowsServer, donde el editor de Unreal empaqueta los archivos de compilación del servidor de forma predeterminada, realice el siguiente procedimiento:

  1. Copie el script de instalación, incluido en la descarga del complemento, en la raíz de la carpeta WindowsServer. Busque el archivo [project-name]/Plugins/Resources/CloudFormation/extra_server_resources/install.bat. Amazon GameLift utiliza este archivo para instalar la compilación del servidor en cada recurso de EC2 alojamiento.

  2. Copie el archivo VC_redist.x64.exe, incluido en la instalación de Visual Studio, en la raíz de la carpeta WindowsServer. Por lo general, este archivo se encuentra en C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Redist/MSVC/v142.

  3. Copia la SSL DLLs versión Open for your game server en la carpetaWindowsServer/MyGame/Binaries/Win64. Asegúrate de que DLLs sean de la misma versión utilizada en la compilación del servidor. Copie los siguientes archivos:

    • libssl-3-x64.dll

    • libcrypto-3-x64.dll

Paso 3: Selección del escenario de implementación

En este paso, tendrá que elegir la solución de alojamiento de juegos que desee implementar en ese momento. Puede disponer de varias implementaciones del juego mediante cualquiera de los escenarios.

  • Flota de una sola región: despliega tu servidor de juegos en una sola flota de recursos de alojamiento en la región predeterminada AWS del perfil activo. Este escenario es un buen punto de partida para probar la integración del servidor con AWS y la configuración de compilación del servidor. Permite implementar los siguientes recursos:

    • La flota de AWS (bajo demanda) con la compilación del servidor de juegos instalada y en ejecución.

    • Grupo de usuarios y cliente de Amazon Cognito para permitir a los jugadores autenticarse e iniciar un juego.

    • APIautorizador de puerta de enlace que vincula el grupo de usuarios con. APIs

    • W ebACl para limitar las llamadas excesivas de jugadores a Gateway. API

    • APIgateway + función Lambda para que los jugadores soliciten una tragaperras. Esta función llama a CreateGameSession() si no hay ninguna disponible.

    • APIgateway + función Lambda para que los jugadores obtengan información de conexión para su solicitud de juego.

  • FlexMatch flota: despliega tu servidor de juego en un conjunto de flotas y configura un FlexMatch emparejador con reglas para crear partidas de jugadores. En este escenario, se utiliza un alojamiento Spot de bajo coste con una estructura de varias flotas y ubicaciones para garantizar una disponibilidad duradera. Este enfoque resulta útil cuando estás listo para empezar a diseñar un componente de emparejamiento para tu solución de alojamiento. En este escenario, crearás los recursos básicos para esta solución, que podrás personalizar más adelante según sea necesario. Permite implementar los siguientes recursos:

    • FlexMatch Configuración y reglas de emparejamiento establecidas para aceptar las solicitudes de los jugadores y formar partidas.

    • Tres flotas de AWS con la compilación del servidor de juegos instalada y en ejecución en varios lugares. Incluye dos flotas de spot y una flota bajo demanda como respaldo.

    • Cola de ubicación de sesión de juego de AWS que responde a las solicitudes de emparejamientos propuestos mediante la búsqueda del mejor recurso de alojamiento posible (en función de la viabilidad, el costo, la latencia de los jugadores, etc.) y el inicio de una sesión de juego.

    • Grupo de usuarios y cliente de Amazon Cognito para permitir a los jugadores autenticarse e iniciar un juego.

    • APIautorizador de pasarela que vincula el grupo de usuarios con. APIs

    • W ebACl para limitar las llamadas excesivas de jugadores a Gateway. API

    • APIgateway + función Lambda para que los jugadores soliciten una tragaperras. Esta función llama a StartMatchmaking().

    • APIgateway + función Lambda para que los jugadores obtengan información de conexión para su solicitud de juego.

    • Mesas Amazon DynamoDB para almacenar entradas de matchmaking para los jugadores e información sobre las sesiones de juego.

    • SNStema + Función Lambda para gestionar eventos. GameSessionQueue

Paso 4: Configuración de los parámetros del juego

En este paso, debes describir el juego para subirlo a; AWS

  • Nombre de la versión del servidor: proporciona un nombre significativo para la compilación del servidor de juegos. AWS usa este nombre para hacer referencia a la copia de la versión del servidor que se carga y se usa para las implementaciones.

  • SO de compilación del servidor: especifique el sistema operativo para el que se ha diseñado el servidor. Esto indica a AWS qué tipo de recursos informáticos utilizar para alojar el juego.

  • Carpeta del servidor de juegos: permite identifica la ruta a la carpeta de compilación del servidor local.

  • Compilación del servidor de juegos: permite identificar la ruta al archivo ejecutable del servidor de juegos.

  • Ruta del cliente de juego: permite identificar la ruta al archivo ejecutable del cliente de juego.

  • Resultado de la configuración del cliente: este campo debe apuntar a una carpeta de la compilación del cliente que contenga la AWS configuración. Búsquelo en la siguiente ubicación: [client-build]/[project-name]/Content/CloudFormation.

Paso 5: Implementación del escenario

En este paso deberá implementar el juego en una solución de alojamiento en la nube en función del escenario de implementación que elija. Este proceso puede tardar varios minutos mientras AWS valida la compilación del servidor, aprovisiona los recursos de alojamiento, instala el servidor de juegos, inicia los procesos del servidor y los prepara para albergar sesiones de juego.

Para iniciar la implementación, selecciona Implementar. CloudFormation Puede realizar el seguimiento del estado del alojamiento de su juego aquí. Para obtener información más detallada, puede iniciar sesión en la consola AWS de administración AWS y ver las notificaciones de eventos. Asegúrate de iniciar sesión con la misma cuenta, usuario y AWS región que el perfil de usuario activo del complemento.

Cuando se complete la implementación, tendrás tu servidor de juegos instalado en una AWS EC2 instancia. Hay al menos un proceso del servidor en ejecución y listo para iniciar una sesión de juego.

Paso 6: Lanzamiento del cliente

En este punto, has completado todas las tareas necesarias para lanzar y jugar a tu juego multijugador alojado en Amazon GameLift. Para jugar al juego, inicie una instancia del cliente de juego.

Si ha implementado el escenario de flota única, puede abrir una instancia de cliente única con un jugador, especificar el mapa del servidor y desplazarse. Abra instancias adicionales del cliente de juego para añadir un segundo jugador al mismo mapa de juego del servidor.

Si has implementado el FlexMatch escenario, la solución espera a que al menos dos clientes estén en cola para situarlos en la sesión de juego antes de que los jugadores puedan entrar en el mapa del servidor.