game / pragma.matchmaking / MatchmakingService /
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.
Constructors #
MatchmakingService | fun MatchmakingService(pragmaNode: PragmaNode, instanceId: UUID, uuidProxy: UUIDProxy = UUIDProxy(), oldPartyQueues: OldPartyQueues = OldPartyQueues(), partyQueues: PartyQueues = PartyQueues(), sessionClient: SessionClient = SessionClient()) |
Functions #
Name | Summary |
---|---|
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. |