Lobby Matchmaking Events 0.1.0 documentation
- Protobuf File Spec: matchmaking.proto
Published Messages (matchmaking)
The service publishes one of these messages below.
matchmakingRequested
Contains fields from event and the following payload.
Example value
{
"payload": {
"matchmakingRequest": {
"priority": "string",
"createdAt": "string",
"channel": "string",
"partyId": "string",
"ticketId": "string",
"partyMembers": [
{
"userId": "string",
"extraAttributes": {}
}
],
"timestamp": "2019-08-24T14:15:22Z",
"event": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
matchmakingRequest | object | - |
payload.matchmakingRequest
Name | Type | Description |
---|---|---|
priority | string | - |
createdAt | string | - |
channel | string | - |
partyId | string | - |
ticketId | string | - |
partyMembers | array<object> | - |
timestamp | string (date-time) | - |
event | string | - |
payload.matchmakingRequest.partyMembers[number]
Name | Type | Description |
---|---|---|
userId | string | - |
extraAttributes | object | - |
payload.matchmakingRequest.partyMembers[number].extraAttributes
This is a free-form object.
matchmakingCanceled
Contains fields from event and the following payload.
Example value
{
"payload": {
"matchmaking": {
"status": "string",
"matchId": "string",
"channel": "string",
"namespace": "string",
"gameMode": "string",
"matchingParties": [
{
"userId": "string",
"extraAttributes": {}
}
],
"ticketId": "string",
"ticketIds": [
"string"
]
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
matchmaking | lobbyMatchmaking | - |
matchmakingStarted
Contains fields from event and the following payload.
Example value
{
"payload": {
"matchmaking": {
"status": "string",
"matchId": "string",
"channel": "string",
"namespace": "string",
"gameMode": "string",
"matchingParties": [
{
"ticket_id": "string",
"party_id": "string",
"party_members": [
{
"user_id": "string",
"extra_attributes": {}
}
],
"party_attributes": {},
"ticket_created_at": 0,
"first_ticket_created_at": 0
}
]
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
matchmaking | object | - |
payload.matchmaking
Name | Type | Description |
---|---|---|
status | string | - |
matchId | string | - |
channel | string | - |
namespace | string | - |
gameMode | string | - |
matchingParties | array<object> | - |
payload.matchmaking.matchingParties[number]
Name | Type | Description |
---|---|---|
ticket_id | string | - |
party_id | string | - |
party_members | array<object> | - |
party_attributes | object | - |
ticket_created_at | integer | - |
first_ticket_created_at | integer | - |
payload.matchmaking.matchingParties[number].party_members[number]
Name | Type | Description |
---|---|---|
user_id | string | - |
extra_attributes | object | - |
payload.matchmaking.matchingParties[number].party_members[number].extra_attributes
This is a free-form object.
payload.matchmaking.matchingParties[number].party_attributes
This is a free-form object.
matchmakingTimeout
Contains fields from event and the following payload.
Example value
{
"payload": {
"matchmaking": {
"status": "string",
"matchId": "string",
"channel": "string",
"namespace": "string",
"gameMode": "string",
"matchingParties": [
{
"userId": "string",
"extraAttributes": {}
}
],
"ticketId": "string",
"ticketIds": [
"string"
]
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
matchmaking | lobbyMatchmaking | - |
matchmakingRejected
Contains fields from event and the following payload.
Example value
{
"payload": {
"matchmaking": {
"status": "string",
"matchId": "string",
"channel": "string",
"namespace": "string",
"gameMode": "string",
"matchingParties": [
{
"userId": "string",
"extraAttributes": {}
}
],
"ticketId": "string",
"ticketIds": [
"string"
]
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
matchmaking | lobbyMatchmaking | - |
matchmakingChannelCreated
Contains fields from event and the following payload.
Example value
{
"payload": {
"ruleset": {
"alliance": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
},
"matching_rule": [
{
"attribute": "string",
"criteria": "string",
"reference": 0
}
],
"flexing_rule": [
{
"duration": 0,
"matching_rule": {
"attribute": "string",
"criteria": "string",
"reference": 0
}
}
],
"alliance_flexing_rule": [
{
"duration": 0,
"AllianceRule": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
}
}
],
"match_options": [
{
"options": {
"name": "string",
"type": "string"
}
}
],
"sub_game_modes": [
{
"name": "string",
"alliance": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
},
"alliance_flexing_rule": [
{
"duration": 0,
"AllianceRule": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
}
}
]
}
],
"rebalance_enable": true
},
"description": "string",
"gameMode": "string",
"findMatchTimeoutSeconds": 0
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
ruleset | ruleset | - |
description | string | - |
gameMode | string | - |
findMatchTimeoutSeconds | integer | - |
matchmakingChannelDeleted
Contains fields from event and the following payload.
Example value
{
"payload": {
"ruleset": {
"alliance": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
},
"matching_rule": [
{
"attribute": "string",
"criteria": "string",
"reference": 0
}
],
"flexing_rule": [
{
"duration": 0,
"matching_rule": {
"attribute": "string",
"criteria": "string",
"reference": 0
}
}
],
"alliance_flexing_rule": [
{
"duration": 0,
"AllianceRule": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
}
}
],
"match_options": [
{
"options": {
"name": "string",
"type": "string"
}
}
],
"sub_game_modes": [
{
"name": "string",
"alliance": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
},
"alliance_flexing_rule": [
{
"duration": 0,
"AllianceRule": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
}
}
]
}
],
"rebalance_enable": true
},
"description": "string",
"gameMode": "string",
"findMatchTimeoutSeconds": 0
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
ruleset | ruleset | - |
description | string | - |
gameMode | string | - |
findMatchTimeoutSeconds | integer | - |
matchmakingChannelUpdated
Contains fields from event and the following payload.
Example value
{
"payload": {
"ruleset": {
"alliance": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
},
"matching_rule": [
{
"attribute": "string",
"criteria": "string",
"reference": 0
}
],
"flexing_rule": [
{
"duration": 0,
"matching_rule": {
"attribute": "string",
"criteria": "string",
"reference": 0
}
}
],
"alliance_flexing_rule": [
{
"duration": 0,
"AllianceRule": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
}
}
],
"match_options": [
{
"options": {
"name": "string",
"type": "string"
}
}
],
"sub_game_modes": [
{
"name": "string",
"alliance": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
},
"alliance_flexing_rule": [
{
"duration": 0,
"AllianceRule": {
"min_number": 0,
"max_number": 0,
"player_min_number": 0,
"player_max_number": 0,
"combination": {
"role_flexing_enable": true,
"role_flexing_second": 0,
"role_flexing_player": 0,
"has_combination": true,
"alliances": [
[
{
"name": "string",
"min": 0,
"max": 0
}
]
]
}
}
}
]
}
],
"rebalance_enable": true
},
"description": "string",
"gameMode": "string",
"findMatchTimeoutSeconds": 0
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
ruleset | ruleset | - |
description | string | - |
gameMode | string | - |
findMatchTimeoutSeconds | integer | - |
matchmakingSessionStatusChanged
Contains fields from event and the following payload.
Example value
{
"payload": {
"session": {
"status": "string",
"event": "string",
"party_id": "string",
"ticket_id": "string",
"match_id": "string",
"channel": "string",
"namespace": "string",
"game_mode": "string",
"server_name": "string",
"client_version": "string",
"region": "string",
"joinable": true,
"matching_allies": [
{
"matching_parties": [
{
"ticket_id": "string",
"party_id": "string",
"party_members": [
{
"user_id": "string",
"extra_attributes": {}
}
],
"party_attributes": {},
"ticket_created_at": 0,
"first_ticket_created_at": 0
}
],
"playerCount": 0
}
],
"deployment": "string",
"updatedAt": "2019-08-24T14:15:22Z",
"queueAt": 0,
"partyAttributes": "string",
"errorCode": 0,
"errorMessage": "string",
"timestamp": "2019-08-24T14:15:22Z"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
session | object | - |
payload.session
Name | Type | Description |
---|---|---|
status | string | - |
event | string | - |
party_id | string | - |
ticket_id | string | - |
match_id | string | - |
channel | string | - |
namespace | string | - |
game_mode | string | - |
server_name | string | - |
client_version | string | - |
region | string | - |
joinable | boolean | - |
matching_allies | array<object> | - |
deployment | string | - |
updatedAt | string (date-time) | - |
queueAt | integer | - |
partyAttributes | string | - |
errorCode | integer | - |
errorMessage | string | - |
timestamp | string (date-time) | - |
payload.session.matching_allies[number]
Name | Type | Description |
---|---|---|
matching_parties | array<object> | - |
playerCount | integer | - |
payload.session.matching_allies[number].matching_parties[number]
Name | Type | Description |
---|---|---|
ticket_id | string | - |
party_id | string | - |
party_members | array<object> | - |
party_attributes | object | - |
ticket_created_at | integer | - |
first_ticket_created_at | integer | - |
payload.session.matching_allies[number].matching_parties[number].party_members[number]
Name | Type | Description |
---|---|---|
user_id | string | - |
extra_attributes | object | - |
payload.session.matching_allies[number].matching_parties[number].party_members[number].extra_attributes
This is a free-form object.
payload.session.matching_allies[number].matching_parties[number].party_attributes
This is a free-form object.
matchmakingTicketStatusChanged
Contains fields from event and the following payload.
Example value
{
"payload": {
"ticket": {
"priority": 0,
"created_at": 0,
"channel": "string",
"namespace": "string",
"ticket_id": "string",
"party_id": "string",
"party_leader_id": "string",
"party_attributes": {},
"party_members": [
{
"user_id": "string",
"extra_attributes": {}
}
],
"additional_criteria": {},
"latency_map": {
"property1": 0,
"property2": 0
},
"sorted_latency": [
{
"region": "string",
"latency": 0
}
],
"first_ticket_created_at": 0
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
ticket | object | - |
payload.ticket
Name | Type | Description |
---|---|---|
priority | integer | - |
created_at | integer | - |
channel | string | - |
namespace | string | - |
ticket_id | string | - |
party_id | string | - |
party_leader_id | string | - |
party_attributes | object | - |
party_members | array<partyMember> | - |
additional_criteria | object | - |
latency_map | object | - |
sorted_latency | array<object> | - |
first_ticket_created_at | integer | - |
payload.ticket.party_attributes
This is a free-form object.
payload.ticket.additional_criteria
This is a free-form object.
payload.ticket.latency_map
This is a free-form object.
payload.ticket.sorted_latency[number]
Name | Type | Description |
---|---|---|
region | string | - |
latency | integer | - |
Published Messages (matchmakingTotalPlayersInQueue)
The service publishes one of these messages below.
matchmakingTotalPlayersInQueue
Contains fields from event and the following payload.
Example value
{
"payload": {
"totalPlayersInQueue": 0
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
totalPlayersInQueue | integer | - |
Published Messages (readyConsent)
The service publishes one of these messages below.
readyConsentSuccess
Contains fields from event and the following payload.
Example value
{
"payload": {
"successTickets": {
"partyId": "string",
"memberIds": [
"string"
],
"ticketCreatedAt": 0
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
successTickets | successTickets | - |
readyConsentFailed
Contains fields from event and the following payload.
Example value
{
"payload": {
"successTickets": {
"partyId": "string",
"memberIds": [
"string"
],
"ticketCreatedAt": 0
},
"failedTickets": {
"partyId": "string",
"succeedMemberIds": [
"string"
],
"failedMemberIds": [
"string"
],
"ticketCreatedAt": 0
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"sessionId": "string",
"spanContext": "string"
}
payload
Name | Type | Description |
---|---|---|
successTickets | successTickets | - |
failedTickets | object | - |
payload.failedTickets
Name | Type | Description |
---|---|---|
partyId | string | - |
succeedMemberIds | array | - |
failedMemberIds | array | - |
ticketCreatedAt | integer | - |
Schemas
matching_rule
Name | Type | Description |
---|---|---|
attribute | string | - |
criteria | string | - |
reference | number (float) | - |
alliance
Name | Type | Description |
---|---|---|
min_number | integer | - |
max_number | integer | - |
player_min_number | integer | - |
player_max_number | integer | - |
combination | object | - |
combination
Name | Type | Description |
---|---|---|
role_flexing_enable | boolean | - |
role_flexing_second | integer | - |
role_flexing_player | integer | - |
has_combination | boolean | - |
alliances | array | - |
rulesetAllianceFlexingRule
Name | Type | Description |
---|---|---|
duration | integer | - |
AllianceRule | object | - |
AllianceRule
Name | Type | Description |
---|---|---|
min_number | integer | - |
max_number | integer | - |
player_min_number | integer | - |
player_max_number | integer | - |
combination | object | - |
AllianceRule.combination
Name | Type | Description |
---|---|---|
role_flexing_enable | boolean | - |
role_flexing_second | integer | - |
role_flexing_player | integer | - |
has_combination | boolean | - |
alliances | array | - |
partyMember
Name | Type | Description |
---|---|---|
user_id | string | - |
extra_attributes | object | - |
extra_attributes
This is a free-form object.
matchingParty
Name | Type | Description |
---|---|---|
ticket_id | string | - |
party_id | string | - |
party_members | array<object> | - |
party_attributes | object | - |
ticket_created_at | integer | - |
first_ticket_created_at | integer | - |
party_members[number]
Name | Type | Description |
---|---|---|
user_id | string | - |
extra_attributes | object | - |
party_members[number].extra_attributes
This is a free-form object.
party_attributes
This is a free-form object.
partyMemberV1
Name | Type | Description |
---|---|---|
userId | string | - |
extraAttributes | object | - |
extraAttributes
This is a free-form object.
ruleset
Name | Type | Description |
---|---|---|
alliance | object | - |
matching_rule | array<object> | - |
flexing_rule | array<object> | - |
alliance_flexing_rule | array<rulesetAllianceFlexingRule> | - |
match_options | array<object> | - |
sub_game_modes | array<object> | - |
rebalance_enable | boolean | - |
alliance
Name | Type | Description |
---|---|---|
min_number | integer | - |
max_number | integer | - |
player_min_number | integer | - |
player_max_number | integer | - |
combination | object | - |
alliance.combination
Name | Type | Description |
---|---|---|
role_flexing_enable | boolean | - |
role_flexing_second | integer | - |
role_flexing_player | integer | - |
has_combination | boolean | - |
alliances | array | - |
matching_rule[number]
Name | Type | Description |
---|---|---|
attribute | string | - |
criteria | string | - |
reference | number (float) | - |
flexing_rule[number]
Name | Type | Description |
---|---|---|
duration | integer | - |
matching_rule | object | - |
flexing_rule[number].matching_rule
Name | Type | Description |
---|---|---|
attribute | string | - |
criteria | string | - |
reference | number (float) | - |
match_options[number]
Name | Type | Description |
---|---|---|
options | object | - |
match_options[number].options
Name | Type | Description |
---|---|---|
name | string | - |
type | string | - |
sub_game_modes[number]
Name | Type | Description |
---|---|---|
name | string | - |
alliance | object | - |
alliance_flexing_rule | array<rulesetAllianceFlexingRule> | - |
sub_game_modes[number].alliance
Name | Type | Description |
---|---|---|
min_number | integer | - |
max_number | integer | - |
player_min_number | integer | - |
player_max_number | integer | - |
combination | object | - |
sub_game_modes[number].alliance.combination
Name | Type | Description |
---|---|---|
role_flexing_enable | boolean | - |
role_flexing_second | integer | - |
role_flexing_player | integer | - |
has_combination | boolean | - |
alliances | array | - |
lobbyMatchmaking
Name | Type | Description |
---|---|---|
status | string | - |
matchId | string | - |
channel | string | - |
namespace | string | - |
gameMode | string | - |
matchingParties | array<object> | - |
ticketId | string | - |
ticketIds | array | - |
matchingParties[number]
Name | Type | Description |
---|---|---|
userId | string | - |
extraAttributes | object | - |
matchingParties[number].extraAttributes
This is a free-form object.
successTickets
Name | Type | Description |
---|---|---|
partyId | string | - |
memberIds | array | - |
ticketCreatedAt | integer | - |
event
Name | Type | Description |
---|---|---|
id | string | - |
version | integer | - |
name | string | - |
namespace | string | - |
parentNamespace | string | - |
timestamp | string (date-time) | - |
clientId | string | - |
userId | string | as operator id |
sessionId | string | - |
spanContext | string | - |