game / pragma.matchmaking / MatchmakingService /
MatchmakingService #
@ExperimentalCoroutinesApi
internal class MatchmakingService(pragmaNode: PragmaNode, instanceId: <ERROR CLASS>, uuidProxy: UUIDProxy = UUIDProxy(), matchmakingQueues: MatchmakingQueues = MatchmakingQueues( MetrickingMutexFactory(pragmaNode, "MatchmakingQueues").get( MatchmakingQueues::class.qualifiedName!! ) ), partyClient: PartyClient = PartyClient(), gameInstanceClient: GameInstanceClient = GameInstanceClient(), timeProxy: TimeProxy = TimeProxy.defaultInstance, randomProxy: RandomProxy = RandomProxy(), matchmakingNotificationClient: MatchmakingNotificationClient = MatchmakingNotificationClient()) : DistributedService, ConfigHandler<MatchmakingConfig> , MatchReleaser
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: <ERROR CLASS>, uuidProxy: UUIDProxy = UUIDProxy(), matchmakingQueues: MatchmakingQueues = MatchmakingQueues(
MetrickingMutexFactory(pragmaNode, "MatchmakingQueues").get(
MatchmakingQueues::class.qualifiedName!!
)
), partyClient: PartyClient = PartyClient(), gameInstanceClient: GameInstanceClient = GameInstanceClient(), timeProxy: TimeProxy = TimeProxy.defaultInstance, randomProxy: RandomProxy = RandomProxy(), matchmakingNotificationClient: MatchmakingNotificationClient = MatchmakingNotificationClient()) |
Functions #
Name | Summary |
---|---|
Enters a group of players into matchmaking, processing all players through MatchmakingPlugin.initialize. | |
Enters a game instance into matchmaking. Used by the game instance service. | |
Queries information on matchmaking queues. | |
Queries summarized information on matchmaking queues. | |
Removes a player and their party from matchmaking. pragma.party.PartyPlugin.returnFromMatchmaking will fire within the party service. | |
Removes a player and their party from matchmaking. pragma.party.PartyPlugin.returnFromMatchmaking will fire within the party service. | |
Notification handler for player disconnect. Removes parties in matchmaking from queue if any player disconnects. | |
Queries matchmaking status information about specific players. | |
Removes a game instance from matchmaking. | |
Removes all players from any queues that target a specified list of game server versions. | |
Updates a game instance within matchmaking. Used by the game instance service. |