game / pragma.matchmaking / MatchmakingService /
internal class MatchmakingService(pragmaNode: PragmaNode, instanceId: UUID, uuidProxy: UUIDProxy = UUIDProxy(), oldPartyQueues: OldPartyQueues = OldPartyQueues(), partyQueues: PartyQueues = PartyQueues(), sessionClient: SessionClient = SessionClient()) : DistributedService, ConfigHandler<MatchmakingConfig> , MatchRemover
The MatchmakingService is a game loop service responsible for matching players together using configurable queues. The service maintains a collection of all active matchmaking queues, which it constantly iterates through on a configurable timer (MatchmakingConfig.matchmakingDelayMillis) attempting to make a match using the matchmaking plugin.
Enters a group of players into matchmaking.
Enters a match in process back into matchmaking. This endpoint is invoked from MatchLifecycleRpc.RequestMorePlayersV1Request and results in an ActiveMatch being placed back in the matchmaking queue
Queries information on matchmaking queues.
Called from PartyService when a player leaves or is kicked from a party. Removes the whole party from matchmaking.
Allows a player to leave matchmaking. Removes their whole party from matchmaking.
Notification handler for player reconnect. Removes parties in matchmaking from queue if any player reconnects.
Notification handler for player disconnect. Removes parties in matchmaking from queue if any player disconnects.
Remove a GameServerVersion from matchmaking. Any players that were in queue for game server versions being removed will be removed from the game loop and sent a MatchmakingRpc.MatchmakingFailureV1Notification.