Adición de FlexMatch a un cliente de juego
En este tema se describe cómo añadir la funcionalidad de emparejamiento de FlexMatch a los componentes de juego del lado del cliente.
Es recomendable que el cliente de juegos realice solicitudes de emparejamiento a través de un servicio de juego de backend. Al utilizar un origen de confianza para la comunicación con el servicio Amazon GameLift Servers, puede protegerse más fácilmente contra los intentos de ataques informáticos y los datos falsos de los jugadores. Si su juego dispone de un servicio de directorio de sesiones, esta es una buena opción para controlar las solicitudes de emparejamiento. Usar un servicio de juego de backend para todas las llamadas al servicio Amazon GameLift Servers es una práctica recomendada para aquellos casos en los que se utiliza FlexMatch con el alojamiento de Amazon GameLift Servers y como servicio independiente.
Las actualizaciones del lado del cliente son necesarias tanto si se utiliza FlexMatch con un alojamiento administrado de Amazon GameLift Servers como un servicio independiente con otra solución de alojamiento. Con la API de servicio de Amazon GameLift Servers, que forma parte del SDK de AWS, añada la siguiente funcionalidad:
-
Solicitar el emparejamiento para uno o varios jugadores (obligatorio). En función del conjunto de reglas de emparejamiento, esta solicitud puede requerir ciertos datos específicos del jugador, como los atributos de jugador y la latencia.
-
Monitorizar el estado de las solicitudes de emparejamiento (obligatorio). Por lo general, esta tarea requiere configurar la notificación de eventos.
-
Solicitar la aceptación de un jugador para una propuesta de emparejamiento (opcional). Esta característica requiere una interacción adicional con el jugador para mostrar los detalles del emparejamiento y permitir que este lo acepte o lo rechace.
-
Obtener la información de conexión de la sesión y unirse al juego (obligatorio). Cuando se haya iniciado una sesión de juego para el nuevo emparejamiento, recupere la información de conexión de la sesión de juego y úsela para conectarse a la sesión de juego.
Requisitos previos: tareas del lado del cliente
Antes de poder añadir al juego la funcionalidad del lado del cliente, debe realizar estas tareas:
-
Añada el SDK de AWS al servicio de backend. El servicio de backend utiliza la funcionalidad de la API de Amazon GameLift Servers, que forma parte del SDK de AWS. Consulte SDK de Amazon GameLift Servers para servicios de cliente para obtener más información sobre el SDK de AWS y descargar la versión más reciente. Para ver las descripciones y la funcionalidad de la API, consulte Referencia de la API de Amazon GameLift Servers FlexMatch (SDK de AWS).
-
Configure un sistema de tickets de emparejamiento. Todas las solicitudes de emparejamiento deben tener un ID de ticket único. Cree un mecanismo para generar ID de ticket únicos y asignarlos a las solicitudes de emparejamiento. Un ID de ticket puede usar cualquier formato de cadena, hasta un máximo de 128 caracteres.
-
Recopile información sobre el emparejador. Obtenga la siguiente información de la configuración y el conjunto de reglas de emparejamiento.
-
Nombre del recurso de configuración de emparejamientos.
-
La lista de atributos de jugador, que se definen en el conjunto de reglas.
-
-
Recupere los datos de los jugadores. Configure una forma de obtener datos relevantes para que cada jugador los incluya en sus solicitudes de emparejamiento. Necesita el ID del jugador y los valores de los atributos de jugador. Si su conjunto de reglas tiene reglas de latencia o desea usar los datos de latencia al ubicar las sesiones de juego, recopile los datos de latencia de cada ubicación geográfica en la que es probable que se incluya al jugador en un espacio vacío del juego. Para obtener mediciones de latencia precisas, utilice señalizadores de pings de UDP de Amazon GameLift Servers. Estos puntos de conexión le permiten medir la latencia real de la red UDP entre los dispositivos de los jugadores y cada una de las posibles ubicaciones de alojamiento, de forma que pueda tomar decisiones de ubicación más precisas que utilizando pings de ICMP. Para obtener más información sobre el uso de señalizadores de pings de UDP para medir la latencia, consulte Señalizadores de pings de UDP.