- Coincidencia
- Los vales de reposición no pueden coincidir entre sí.
- Los vales de reposición tienen prioridad durante la búsqueda, lo que reduce la fragmentación de la base de jugadores.
- Contrato
- Los vales de reposición se pueden crear con un campo
ServerDetails. Esto permite al servidor indicar cómo deben conectarse a él los jugadores emparejados. - Los vales de reposición se pueden crear con asignaciones de equipo. Esto permite que los juegos con equipos mantengan su información de equipo.
- Los vales de reposición se pueden crear con un campo
- Propiedades de la cola
- Los vales de reposición no desencadenan la asignación de Multiplayer Server.
- Los vales de reposición no se reflejan en las estadísticas de cola, ya que sus jugadores ya están jugando una partida y sesgarían de forma imprecisa el tiempo de espera.
- Propiedad
- Los vales de reposición pertenecen a un servidor de juego, no a un usuario. Los usuarios no pueden ver los vales de reposición ni interactuar con ellos de ninguna manera.
Requisitos previos
- Familiaridad básica con el Multiplayer SDK de PlayFab. Para obtener más información, consulte el Inicio rápido del SDK de emparejamiento.
- Defina
PFMULTIPLAYER_INCLUDE_SERVER_APISantes de incluir el encabezado de emparejamiento. Por ejemplo:
Configurar un vale de reposición de servidor
Cree y rellene una estructura PFMatchmakingServerBackfillTicketConfiguration con los detalles necesarios:-
timeoutInSeconds: Cuánto tiempo se intentará rellenar el vale, en segundos. -
queueName: El nombre de una cola de partidas. -
memberCount: El número de miembros que hay actualmente en la partida. -
members: Los miembros PFMatchmakingMatchMember que hay actualmente en la partida. -
serverDetails(opcional): Rellene PFMultiplayerServerDetails con información sobre su servidor (FQDN, dirección IP, puertos, región) que se proporciona a los clientes.
El campo
PFMultiplayerServerDetails::ipv4Address no se valida y puede usarse para proporcionar información arbitraria de cadena de conexión a los clientes.Creación de un vale de reposición de servidor
Al usar PFMultiplayerCreateServerBackfillTicket para crear un vale de reposición de servidor, es necesario pasar la entidad de nuestro servidor de juego (como una PFEntityKey) junto con la configuración de reposición que creamos en el paso anterior.Comprobar el estado del vale de emparejamiento
Debe comprobar si hay actualizaciones del vale llamando a PFMultiplayerStartProcessingMatchmakingStateChanges para recibir los cambios de estado y llamando después a PFMultiplayerFinishProcessingMatchmakingStateChanges cuando termine de procesar esos cambios de estado. El SDK devuelve un cambio de estado TicketStatusChanged cada vez que cambia el estado del vale y un cambio de estado TicketCompleted cuando el emparejamiento se ha completado.Obtener la partida
Después de recibir el cambio de estado PFMatchmakingStateChangeType::TicketCompleted, llame a PFMatchmakingTicketGetMatch para obtener los detalles de la partida. Estos detalles contienen el identificador de la partida, los usuarios que se han emparejado juntos, la región preferida para la partida y una cadena de organización para el lobby asociado a la partida. Una vez que recupere toda la información que necesite de la estructura PFMatchmakingMatchDetails, el vale debe destruirse con PFMultiplayerDestroyMatchmakingTicket.Cancelación de un vale
Si desea cancelar el proceso de emparejamiento antes del tiempo de espera establecido enPFMatchmakingServerBackfillTicketConfiguration, llame a PFMatchmakingTicketCancel con el identificador del vale.
Llamar a esta API no garantiza que el vale se cancele. El vale podría completarse antes de que la cancelación pueda procesarse, o la solicitud de cancelación puede producir un error debido a errores de red o del servicio. Puede seguir procesando los cambios de estado de emparejamiento para obtener el resultado del vale si desea confirmar que la cancelación del vale se ha completado antes de continuar. De lo contrario, puede llamar inmediatamente a PFMultiplayerDestroyMatchmakingTicket.
