Solicitud del emparejamiento de jugadores - Amazon GameLift Servers

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.

Solicitud del emparejamiento de jugadores

Añada código a su servicio de backend para crear y administrar las solicitudes de emparejamiento a un emparejador de FlexMatch. El proceso de solicitud de emparejamiento de FlexMatch es idéntico para los juegos que utilizan FlexMatch con alojamiento administrado de Amazon GameLift Servers y para los juegos que utilizan FlexMatch como solución independiente.

Creación de una solicitud de emparejamiento:

Llama a la Amazon GameLift Servers API StartMatchmaking. Cada solicitud debe incluir la siguiente información.

Creador de emparejamientos

El nombre de la configuración de emparejamiento que desea utilizar para la solicitud. FlexMatch coloca cada solicitud en el grupo del emparejador especificado y la solicitud se procesa en función de la configuración del emparejador. Esto incluye la aplicación de un plazo, ya sea para solicitar la aceptación del jugador de los emparejamientos, qué cola utilizar cuando se coloque una sesión de juego resultante, etc. Para obtener más información sobre los creadores de emparejamientos y las reglas, consulte Diseño de un emparejador de FlexMatch.

ID del ticket

Un ID de ticket único asignado a la solicitud. Todo lo relacionado con la solicitud, incluidos los eventos y las notificaciones, hará referencia al ID de ticket.

Datos del jugador

Lista de jugadores para los que se desea crear un emparejamiento. Si alguno de los jugadores de la solicitud no cumple los requisitos de emparejamiento, según las reglas de emparejamiento y los mínimos de latencia, la solicitud de emparejamiento nunca dará lugar a un emparejamiento correcto. Puede incluir hasta diez jugadores en una solicitud de emparejamiento. Cuando hay varios jugadores en una solicitud, FlexMatch intenta crear un único emparejamiento y asignar todos los jugadores al mismo equipo (seleccionado de forma aleatoria). Si una solicitud contiene demasiados jugadores, por lo que no caben en uno de los equipos de emparejamiento, la solicitud no podrá emparejarse. Por ejemplo, si ha configurado el emparejador de tal forma que cree emparejamientos 2v2 (dos equipos de dos jugadores), no puede enviar una solicitud de emparejamiento que contenga más de dos jugadores.

nota

Un jugador (identificado por su ID de jugador) solo puede incluirse en una solicitud de emparejamiento activa en cada momento. Si se crea una solicitud nueva para un jugador, cualquier ticket de emparejamiento activo con el mismo ID de jugador se cancela automáticamente.

Para cada jugador que aparezca, incluya los siguientes datos:

  • ID de jugador: cada jugador debe tener un ID de jugador único generado por usted. Consulte Generar reproductor IDs.

    importante

    Cuando se crea una nueva solicitud de emparejamiento que contiene un ID de jugador que ya está incluido en una solicitud de emparejamiento existente, esta última se cancela automáticamente. Sin embargo, no se envía ningún evento MatchmakingCancelled para la solicitud cancelada. Para controlar el estado de las solicitudes de emparejamiento existentes, utiliza esta opción DescribeMatchmakingpara sondear el estado de las solicitudes a intervalos poco frecuentes (30 a 60 segundos). La solicitud cancelada mostrará el estado CANCELLED con el motivo Cancelled due to duplicate player.

  • Atributos de jugador: si el emparejador en uso llama a atributos de jugador, la solicitud debe proporcionar esos atributos para cada jugador. Los atributos necesarios de los jugadores se definen en el conjunto de reglas del emparejador, que también especifica el tipo de datos para el atributo. Un atributo de jugador es opcional solo cuando el conjunto de reglas especifica un valor predeterminado para el atributo. Si la solicitud de emparejamiento no proporciona atributos de jugador necesarios para todos los jugadores, la solicitud de emparejamiento no podrá ser nunca correcta. Para obtener más información sobre los conjuntos de reglas del creador de emparejamiento y los atributos de jugador, consulte Creación de un conjunto de reglas de FlexMatch y Ejemplos de conjuntos de reglas de FlexMatch.

  • Latencias del jugador: si el emparejador en uso tiene una regla de latencias del jugador, la solicitud debe informar sobre la latencia de cada jugador. Los datos de latencias del jugador son una lista de uno o varios valores por jugador. Representa la latencia que el jugador experimenta para las regiones en la cola del emparejador. Si no hay valores de latencia para un jugador incluidos en la solicitud, el jugador no podrá emparejarse y se producirá un error en la solicitud. 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.

Recuperación de los detalles de la solicitud de emparejamiento

Después de enviar una solicitud de partido, puedes ver los detalles de la solicitud llamando DescribeMatchmakingcon el número de entrada de la solicitud. Esta llamada devuelve la información de solicitud, incluido el estado actual. Una vez que se ha completado correctamente la solicitud, el ticket también contiene la información que necesita un cliente de juego para conectarse al emparejamiento.

Cancelación de una solicitud de emparejamiento

Puedes cancelar una solicitud de emparejamiento en cualquier momento llamando StopMatchmakingcon el identificador de entrada de la solicitud.