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 Unity: configura las pruebas locales con Amazon GameLift Anywhere
En este flujo de trabajo, añades el código de juego de cliente y servidor para las GameLift funciones de Amazon y utilizas el complemento para designar tu estación de trabajo local como host de servidor de juegos de prueba. Cuando haya completado las tareas de integración, utilice el complemento para crear los componentes de cliente y servidor de juegos.
Para iniciar el flujo de trabajo de Amazon GameLift Anywhere:
En el menú principal del editor de Unity, elige Amazon GameLift y selecciona Host with Anywhere. Esta acción abre la página del plugin para configurar el juego con una @Anywhere flota. La página presenta un proceso de cinco pasos para integrar, crear y lanzar los componentes del juego.
Configura tu 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 colocan en la AWS región predeterminada del perfil. Los permisos del usuario del perfil determinan su acceso a AWS los recursos y las acciones.
-
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 de AWS cuenta.
-
Si el estado del arranque no es “Activo”, seleccione Perfil de arranque y espere a que el estado cambie a “Activo”.
Integra tu juego con Amazon GameLift
nota
Si has importado el juego de muestra, puedes saltarte este paso. Los recursos del juego de muestra ya tienen el código de servidor y cliente necesario.
Para este paso del flujo de trabajo, debes actualizar el código del cliente y del servidor de tu proyecto de juego.
* Los servidores del juego deben poder comunicarse con el GameLift servicio de Amazon para recibir instrucciones para iniciar una sesión de juego, proporcionar información de conexión de la sesión de juego e informar del estado.
Los clientes del juego deben poder obtener información sobre las sesiones de juego, unirse a ellas o iniciarlas y obtener información de conexión para unirse a una partida.
Integre el código de su servidor
Si utilizas tu propio proyecto de juego con escenas personalizadas, utiliza el código de ejemplo proporcionado para añadir el código de servidor necesario a tu proyecto de juego:
-
Abre la
Assets/Scripts/Server
carpeta en los archivos del proyecto del juego. Si no existe, créala. -
Ve al GitHub repositorio aws/ amazon-gamelift-plugin-unity
y abre la ruta. Samples~/SampleGame/Assets/Scripts/Server
Busca el archivo GameLiftServer .cs. y cópialo en la carpeta del servidor de tu proyecto de juego. Cuando crees un ejecutable de servidor, usa este archivo como destino de compilación.
El código de ejemplo incluye estos elementos mínimos obligatorios, que utilizan el servidor Amazon GameLift C# SDK (versión 5):
Inicializa un GameLift API cliente de Amazon. La
InitSDK()
llamada con los parámetros del servidor es obligatoria para una flota de Amazon GameLift Anywhere. Estos ajustes se configuran automáticamente para su uso en el complemento.Implementa las funciones de devolución de llamada necesarias para responder a las solicitudes del GameLift servicio de Amazon, incluidas
OnStartGameSession
OnProcessTerminate
, yonHealthCheck
.Llama
ProcessReady()
con un puerto designado para notificar al GameLift servicio de Amazon cuando el proceso del servidor está listo para albergar sesiones de juego.
Si quieres personalizar el código de servidor de muestra, consulta estos recursos:
Integre su código de cliente
Si utilizas tu propio proyecto de juego con escenas personalizadas, necesitas integrar las funciones básicas en el cliente del juego. También debes añadir elementos de interfaz de usuario para que los jugadores puedan iniciar sesión y unirse a una sesión de juego. Usa el GameLift servicio de Amazon APIs (en AWS SDK) para obtener información sobre las sesiones de juego, crear nuevas sesiones de juego o unirte a las sesiones de juego existentes,
Al crear un cliente para pruebas locales con una flota de Anywhere, puedes añadir llamadas directas al GameLift servicio de Amazon. Cuando desarrolle su juego para el alojamiento en la nube, o si planea usar Anywhere Fleets para el alojamiento de producción, necesitará crear un servicio de back-end del lado del cliente para gestionar todas las comunicaciones entre los clientes del juego y el servicio de Amazon. GameLift
Para GameLift integrar Amazon en tu código de cliente, utiliza los siguientes recursos como guía.
-
Integre el cliente con la GameLiftCoreApi clase en el GitHub repositorio amazon-gamelift-plugin-unity aws/. Esta clase proporciona controles para la autenticación de los jugadores y para recuperar la información de la sesión del juego.
-
Consulta ejemplos de integraciones de juegos, disponibles en el GitHub repositorio aws/,. amazon-gamelift-plugin-unity
Samples~/SampleGame/Assets/Scripts/Client/GameLiftClient.cs
-
Sigue las instrucciones de Añadir Amazon GameLift a tu cliente de juegos de Unity.
Para los clientes de juegos que se conecten a una flota de Anywhere, tu cliente de juego necesita la siguiente información. El complemento actualiza automáticamente tu proyecto de juego para usar los recursos que crees en el complemento.
FleetId - El identificador único de tu flota de Anywhere.
FleetLocation - La ubicación personalizada de su flota de Anywhere.
AwsRegion - La AWS región en la que está alojada tu flota de Anywhere. Esta es la región que configuraste en tu perfil de usuario.
ProfileName - Un perfil de AWS credenciales en su máquina local que le permita acceder al AWS SDK formulario GameLift. El cliente del juego usa estas credenciales para autenticar las solicitudes al GameLift servicio de Amazon.
nota
El perfil de credenciales lo genera el complemento y lo almacena en la máquina local. Como resultado, debe ejecutar el cliente en la máquina local (o en una máquina con el mismo perfil).
Conéctese a una flota en cualquier lugar
En este paso, tendrá que designar la flota de Anywhere que desee utilizar. Una flota de Anywhere define un conjunto de recursos informáticos, que se pueden ubicar en cualquier lugar para el alojamiento de servidores de juegos.
Si la AWS cuenta que utilizas actualmente tiene flotas Anywhere existentes, abre el campo desplegable del nombre de la flota y elige una flota. Este menú desplegable solo muestra las flotas de Anywhere de la AWS región para el perfil de usuario activo actualmente.
Si no hay ninguna flota existente, o si deseas crear una nueva, selecciona Crear nueva flota en cualquier lugar e introduce un nombre para la flota.
Una vez que hayas elegido una flota de Anywhere para tu proyecto, Amazon GameLift verifica que el estado de la flota esté activo y muestra el identificador de la flota. Puedes hacer un seguimiento del progreso de esta solicitud en el registro de resultados del editor de Unity.
Registra una computadora
En este paso, se registrará su estación de trabajo local como recurso informático en la nueva flota de Anywhere.
Especifique un nombre de equipo para la máquina local. Si añade más de un recurso informático a la flota, los nombres deben ser únicos.
Seleccione Registrar cómputo. Puede realizar un seguimiento del progreso de esta solicitud en el registro de resultados del editor de Unreal.
El complemento registra su estación de trabajo local con la dirección IP establecida en localhost (127.0.0.1). Esta configuración supone que ejecutarás el cliente y el servidor del juego en la misma máquina.
En respuesta a esta acción, Amazon GameLift comprueba que puede conectarse al equipo y devuelve información sobre el equipo recién registrado.
Lanza el juego
En este paso, construyes los componentes del juego y los lanzas para jugar. Realice los siguientes pasos:
-
Configura tu cliente de juego. En este paso, le pides al complemento que actualice un
GameLiftClientSettings
activo para tu proyecto de juego. El complemento utiliza este recurso para almacenar cierta información que el cliente del juego necesita para conectarse al GameLift servicio de Amazon.-
Si no has importado ni inicializado el juego de muestra, crea un nuevo
GameLiftClientSettings
activo. En el menú principal del editor de Unity, selecciona Activos GameLift, Crear y Configuración del cliente. Si creas varias copias GameLiftClientSettings en tu proyecto, el plugin lo detectará automáticamente y te notificará qué activo actualizará el plugin. -
En Launch Game, selecciona Configure Client: Apply Anywhere Settings. Esta acción actualiza la configuración del cliente del juego para usar la flota Anywhere que acabas de configurar.
-
Crea y ejecuta tu cliente de juego.
Crea un cliente ejecutable mediante el proceso de compilación estándar de Unity. En Archivo, Configuración de compilación, cambia la plataforma a Windows, Mac o Linux. Si has importado el juego de muestra e inicializado la configuración, la lista de compilaciones y el objetivo de la compilación se actualizan automáticamente.
Lanza una o más instancias del ejecutable del cliente de juego recién creado.
Lanza un servidor de juegos en tu flota de Anywhere. Elige un servidor: inicia el servidor en el editor. Esta tarea inicia un servidor activo al que su cliente puede conectarse mientras el editor de Unity permanezca abierto.
Inicia o únete a una sesión de juego. En tus instancias de cliente de juego, usa la interfaz de usuario para unir a cada cliente a una sesión de juego. La forma de hacerlo depende de la forma en que se hayan añadido funciones al cliente.
Si utilizas el cliente de juego de muestra, tiene las siguientes características:
Un componente de inicio de sesión para jugadores. Al conectarte a un servidor de juegos de una flota de Anywhere, no se valida el jugador. Puedes introducir cualquier valor para unirte a la sesión de juego.
Una sencilla interfaz de usuario para unirse al juego. Cuando un cliente intenta unirse a una partida, busca automáticamente una sesión de juego activa con un espacio de jugador disponible. Si no hay ninguna sesión de juego disponible, el cliente solicita una nueva sesión de juego. Si hay una sesión de juego disponible, el cliente solicita unirse a la sesión de juego disponible. Al probar el juego con varios clientes simultáneos, el primer cliente inicia la sesión de juego y los demás se unen automáticamente a la sesión de juego existente.
Sesiones de juego con ranuras para cuatro jugadores. Puedes lanzar hasta cuatro instancias de clientes de juego simultáneamente y se unirán a la misma sesión de juego.
Lánzalo desde un ejecutable de servidor (opcional)
Puedes crear e iniciar el ejecutable de tu servidor de juegos para probarlo en una flota de Anywhere.
Cree un servidor ejecutable mediante el proceso de compilación estándar de Unity. En Archivo, Configuración de compilación, cambia la plataforma a Servidor Dedicado y compila.
-
Obtén un token de autenticación a corto plazo llamando al AWS CLI comando get-compute-auth-tokencon tu ID de flota y AWS región de Anywhere. El identificador de la flota se muestra en Connect to an Anywhere Fleet al crear la flota. La AWS región se muestra en Establezca su perfil al seleccionar su perfil activo.
aws gamelift get-compute-auth-token --fleet-id [your anywhere fleet ID] --region [your AWS region]
-
Ejecuta el servidor de juegos recién creado desde una línea de comandos e introduce un token de autenticación válido.
my_project.exe --authToken [token]