Skip to main content

Lobby Server 0.1.0 documentation

info

In this document, PUB means "publish" and SUB means "subscribe". This refers to the "publish/subscribe" (pub/sub) messaging framework, where "publish" means that the service sends data to Kafka topics, and "subscribe" means the service acts as a consumer that subscribes to specific Kafka topics to receive data.

  • Specification ID: http://lobby-server
  • Protobuf File Spec: lobby.proto

Table of Contents

Operations

PUB lobby Operation

Accepts one of the following messages:

Message userConnected

Payload
NameTypeDescriptionValueConstraintsNotes
(root)allOf---additional properties are allowed
payload----additional properties are allowed
payload.userConnectedobject---additional properties are allowed
payload.userConnected.lobbySessionIdstring----
payload.userConnected.lobbyLoginTypestring NewRegister Fresh connect, no active connection. MultipleSessionLogin An active connection exists, a new connection with different token, old connection will be closed. FastReconnect An active connection exists, a new connection with same token and same lobbySessionId, old connection will be closed. WrongSessionID An active connection exists, a new connection with same token and different lobbySessionId, new connection is rejected, event is not published.---
payload.userConnected.reconnectFrominteger 5000 Fresh connect, this wasn't a reconnect. 5001 The user is still connected.---
payload.userConnected.connectionIdstring----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"payload": {
"userConnected": {
"lobbySessionId": "string",
"lobbyLoginType": "string",
"reconnectFrom": 0,
"connectionId": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}

Message userDisconnected

Payload
NameTypeDescriptionValueConstraintsNotes
(root)allOf---additional properties are allowed
payload----additional properties are allowed
payload.userDisconnectedobject---additional properties are allowed
payload.userDisconnected.reasonstring----
payload.userDisconnected.codeinteger----
payload.userDisconnected.platformstring----
payload.userDisconnected.lobbySessionIdstring----
payload.userDisconnected.isReconnectingboolean----
payload.userDisconnected.connectionIdstring----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"payload": {
"userDisconnected": {
"reason": "string",
"code": 0,
"platform": "string",
"lobbySessionId": "string",
"isReconnecting": true,
"connectionId": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}

Message userChatRateLimited

Payload
NameTypeDescriptionValueConstraintsNotes
(root)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}

Message userRateLimited

Payload
NameTypeDescriptionValueConstraintsNotes
(root)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}

Message userBlockAdded

Payload
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.blockedobject---additional properties are allowed
payload.blocked.blockedByUserIdstring----
payload.blocked.blockedUserIdstring----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"payload": {
"blocked": {
"blockedByUserId": "string",
"blockedUserId": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}

Message userBlockRemoved

Payload
NameTypeDescriptionValueConstraintsNotes
(root)object allOf---additional properties are allowed
payloadobject---additional properties are allowed
payload.blockedobject---additional properties are allowed
payload.blocked.blockedByUserIdstring----
payload.blocked.blockedUserIdstring----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"payload": {
"blocked": {
"blockedByUserId": "string",
"blockedUserId": "string"
}
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}

PUB lobbyMatchmakingTickets Operation

Message matchmakingTicketsPublished

Payload
NameTypeDescriptionValueConstraintsNotes
(root)allOf---additional properties are allowed
payload----additional properties are allowed
payload.totalMatchmakingRequestinteger----
payload.averageMatchmakingExecutionTimeinteger----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"payload": {
"totalMatchmakingRequest": 0,
"averageMatchmakingExecutionTime": 0
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}

PUB lobbyTotalUsersOnline Operation

Message totalUsersOnlinePublished

Payload
NameTypeDescriptionValueConstraintsNotes
(root)allOf---additional properties are allowed
payload----additional properties are allowed
payload.totalUsersOnlineinteger----
payload.totalUsersOnlineSteaminteger----
payload.totalUsersOnlineXboxinteger----
payload.totalUsersOnlinePlaystationinteger----
0 (allOf item)object---additional properties are allowed
idstring----
versioninteger----
namestring----
namespacestring----
parentNamespacestring----
timestampstring--format (date-time)-
clientIdstring----
userIdstringUserId of the operator for this event (optional)---
traceIdstring----
sessionIdstring----
spanContextstring----

Examples of payload (generated)

{
"payload": {
"totalUsersOnline": 0,
"totalUsersOnlineSteam": 0,
"totalUsersOnlineXbox": 0,
"totalUsersOnlinePlaystation": 0
},
"id": "string",
"version": 0,
"name": "string",
"namespace": "string",
"parentNamespace": "string",
"timestamp": "2019-08-24T14:15:22Z",
"clientId": "string",
"userId": "string",
"traceId": "string",
"sessionId": "string",
"spanContext": "string"
}