mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-16 10:19:47 +02:00
151 lines
3.8 KiB
JSON
151 lines
3.8 KiB
JSON
{
|
|
"type" : "object",
|
|
"$schema" : "http://json-schema.org/draft-06/schema",
|
|
"title" : "Lobby protocol: activeGameRooms",
|
|
"description" : "Sent by server to initialized or update list of game rooms",
|
|
"required" : [ "type", "gameRooms" ],
|
|
"additionalProperties" : false,
|
|
|
|
"properties" : {
|
|
"type" :
|
|
{
|
|
"type" : "string",
|
|
"const" : "activeGameRooms"
|
|
},
|
|
"gameRooms" :
|
|
{
|
|
"type" : "array",
|
|
"description" : "List of currently available game rooms",
|
|
"items" :
|
|
{
|
|
"type" : "object",
|
|
"additionalProperties" : false,
|
|
"required" : [ "gameRoomID", "hostAccountID", "hostAccountDisplayName", "description", "participants", "playerLimit", "status", "ageSeconds", "mods", "version" ],
|
|
"properties" : {
|
|
"gameRoomID" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Unique ID of game room"
|
|
},
|
|
"hostAccountID" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "ID of account that created and hosts this game room"
|
|
},
|
|
"hostAccountDisplayName" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Display name of account that created and hosts this game room"
|
|
},
|
|
"description" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Auto-generated description of this room"
|
|
},
|
|
"participants" :
|
|
{
|
|
"type" : "array",
|
|
"description" : "List of accounts in the room, including host",
|
|
"items" :
|
|
{
|
|
"type" : "object",
|
|
"additionalProperties" : false,
|
|
"required" : [ "accountID", "displayName" ],
|
|
"properties" : {
|
|
"accountID" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Unique ID of an account"
|
|
},
|
|
"displayName" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Display name of an account"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"invited" :
|
|
{
|
|
"type" : "array",
|
|
"description" : "List of accounts that were invited to this room",
|
|
"items" :
|
|
{
|
|
"type" : "object",
|
|
"additionalProperties" : false,
|
|
"required" : [ "accountID", "displayName" ],
|
|
"properties" : {
|
|
"accountID" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Unique ID of an account"
|
|
},
|
|
"displayName" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Display name of an account"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"mods" :
|
|
{
|
|
"type" : "array",
|
|
"description" : "List of gameplay-affecting mods active on server",
|
|
"items" : {
|
|
"type" : "object",
|
|
"additionalProperties" : false,
|
|
"required" : [ "modId", "name", "version" ],
|
|
"properties" : {
|
|
"modId" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Unique identifier of the mod"
|
|
},
|
|
"name" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Human-readable name of the mod"
|
|
},
|
|
"parent" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Unique ID of parent mod, only for submods"
|
|
},
|
|
"version" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Version of mod, as specified in mod config"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"status" :
|
|
{
|
|
"type" : "string",
|
|
"enum" : [ "idle", "public", "private", "busy", "cancelled", "closed" ],
|
|
"description" : "Current status of game room"
|
|
},
|
|
"playerLimit" :
|
|
{
|
|
"type" : "number",
|
|
"minimum" : 1,
|
|
"maximum" : 8,
|
|
"description" : "Maximum number of players that can join this room, including host"
|
|
},
|
|
"version" :
|
|
{
|
|
"type" : "string",
|
|
"description" : "Version of match server, e.g. 1.5.0"
|
|
},
|
|
"ageSeconds" :
|
|
{
|
|
"type" : "number",
|
|
"description" : "Age of this room in seconds. For example, 10 means that this room was created 10 seconds ago"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|