Since AsyncAPI can only model a publish/subscribe model, this spec only covers the server side of the bidirectional lobby connection
Server receives clients request to host a game
Available only on servers:
Accepts the following message:
{
"command": "game_host",
"mapname": "string",
"title": "string",
"mod": "string",
"options": "string",
"access": "public",
"version": 0,
"rating_min": 0,
"rating_max": 0,
"enforce_rating_range": true
}
Server receives clients request to join a game
Available only on servers:
Accepts the following message:
{
"command": "join_game",
"uid": 1,
"password": "string"
}
Server receives clients request to get a session
Available only on servers:
Accepts the following message:
{
"command": "ask_session",
"version": "string",
"user_agent": "string"
}
Server receives clients request to add a friend/foe
Available only on servers:
Accepts the following message:
{
"command": "social_add",
"friend": 1,
"foe": 1
}
Server receives clients request to remove a friend/foe
Available only on servers:
Accepts the following message:
{
"command": "social_remove",
"friend": 1,
"foe": 1
}
Server receives avatar request
Available only on servers:
Accepts the following message:
{
"command": "avatar",
"action": "list_avatar",
"avatar": "string"
}
Server receives request to restore game session for a game
Available only on servers:
Accepts the following message:
{
"command": "restore_game_session",
"game_id": 1
}
Accepts the following message:
{
"command": "ping"
}
Accepts the following message:
{
"command": "pong"
}
Server receives admin action
Available only on servers:
Accepts the following message:
{
"command": "admin",
"action": "closelobby",
"user_id": 1,
"message": "string"
}
Server receives invite to party request
Available only on servers:
Accepts the following message:
{
"command": "invite_to_party",
"recipient_id": 1
}
Server receives accept to party request
Available only on servers:
Accepts the following message:
{
"command": "accept_party_invite",
"sender_id": 1
}
Server receives kick from party request
Available only on servers:
Accepts the following message:
{
"command": "kick_player_from_party",
"kicked_player_id": 1
}
Server leave party request
Available only on servers:
Accepts the following message:
{
"command": "leave_party"
}
Server unready party request
Available only on servers:
Accepts the following message:
{
"command": "unready_party"
}
Server request to select party factions
Available only on servers:
Accepts the following message:
{
"command": "set_party_factions",
"factions": [
"uef"
]
}
Server request to join or leave matchmaking queue
Available only on servers:
Accepts the following message:
{
"command": "game_matchmaking",
"queue_name": "string",
"state": "start"
}
Server request to set player vetoes
Available only on servers:
Accepts the following message:
{
"command": "set_player_vetoes",
"vetoes": [
{
"map_pool_map_version_id": 1,
"veto_tokens_applied": 0
}
]
}
Server request to receive latest matchmaker info
Available only on servers:
Accepts the following message:
{
"command": "matchmaker_info"
}
Server request to authenticate
Available only on servers:
Accepts the following message:
{
"command": "auth",
"token": "string",
"session": 0,
"unique_id": "string"
}
Server request response to is_ready request
Available only on servers:
Accepts the following message:
{
"command": "is_ready_response",
"request_id": "string"
}
Client requests to join a game
Available only on servers:
Accepts the following message:
{
"command": "join_game",
"uid": 1,
"password": "string"
}