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 una flota gestionada EC2
En este flujo de trabajo, implemente el juego para el alojamiento en recursos de computación basados en la nube administrados por Amazon GameLift Servers. Cargue la compilación del servidor de juegos integrado al servicio Amazon GameLift Servers para su implementación. Si todavía no ha integrado el código del juego, consulte Complemento para Unreal: integración del código del juego. Cuando se complete este flujo de trabajo, dispondrá de un cliente de juego en funcionamiento que podrá conectarse a los servidores de juegos en la nube.
Para iniciar el EC2 flujo de trabajo Amazon GameLift Servers gestionado de Amazon:
En la barra de herramientas principal del editor Unreal, selecciona el Amazon GameLift Servers menú 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.
Configuración de un perfil de usuario
-
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.
-
Si el estado del arranque no es “Active”, seleccione Bootstrap profile y espere a que el estado cambie a “Active”.
Paso 2: Configuración del código de juego
En este paso, prepare las compilaciones del servidor y del cliente del juego para que funcionen con el SDK del servidor C++ de Amazon GameLift Servers para Unreal. Si aún no ha integrado el código del juego ni ha creado los ejecutables del cliente y servidor del juego, consulte Complemento para Unreal: integración del código del juego. Introduzca las rutas a los archivos ejecutables del juego en su estación de trabajo local.
En este paso del flujo de trabajo, el complemento proporciona enlaces a instrucciones y código fuente para configurar una versión compilada en origen del editor de Unreal. Debe utilizar la versión de la compilación de origen al compilar sus componentes de cliente y servidor.
Después de compilar un servidor de juegos que esté integrado con el SDK del servidor, realice las siguientes tareas a fin de prepararlo para cargarlo en Amazon GameLift Servers para el alojamiento.
En la carpeta WindowsServer, donde el editor de Unreal almacena los archivos de compilación del servidor de forma predeterminada, realice las adiciones siguientes:
Copie el script de instalación de la compilación del servidor en la raíz de la carpeta
WindowsServer. El script de instalación se incluye en la descarga del complemento. Busque el archivo[project-name]/Plugins/Resources/CloudFormation/extra_server_resources/install.bat. Amazon GameLift Servers utiliza este archivo para instalar la compilación del servidor en los recursos de computación de alojamiento.Copie el archivo
VC_redist.x64.exeen el directorio raíz de la carpetaWindowsServer. Puede omitir este paso si utiliza la versión 5.6 o posterior de Unreal Engine. Este archivo se incluye en la instalación de Visual Studio. Por lo general, se encuentra enC:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Redist/MSVC/v142.Añada los archivos de la biblioteca de OpenSSL a la compilación del servidor de juegos. Puede saltarse este paso si el servidor de juegos está integrado con el SDK del servidor 5.3 o posterior. Esta versión se incluye en el complemento Amazon GameLift Servers para Unreal, versión 3.0 o posterior.
Busque y copie manualmente las bibliotecas OpenSSL en el directorio de paquetes de compilación del juego en
<YourGame>/Binaries/Win64. Debe usar la misma versión de OpenSSL que usa su versión de Unreal Engine 5. Las compilaciones de juegos que se implementen con bibliotecas OpenSSL incorrectas no podrán comunicarse con el servicio Amazon GameLift Servers.Busque las bibliotecas OpenSSL en el origen de su motor de juego. La ubicación varía en función del entorno de desarrollo:
En Windows:
-
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libssl-1_1-x64.dll -
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libcrypto-1_1-x64.dll
En Linux:
-
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libssl.so.1.1 -
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libcrypto.so.1.1
-
Para obtener instrucciones más detalladas sobre cómo preparar un servidor de juegos compilado para Linux, consulte Cómo crear el SDK del servidor de Amazon GameLift Servers para Unreal Engine 5 en Amazon Linux.
-
Designe un directorio de trabajo para organizar sus archivos de compilación. La estructura del directorio de trabajo se implementa tal cual en cada recurso de computación de alojamiento. Añada su servidor de juegos compilado en Linux y todos los archivos dependientes.
-
Cree un script de instalación de la compilación del servidor en la raíz de su directorio de trabajo. Si es necesario, crea un
install.sharchivo y añade los comandos necesarios para instalar correctamente la versión de tu servidor de juegos. Amazon GameLift Serversusa este archivo para instalar la versión del servidor en cada recurso de EC2 alojamiento. -
Añada los archivos de la biblioteca OpenSSL a la compilación del servidor de juegos. Puede saltarse este paso si el servidor de juegos está integrado con el SDK del servidor 5.3 o posterior.
Localice y copie las bibliotecas manualmente. Debe usar la misma versión de OpenSSL que usa su versión de Unreal Engine 5. Las compilaciones de juegos que se implementen con bibliotecas OpenSSL incorrectas no podrán comunicarse con el servicio Amazon GameLift Servers.
-
Busque las bibliotecas OpenSSL en el origen de su motor de juego. La ubicación varía en función del entorno de desarrollo:
En Windows:
-
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libssl-1_1-x64.dll -
[ENGINE_ROOT_DIR]\Engine\Extras\ThirdPartyNotUE\libimobiledevice\x64\libcrypto-1_1-x64.dll
En Linux:
-
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libssl.so.1.1 -
Engine/Source/Thirdparty/OpenSSL/1.1.1n/include/libcrypto.so.1.1
-
-
Cuando encuentre las bibliotecas OpenSSL, cópielas en el directorio de paquetes de compilación del juego en
<YourGame>/Binaries/Linux.
-
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.
Autorizador de pasarela de API que vincula el grupo de usuarios con. APIs
Web ACl para limitar las llamadas excesivas de los jugadores a la puerta de enlace API.
Puerta de enlace de la API + función de Lambda para que los jugadores soliciten una ranura de juego. Esta función llama a
CreateGameSession()si no hay ninguna disponible.Puerta de enlace de la API + función de Lambda para que los jugadores obtengan información de la 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 de spot de bajo costo con una estructura con múltiples flotas y con múltiples ubicaciones para garantizar la disponibilidad. Este método resultará útil cuando esté listo para empezar a diseñar un componente del emparejador para la solución de alojamiento. En este escenario, se crearán los recursos básicos para esta solución, que podrá personalizar después 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.
-
Autorizador de pasarela API que vincula el grupo de usuarios con. APIs
-
Web ACl para limitar las llamadas excesivas de los jugadores a la puerta de enlace API.
-
Puerta de enlace de la API + función de Lambda para que los jugadores soliciten una ranura de juego. Esta función llama a
StartMatchmaking(). -
Puerta de enlace de la API + función de Lambda para que los jugadores obtengan información de la conexión para su solicitud de juego.
-
Tablas de Amazon DynamoDB para almacenar tickets de emparejamiento para jugadores e información sobre las sesiones de juego.
-
Tema de SNS más función Lambda para GameSessionQueue gestionar eventos.
Paso 4: Configuración de los parámetros del juego
En este paso, debes describir el juego para subirlo a; AWS
Nombre de la compilación del servidor: proporcione un nombre significativo para la compilación del servidor de juegos. AWS utiliza ese nombre para hacer referencia a la copia de la compilació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, realiza un aprovisionamiento de los recursos de alojamiento, instala el servidor de juegos y lanza los procesos del servidor y los prepara para alojar sesiones de juego.
Para iniciar la implementación, elija 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
Ya ha completado todas las tareas necesarias para iniciar el juego multijugador alojado con Amazon GameLift Servers. 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.