Integración de juegos con Amazon GameLift Realtime Servers - 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.

Integración de juegos con Amazon GameLift Realtime Servers

En este tema se proporciona una descripción general de la solución gestionada Amazon GameLift with Realtime Servers. La descripción general explica cuándo esta solución es adecuada para el juego y cómo Servidores en tiempo real admite los juegos multijugador.

sugerencia

Para probar el alojamiento de servidores de GameLift juegos de Amazon, consulteCómo empezar con Amazon GameLift.

¿Qué son los servidores de Realtime?

Los servidores Realtime son servidores de ready-to-go juegos livianos que Amazon GameLift proporciona para que los uses con tus juegos multijugador. Los servidores de Realtime eliminan el proceso de desarrollo, prueba e implementación de un servidor de juegos personalizado. Esta solución puede ayudar a minimizar el tiempo y el esfuerzo necesarios para completar el juego.

Características principales
  • Pila de red completa para la interacción del cliente y servidor de juegos

  • Funcionalidad principal del servidor de juegos

  • Lógica del servidor personalizable

  • Actualizaciones en directo de la lógica del servidor y las configuraciones de Realtime.

  • FlexMatch emparejamiento

  • Control flexible de los recursos de alojamiento

Cree una flota y proporcione un script de configuración para configurar los servidores para configurar servidores de Realtime.

Cómo Servidores en tiempo real administra las sesiones de juego

Tiene la opción de añadir lógica personalizada para la administración de sesiones de juego si la compila en el script de Realtime. Puede escribir código para obtener acceso a objetos específicos del servidor, añadir lógica basada en eventos mediante devoluciones de llamada o añadir lógica basada en escenarios que no sean eventos.

Cómo interactúan los clientes y servidores de Realtime

Durante una sesión de juego, los clientes de juegos interactúan enviando mensajes al servidor de Realtime a través de un servicio de backend. Después, el servicio de backend transmite los mensajes entre los clientes del juego para intercambiar la actividad, el estado del juego y los datos relevantes del juego.

Además, añada la lógica de juego al script de Realtime para personalizar la forma en que los clientes y los servidores interactúan. Con la lógica de juego personalizada, un servidor de Realtime podría implementar devoluciones de llamada para iniciar respuestas basadas en eventos.

Protocolo de comunicación

Los servidores en tiempo real y los clientes de juegos conectados se comunican a través de dos canales: una TCP conexión para una entrega confiable y un UDP canal para una entrega rápida. Al crear mensajes, los clientes de juego eligen qué protocolo utilizar en función de la naturaleza de los mensajes. La entrega de mensajes está configurada de forma UDP predeterminada. Si un UDP canal no está disponible, Amazon GameLift envía mensajes TCP como alternativa.

Contenido de los mensajes

El contenido del mensaje consta de dos elementos: un código de operación obligatorio (opCode) y una carga útil opcional. El mensaje opCode identifica la actividad de un jugador o un evento del juego en particular, y la carga útil proporciona datos adicionales relacionados con el código de operación. Ambos elementos están definidos por el desarrollador. El cliente del juego actúa en función de los mensajes que recibe. opCodes

Grupos de jugadores

Servidores en tiempo real proporciona funcionalidad para administrar grupos de jugadores. De forma predeterminada, Amazon GameLift coloca a todos los jugadores que se conectan a un juego en un grupo de «todos los jugadores». Además, los desarrolladores pueden definir otros grupos para sus juegos y los jugadores pueden ser miembros de varios grupos de forma simultánea. Los miembros del grupo pueden enviar mensajes y compartir los datos del juego con todos los jugadores del grupo. Un posible uso de los grupos consiste en configurar equipos de jugadores y administrar la comunicación de los equipos.

Servidores en tiempo real con certificados TLS

Con Servidores en tiempo real, la autenticación del servidor y el cifrado de los paquetes de datos están integrados en el servicio. Estas funciones de seguridad se activan al activar la generación de TLS certificados. Cuando un cliente de juego intenta conectarse con un servidor Realtime, el servidor responde automáticamente con el TLS certificado, que el cliente valida. Amazon GameLift gestiona el cifrado mediante TLS la comunicación for TCP (WebSockets) y DTLS UDP el tráfico.

Personalización de un servidor de Realtime

Un servidor de Realtime funciona como un servidor de retransmisión sin estado. El servidor de Realtime retransmite paquetes de datos del juego y los mensajes entre los clientes del juego conectados al juego. Sin embargo, el servidor de Realtime no evalúa los mensajes, no procesa datos ni ejecuta ninguna lógica del juego. Si se utiliza de esta forma, cada cliente del juego mantiene su propia vista del estado del juego y facilita actualizaciones a otros jugadores mediante el servidor de retransmisión. Cada cliente de juego es responsable de incorporar estas actualizaciones y conciliar su propio estado del juego.

Puede personalizar los servidores añadiéndolos a la funcionalidad de script de Realtime. Con la lógica del juego, por ejemplo, puede compilar un juego con estado con una vista autorizada por el servidor del estado del juego.

Amazon GameLift define un conjunto de callbacks del lado del servidor para scripts en tiempo real. Implemente estas devoluciones de llamada para añadir a su servidor la funcionalidad basada en eventos. Por ejemplo, puede hacer lo siguiente:

  • Autenticar a un jugador cuando un cliente de juego intenta conectarse con el servidor.

  • Valide si un jugador podrá unirse a un grupo cuando se solicite.

  • Establezca cuándo entregar mensajes de un jugador determinado a otro jugador de destino, o realizar un procesamiento adicional en la respuesta.

  • Informe a todos los jugadores cuando un jugador abandone un grupo o se desconecte del servidor.

  • Visualice el contenido de los objetos de la sesión de juego o los objetos de mensajes, y utilice los datos.

Implementación y actualización de servidores en tiempo real

Una ventaja clave de Servidores en tiempo real es la capacidad de actualizar los scripts en cualquier momento. Cuando actualizas un script, Amazon GameLift distribuye la nueva versión a todos los recursos de alojamiento en cuestión de minutos. Cuando Amazon GameLift despliegue el nuevo guion, todas las nuevas sesiones de juego que se creen a partir de ese momento utilizarán la nueva versión del guion. (Las sesiones de juego existentes seguirán utilizando la versión original).

Comience la integración del juego con Servidores en tiempo real de las siguientes formas: