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 of 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 of 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 of 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 | - |