pub struct TachyonCommand {Show 159 fields
pub subtype_0: Option<AutohostAddPlayerRequest>,
pub subtype_1: Option<AutohostAddPlayerResponse>,
pub subtype_2: Option<AutohostInstallEngineRequest>,
pub subtype_3: Option<AutohostInstallEngineResponse>,
pub subtype_4: Option<AutohostKickPlayerRequest>,
pub subtype_5: Option<AutohostKickPlayerResponse>,
pub subtype_6: Option<AutohostKillRequest>,
pub subtype_7: Option<AutohostKillResponse>,
pub subtype_8: Option<AutohostMutePlayerRequest>,
pub subtype_9: Option<AutohostMutePlayerResponse>,
pub subtype_10: Option<AutohostSendCommandRequest>,
pub subtype_11: Option<AutohostSendCommandResponse>,
pub subtype_12: Option<AutohostSendMessageRequest>,
pub subtype_13: Option<AutohostSendMessageResponse>,
pub subtype_14: Option<AutohostSpecPlayersRequest>,
pub subtype_15: Option<AutohostSpecPlayersResponse>,
pub subtype_16: Option<AutohostStartRequest>,
pub subtype_17: Option<AutohostStartResponse>,
pub subtype_18: Option<AutohostStatusEvent>,
pub subtype_19: Option<AutohostSubscribeUpdatesRequest>,
pub subtype_20: Option<AutohostSubscribeUpdatesResponse>,
pub subtype_21: Option<AutohostUpdateEvent>,
pub subtype_22: Option<BattleStartRequest>,
pub subtype_23: Option<BattleStartResponse>,
pub subtype_24: Option<ClanAcceptRequest>,
pub subtype_25: Option<ClanAcceptResponse>,
pub subtype_26: Option<ClanCancelRequest>,
pub subtype_27: Option<ClanCancelResponse>,
pub subtype_28: Option<ClanCreateRequest>,
pub subtype_29: Option<ClanCreateResponse>,
pub subtype_30: Option<ClanDeclineRequest>,
pub subtype_31: Option<ClanDeclineResponse>,
pub subtype_32: Option<ClanDeleteRequest>,
pub subtype_33: Option<ClanDeleteResponse>,
pub subtype_34: Option<ClanDeletedEvent>,
pub subtype_35: Option<ClanInviteRequest>,
pub subtype_36: Option<ClanInviteResponse>,
pub subtype_37: Option<ClanInvitedEvent>,
pub subtype_38: Option<ClanKickRequest>,
pub subtype_39: Option<ClanKickResponse>,
pub subtype_40: Option<ClanKickedEvent>,
pub subtype_41: Option<ClanLeaveRequest>,
pub subtype_42: Option<ClanLeaveResponse>,
pub subtype_43: Option<ClanRoleChangedEvent>,
pub subtype_44: Option<ClanSetRoleRequest>,
pub subtype_45: Option<ClanSetRoleResponse>,
pub subtype_46: Option<ClanUpdateRequest>,
pub subtype_47: Option<ClanUpdateResponse>,
pub subtype_48: Option<ClanUpdatedEvent>,
pub subtype_49: Option<ClanViewRequest>,
pub subtype_50: Option<ClanViewResponse>,
pub subtype_51: Option<ClanViewListRequest>,
pub subtype_52: Option<ClanViewListResponse>,
pub subtype_53: Option<FriendAcceptRequestRequest>,
pub subtype_54: Option<FriendAcceptRequestResponse>,
pub subtype_55: Option<FriendCancelRequestRequest>,
pub subtype_56: Option<FriendCancelRequestResponse>,
pub subtype_57: Option<FriendListRequest>,
pub subtype_58: Option<FriendListResponse>,
pub subtype_59: Option<FriendRejectRequestRequest>,
pub subtype_60: Option<FriendRejectRequestResponse>,
pub subtype_61: Option<FriendRemoveRequest>,
pub subtype_62: Option<FriendRemoveResponse>,
pub subtype_63: Option<FriendRemovedEvent>,
pub subtype_64: Option<FriendRequestAcceptedEvent>,
pub subtype_65: Option<FriendRequestCancelledEvent>,
pub subtype_66: Option<FriendRequestReceivedEvent>,
pub subtype_67: Option<FriendRequestRejectedEvent>,
pub subtype_68: Option<FriendSendRequestRequest>,
pub subtype_69: Option<FriendSendRequestResponse>,
pub subtype_70: Option<LobbyAddBotRequest>,
pub subtype_71: Option<LobbyAddBotResponse>,
pub subtype_72: Option<LobbyAppointBossRequest>,
pub subtype_73: Option<LobbyAppointBossResponse>,
pub subtype_74: Option<LobbyCreateRequest>,
pub subtype_75: Option<LobbyCreateResponse>,
pub subtype_76: Option<LobbyJoinRequest>,
pub subtype_77: Option<LobbyJoinResponse>,
pub subtype_78: Option<LobbyJoinAllyTeamRequest>,
pub subtype_79: Option<LobbyJoinAllyTeamResponse>,
pub subtype_80: Option<LobbyJoinBattleRequest>,
pub subtype_81: Option<LobbyJoinBattleResponse>,
pub subtype_82: Option<LobbyJoinQueueRequest>,
pub subtype_83: Option<LobbyJoinQueueResponse>,
pub subtype_84: Option<LobbyLeaveRequest>,
pub subtype_85: Option<LobbyLeaveResponse>,
pub subtype_86: Option<LobbyLeftEvent>,
pub subtype_87: Option<LobbyListResetEvent>,
pub subtype_88: Option<LobbyListUpdatedEvent>,
pub subtype_89: Option<LobbyRemoveBotRequest>,
pub subtype_90: Option<LobbyRemoveBotResponse>,
pub subtype_91: Option<LobbySpectateRequest>,
pub subtype_92: Option<LobbySpectateResponse>,
pub subtype_93: Option<LobbyStartBattleRequest>,
pub subtype_94: Option<LobbyStartBattleResponse>,
pub subtype_95: Option<LobbySubscribeListRequest>,
pub subtype_96: Option<LobbySubscribeListResponse>,
pub subtype_97: Option<LobbyUnbossRequest>,
pub subtype_98: Option<LobbyUnbossResponse>,
pub subtype_99: Option<LobbyUnsubscribeListRequest>,
pub subtype_100: Option<LobbyUnsubscribeListResponse>,
pub subtype_101: Option<LobbyUpdateRequest>,
pub subtype_102: Option<LobbyUpdateResponse>,
pub subtype_103: Option<LobbyUpdateBotRequest>,
pub subtype_104: Option<LobbyUpdateBotResponse>,
pub subtype_105: Option<LobbyUpdateClientStatusRequest>,
pub subtype_106: Option<LobbyUpdateClientStatusResponse>,
pub subtype_107: Option<LobbyUpdatedEvent>,
pub subtype_108: Option<LobbyVoteEndedEvent>,
pub subtype_109: Option<LobbyVoteSubmitRequest>,
pub subtype_110: Option<LobbyVoteSubmitResponse>,
pub subtype_111: Option<MatchmakingCancelRequest>,
pub subtype_112: Option<MatchmakingCancelResponse>,
pub subtype_113: Option<MatchmakingCancelledEvent>,
pub subtype_114: Option<MatchmakingFoundEvent>,
pub subtype_115: Option<MatchmakingFoundUpdateEvent>,
pub subtype_116: Option<MatchmakingListRequest>,
pub subtype_117: Option<MatchmakingListResponse>,
pub subtype_118: Option<MatchmakingLostEvent>,
pub subtype_119: Option<MatchmakingQueueRequest>,
pub subtype_120: Option<MatchmakingQueueResponse>,
pub subtype_121: Option<MatchmakingQueueUpdateEvent>,
pub subtype_122: Option<MatchmakingQueuesJoinedEvent>,
pub subtype_123: Option<MatchmakingReadyRequest>,
pub subtype_124: Option<MatchmakingReadyResponse>,
pub subtype_125: Option<MessagingReceivedEvent>,
pub subtype_126: Option<MessagingSendRequest>,
pub subtype_127: Option<MessagingSendResponse>,
pub subtype_128: Option<MessagingSubscribeReceivedRequest>,
pub subtype_129: Option<MessagingSubscribeReceivedResponse>,
pub subtype_130: Option<PartyAcceptInviteRequest>,
pub subtype_131: Option<PartyAcceptInviteResponse>,
pub subtype_132: Option<PartyCancelInviteRequest>,
pub subtype_133: Option<PartyCancelInviteResponse>,
pub subtype_134: Option<PartyCreateRequest>,
pub subtype_135: Option<PartyCreateResponse>,
pub subtype_136: Option<PartyDeclineInviteRequest>,
pub subtype_137: Option<PartyDeclineInviteResponse>,
pub subtype_138: Option<PartyInviteRequest>,
pub subtype_139: Option<PartyInviteResponse>,
pub subtype_140: Option<PartyInvitedEvent>,
pub subtype_141: Option<PartyKickMemberRequest>,
pub subtype_142: Option<PartyKickMemberResponse>,
pub subtype_143: Option<PartyLeaveRequest>,
pub subtype_144: Option<PartyLeaveResponse>,
pub subtype_145: Option<PartyRemovedEvent>,
pub subtype_146: Option<PartyUpdatedEvent>,
pub subtype_147: Option<SystemDisconnectRequest>,
pub subtype_148: Option<SystemDisconnectResponse>,
pub subtype_149: Option<SystemServerStatsRequest>,
pub subtype_150: Option<SystemServerStatsResponse>,
pub subtype_151: Option<UserInfoRequest>,
pub subtype_152: Option<UserInfoResponse>,
pub subtype_153: Option<UserSelfEvent>,
pub subtype_154: Option<UserSubscribeUpdatesRequest>,
pub subtype_155: Option<UserSubscribeUpdatesResponse>,
pub subtype_156: Option<UserUnsubscribeUpdatesRequest>,
pub subtype_157: Option<UserUnsubscribeUpdatesResponse>,
pub subtype_158: Option<UserUpdatedEvent>,
}Expand description
TachyonCommand
JSON schema
{
"$id": "https://schema.beyondallreason.dev/tachyon/compiled.json",
"title": "TachyonCommand",
"anyOf": [
{
"title": "AutohostAddPlayerRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/addPlayer"
},
"data": {
"title": "AutohostAddPlayerRequestData",
"type": "object",
"required": [
"battleId",
"name",
"password",
"userId"
],
"properties": {
"battleId": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"password": {
"type": "string"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "autohost"
}
},
{
"title": "AutohostAddPlayerResponse",
"anyOf": [
{
"title": "AutohostAddPlayerOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/addPlayer"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "AutohostAddPlayerFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/addPlayer"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostInstallEngineRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/installEngine"
},
"data": {
"title": "AutohostInstallEngineRequestData",
"examples": [
{
"version": "2025.01.5"
}
],
"type": "object",
"required": [
"version"
],
"properties": {
"version": {
"description": "Version of the engine to install",
"type": "string"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "autohost"
}
},
{
"title": "AutohostInstallEngineResponse",
"anyOf": [
{
"title": "AutohostInstallEngineOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/installEngine"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "AutohostInstallEngineFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/installEngine"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostKickPlayerRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/kickPlayer"
},
"data": {
"title": "AutohostKickPlayerRequestData",
"type": "object",
"required": [
"battleId",
"userId"
],
"properties": {
"battleId": {
"type": "string",
"format": "uuid"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "autohost"
}
},
{
"title": "AutohostKickPlayerResponse",
"anyOf": [
{
"title": "AutohostKickPlayerOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/kickPlayer"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "AutohostKickPlayerFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/kickPlayer"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostKillRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/kill"
},
"data": {
"title": "AutohostKillRequestData",
"type": "object",
"required": [
"battleId"
],
"properties": {
"battleId": {
"type": "string",
"format": "uuid"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "autohost"
}
},
{
"title": "AutohostKillResponse",
"anyOf": [
{
"title": "AutohostKillOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/kill"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "AutohostKillFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/kill"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostMutePlayerRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/mutePlayer"
},
"data": {
"title": "AutohostMutePlayerRequestData",
"type": "object",
"required": [
"battleId",
"chat",
"draw",
"userId"
],
"properties": {
"battleId": {
"type": "string",
"format": "uuid"
},
"chat": {
"type": "boolean"
},
"draw": {
"type": "boolean"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "autohost"
}
},
{
"title": "AutohostMutePlayerResponse",
"anyOf": [
{
"title": "AutohostMutePlayerOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/mutePlayer"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "AutohostMutePlayerFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/mutePlayer"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostSendCommandRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/sendCommand"
},
"data": {
"title": "AutohostSendCommandRequestData",
"type": "object",
"required": [
"battleId",
"command"
],
"properties": {
"arguments": {
"type": "array",
"items": {
"type": "string"
}
},
"battleId": {
"type": "string",
"format": "uuid"
},
"command": {
"type": "string"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "autohost"
}
},
{
"title": "AutohostSendCommandResponse",
"anyOf": [
{
"title": "AutohostSendCommandOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/sendCommand"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "AutohostSendCommandFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/sendCommand"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostSendMessageRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/sendMessage"
},
"data": {
"title": "AutohostSendMessageRequestData",
"type": "object",
"required": [
"battleId",
"message"
],
"properties": {
"battleId": {
"type": "string",
"format": "uuid"
},
"message": {
"type": "string",
"maxLength": 127
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "autohost"
}
},
{
"title": "AutohostSendMessageResponse",
"anyOf": [
{
"title": "AutohostSendMessageOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/sendMessage"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "AutohostSendMessageFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/sendMessage"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostSpecPlayersRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/specPlayers"
},
"data": {
"title": "AutohostSpecPlayersRequestData",
"type": "object",
"required": [
"battleId",
"userIds"
],
"properties": {
"battleId": {
"type": "string",
"format": "uuid"
},
"userIds": {
"type": "array",
"items": {
"$ref": "#/definitions/userId"
}
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "autohost"
}
},
{
"title": "AutohostSpecPlayersResponse",
"anyOf": [
{
"title": "AutohostSpecPlayersOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/specPlayers"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "AutohostSpecPlayersFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/specPlayers"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostStartRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/start"
},
"data": {
"title": "AutohostStartRequestData",
"type": "object",
"required": [
"allyTeams",
"battleId",
"engineVersion",
"gameName",
"mapName",
"startPosType"
],
"properties": {
"allyTeams": {
"type": "array",
"items": {
"$ref": "#/definitions/allyTeam"
},
"minItems": 1
},
"battleId": {
"type": "string",
"format": "uuid"
},
"engineVersion": {
"type": "string",
"pattern": "^[0-9a-zA-Z .+-]+$"
},
"gameArchiveHash": {
"type": "string",
"pattern": "^[a-fA-F0-9]{128}$"
},
"gameName": {
"type": "string"
},
"gameOptions": {
"type": "object",
"patternProperties": {
"^.*$": {
"type": "string"
}
}
},
"luamsgRegexp": {
"description": "When set, battle will generate updates for luamsgs matching this regexp. No updates will be generated if this is not set.",
"type": "string",
"format": "regex"
},
"mapArchiveHash": {
"type": "string",
"pattern": "^[a-fA-F0-9]{128}$"
},
"mapName": {
"type": "string"
},
"mapOptions": {
"type": "object",
"patternProperties": {
"^.*$": {
"type": "string"
}
}
},
"restrictions": {
"description": "Mapping from unitDefId to the maximum number of units of that type that can be built.",
"type": "object",
"patternProperties": {
"^.*$": {
"type": "integer",
"minimum": 0.0
}
}
},
"spectators": {
"type": "array",
"items": {
"$ref": "#/definitions/player"
}
},
"startDelay": {
"type": "integer"
},
"startPosType": {
"$ref": "#/definitions/startPosType"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "autohost"
}
},
{
"title": "AutohostStartResponse",
"anyOf": [
{
"title": "AutohostStartOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/start"
},
"data": {
"title": "AutohostStartOkResponseData",
"type": "object",
"required": [
"ips",
"port"
],
"properties": {
"ips": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"format": "ipv4"
},
{
"type": "string",
"format": "ipv6"
}
]
}
},
"port": {
"type": "integer",
"maximum": 65535.0,
"minimum": 1024.0
}
}
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "AutohostStartFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/start"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"battle_already_exists",
"engine_version_not_available",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostStatusEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/status"
},
"data": {
"title": "AutohostStatusEventData",
"examples": [
{
"availableEngines": [
"2025.01.5"
],
"currentBattles": 5,
"maxBattles": 10
}
],
"type": "object",
"required": [
"availableEngines",
"currentBattles",
"maxBattles"
],
"properties": {
"availableEngines": {
"description": "List of available engine versions on autohost",
"type": "array",
"items": {
"type": "string"
}
},
"currentBattles": {
"type": "integer",
"minimum": 0.0
},
"maxBattles": {
"description": "The maxBattles might be reported lower (e.g. 0) then currentBattles. Example: autohost is shutting down and doesn't want to accept any new battles.",
"type": "integer",
"minimum": 0.0
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostSubscribeUpdatesRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/subscribeUpdates"
},
"data": {
"title": "AutohostSubscribeUpdatesRequestData",
"type": "object",
"required": [
"since"
],
"properties": {
"since": {
"$ref": "#/definitions/unixTime"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "autohost"
}
},
{
"title": "AutohostSubscribeUpdatesResponse",
"anyOf": [
{
"title": "AutohostSubscribeUpdatesOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/subscribeUpdates"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "AutohostSubscribeUpdatesFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "autohost/subscribeUpdates"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "AutohostUpdateEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "autohost/update"
},
"data": {
"title": "AutohostUpdateEventData",
"type": "object",
"required": [
"battleId",
"time",
"update"
],
"properties": {
"battleId": {
"type": "string",
"format": "uuid"
},
"time": {
"$ref": "#/definitions/unixTime"
},
"update": {
"anyOf": [
{
"title": "StartUpdate",
"description": "The battle has started.",
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"const": "start"
}
}
},
{
"title": "FinishedUpdate",
"description": "The battle finished, generated once per every single player reporting who won.",
"type": "object",
"required": [
"type",
"userId",
"winningAllyTeams"
],
"properties": {
"type": {
"const": "finished"
},
"userId": {
"$ref": "#/definitions/userId"
},
"winningAllyTeams": {
"description": "Ally team IDs",
"type": "array",
"items": {
"type": "integer"
},
"minItems": 1
}
}
},
{
"title": "EngineMessageUpdate",
"description": "A message from the engine, e.g. some ip is trying to connect.",
"type": "object",
"required": [
"message",
"type"
],
"properties": {
"message": {
"type": "string"
},
"type": {
"const": "engine_message"
}
}
},
{
"title": "EngineWarningUpdate",
"description": "A warning from the engine.",
"type": "object",
"required": [
"message",
"type"
],
"properties": {
"message": {
"type": "string"
},
"type": {
"const": "engine_warning"
}
}
},
{
"title": "EngineQuitUpdate",
"description": "The engine process for battle has quit cleanly, no more updates will be sent for this battle.",
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"const": "engine_quit"
}
}
},
{
"title": "EngineCrashUpdate",
"description": "The engine process for battle has crashed, no more updates will be sent for this battle.",
"type": "object",
"required": [
"type"
],
"properties": {
"details": {
"description": "Optional, short, details of the crash.",
"type": "string"
},
"type": {
"const": "engine_crash"
}
}
},
{
"title": "PlayerJoinedUpdate",
"type": "object",
"required": [
"playerNumber",
"type",
"userId"
],
"properties": {
"playerNumber": {
"description": "Player number in the game, can be useful for custom commands",
"type": "integer"
},
"type": {
"const": "player_joined"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
{
"title": "PlayerLeftUpdate",
"type": "object",
"required": [
"reason",
"type",
"userId"
],
"properties": {
"reason": {
"enum": [
"lost_connection",
"left",
"kicked"
]
},
"type": {
"const": "player_left"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
{
"title": "PlayerChatUpdate",
"anyOf": [
{
"type": "object",
"required": [
"destination",
"message",
"type",
"userId"
],
"properties": {
"destination": {
"enum": [
"allies",
"all",
"spectators"
]
},
"message": {
"type": "string"
},
"type": {
"const": "player_chat"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
{
"type": "object",
"required": [
"destination",
"message",
"toUserId",
"type",
"userId"
],
"properties": {
"destination": {
"const": "player"
},
"message": {
"type": "string"
},
"toUserId": {
"$ref": "#/definitions/userId"
},
"type": {
"const": "player_chat"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
}
]
},
{
"title": "PlayerDefeatedUpdate",
"type": "object",
"required": [
"type",
"userId"
],
"properties": {
"type": {
"const": "player_defeated"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
{
"title": "LuaMsgUpdate",
"description": "This update is generated only for messages matching luamsgRegexp set in the battle start script.",
"type": "object",
"required": [
"data",
"script",
"type",
"userId"
],
"properties": {
"data": {
"type": "string",
"contentEncoding": "base64",
"contentMediaType": "application/octet-stream"
},
"script": {
"enum": [
"ui",
"game",
"rules"
]
},
"type": {
"const": "luamsg"
},
"uiMode": {
"description": "Set when script is 'ui'",
"enum": [
"all",
"allies",
"spectators"
]
},
"userId": {
"$ref": "#/definitions/userId"
}
}
}
]
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "autohost",
"target": "server"
}
},
{
"title": "BattleStartRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "battle/start"
},
"data": {
"title": "BattleStartRequestData",
"$ref": "#/definitions/privateBattle"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "BattleStartResponse",
"anyOf": [
{
"title": "BattleStartOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "battle/start"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "BattleStartFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "battle/start"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanAcceptRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/accept"
},
"data": {
"title": "ClanAcceptRequestData",
"type": "object",
"required": [
"clanId"
],
"properties": {
"clanId": {
"$ref": "#/definitions/clanId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanAcceptResponse",
"anyOf": [
{
"title": "ClanAcceptOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/accept"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanAcceptFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/accept"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanCancelRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/cancel"
},
"data": {
"title": "ClanCancelRequestData",
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanCancelResponse",
"anyOf": [
{
"title": "ClanCancelOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/cancel"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanCancelFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/cancel"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanCreateRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/create"
},
"data": {
"title": "ClanCreateRequestData",
"$ref": "#/definitions/clanUpdateableData"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanCreateResponse",
"anyOf": [
{
"title": "ClanCreateOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/create"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanCreateFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/create"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanDeclineRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/decline"
},
"data": {
"title": "ClanDeclineRequestData",
"type": "object",
"required": [
"clanId"
],
"properties": {
"clanId": {
"$ref": "#/definitions/clanId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanDeclineResponse",
"anyOf": [
{
"title": "ClanDeclineOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/decline"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanDeclineFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/decline"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanDeleteRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/delete"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanDeleteResponse",
"anyOf": [
{
"title": "ClanDeleteOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/delete"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanDeleteFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/delete"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanDeletedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/deleted"
},
"data": {
"title": "ClanDeletedEventData",
"type": "object",
"required": [
"clanId"
],
"properties": {
"clanId": {
"$ref": "#/definitions/clanId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanInviteRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/invite"
},
"data": {
"title": "ClanInviteRequestData",
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanInviteResponse",
"anyOf": [
{
"title": "ClanInviteOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/invite"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanInviteFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/invite"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanInvitedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/invited"
},
"data": {
"title": "ClanInvitedEventData",
"$ref": "#/definitions/clanUpdateableBaseData"
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanKickRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/kick"
},
"data": {
"title": "ClanKickRequestData",
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanKickResponse",
"anyOf": [
{
"title": "ClanKickOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/kick"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanKickFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/kick"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanKickedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/kicked"
},
"data": {
"title": "ClanKickedEventData",
"type": "object",
"required": [
"clanId"
],
"properties": {
"clanId": {
"$ref": "#/definitions/clanId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanLeaveRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/leave"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanLeaveResponse",
"anyOf": [
{
"title": "ClanLeaveOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/leave"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanLeaveFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/leave"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanRoleChangedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/roleChanged"
},
"data": {
"title": "ClanRoleChangedEventData",
"type": "object",
"required": [
"clanId",
"newRole",
"userId"
],
"properties": {
"clanId": {
"$ref": "#/definitions/clanId"
},
"newRole": {
"$ref": "#/definitions/clanRole"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanSetRoleRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/setRole"
},
"data": {
"title": "ClanSetRoleRequestData",
"type": "object",
"required": [
"clanId",
"targetRole",
"userId"
],
"properties": {
"clanId": {
"$ref": "#/definitions/clanId"
},
"targetRole": {
"$ref": "#/definitions/clanRole"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanSetRoleResponse",
"anyOf": [
{
"title": "ClanSetRoleOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/setRole"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanSetRoleFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/setRole"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanUpdateRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/update"
},
"data": {
"title": "ClanUpdateRequestData",
"$ref": "#/definitions/clanUpdateableData"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanUpdateResponse",
"anyOf": [
{
"title": "ClanUpdateOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/update"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanUpdateFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/update"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanUpdatedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/updated"
},
"data": {
"title": "ClanUpdatedEventData",
"$ref": "#/definitions/clanUpdateableData"
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanViewRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/view"
},
"data": {
"title": "ClanViewRequestData",
"type": "object",
"required": [
"clanId"
],
"properties": {
"clanId": {
"$ref": "#/definitions/clanId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanViewResponse",
"anyOf": [
{
"title": "ClanViewOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/view"
},
"data": {
"title": "ClanViewOkResponseData",
"$ref": "#/definitions/clan"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanViewFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/view"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "ClanViewListRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "clan/viewList"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "ClanViewListResponse",
"anyOf": [
{
"title": "ClanViewListOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/viewList"
},
"data": {
"title": "ClanViewListOkResponseData",
"type": "object",
"required": [
"clanList"
],
"properties": {
"clanList": {
"type": "array",
"items": {
"$ref": "#/definitions/clanBaseData"
}
}
}
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "ClanViewListFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "clan/viewList"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendAcceptRequestRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/acceptRequest"
},
"data": {
"title": "FriendAcceptRequestRequestData",
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "FriendAcceptRequestResponse",
"anyOf": [
{
"title": "FriendAcceptRequestOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/acceptRequest"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "FriendAcceptRequestFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/acceptRequest"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"invalid_user",
"no_pending_request",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendCancelRequestRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/cancelRequest"
},
"data": {
"title": "FriendCancelRequestRequestData",
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "FriendCancelRequestResponse",
"anyOf": [
{
"title": "FriendCancelRequestOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/cancelRequest"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "FriendCancelRequestFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/cancelRequest"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"invalid_user",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendListRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/list"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "FriendListResponse",
"anyOf": [
{
"title": "FriendListOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/list"
},
"data": {
"title": "FriendListOkResponseData",
"type": "object",
"required": [
"friends",
"incomingPendingRequests",
"outgoingPendingRequests"
],
"properties": {
"friends": {
"type": "array",
"items": {
"type": "object",
"required": [
"addedAt",
"userId"
],
"properties": {
"addedAt": {
"$ref": "#/definitions/unixTime"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
}
},
"incomingPendingRequests": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"sentAt"
],
"properties": {
"from": {
"$ref": "#/definitions/userId"
},
"sentAt": {
"$ref": "#/definitions/unixTime"
}
}
}
},
"outgoingPendingRequests": {
"type": "array",
"items": {
"type": "object",
"required": [
"sentAt",
"to"
],
"properties": {
"sentAt": {
"$ref": "#/definitions/unixTime"
},
"to": {
"$ref": "#/definitions/userId"
}
}
}
}
}
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "FriendListFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/list"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendRejectRequestRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/rejectRequest"
},
"data": {
"title": "FriendRejectRequestRequestData",
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "FriendRejectRequestResponse",
"anyOf": [
{
"title": "FriendRejectRequestOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/rejectRequest"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "FriendRejectRequestFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/rejectRequest"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"invalid_user",
"no_pending_request",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendRemoveRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/remove"
},
"data": {
"title": "FriendRemoveRequestData",
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "FriendRemoveResponse",
"anyOf": [
{
"title": "FriendRemoveOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/remove"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "FriendRemoveFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/remove"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"invalid_user",
"not_in_friendlist",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendRemovedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/removed"
},
"data": {
"title": "FriendRemovedEventData",
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendRequestAcceptedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/requestAccepted"
},
"data": {
"title": "FriendRequestAcceptedEventData",
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendRequestCancelledEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/requestCancelled"
},
"data": {
"title": "FriendRequestCancelledEventData",
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendRequestReceivedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/requestReceived"
},
"data": {
"title": "FriendRequestReceivedEventData",
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendRequestRejectedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/requestRejected"
},
"data": {
"title": "FriendRequestRejectedEventData",
"type": "object",
"required": [
"from"
],
"properties": {
"from": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "FriendSendRequestRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "friend/sendRequest"
},
"data": {
"title": "FriendSendRequestRequestData",
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "FriendSendRequestResponse",
"anyOf": [
{
"title": "FriendSendRequestOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/sendRequest"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "FriendSendRequestFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "friend/sendRequest"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"invalid_user",
"already_in_friendlist",
"outgoing_capacity_reached",
"incoming_capacity_reached",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyAddBotRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/addBot"
},
"data": {
"title": "LobbyAddBotRequestData",
"type": "object",
"required": [
"allyTeam",
"shortName"
],
"properties": {
"allyTeam": {
"type": "string"
},
"name": {
"description": "name to display in the lobby",
"type": "string",
"maxLength": 20
},
"options": {
"type": "object",
"patternProperties": {
"^.*$": {
"type": "string"
}
}
},
"shortName": {
"description": "Short name of the bot. Used to uniquely identify which bot to run",
"type": "string",
"maxLength": 20
},
"version": {
"type": "string"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyAddBotResponse",
"anyOf": [
{
"title": "LobbyAddBotOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/addBot"
},
"data": {
"title": "LobbyAddBotOkResponseData",
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"description": "The id the server generated for this bot",
"type": "string"
}
}
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyAddBotFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/addBot"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_in_lobby",
"ally_team_full",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyAppointBossRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/appointBoss"
},
"data": {
"title": "LobbyAppointBossRequestData",
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyAppointBossResponse",
"anyOf": [
{
"title": "LobbyAppointBossOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/appointBoss"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyAppointBossFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/appointBoss"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"bosses_not_allowed",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyCreateRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/create"
},
"data": {
"title": "LobbyCreateRequestData",
"type": "object",
"required": [
"allyTeamConfig",
"mapName",
"name"
],
"properties": {
"allyTeamConfig": {
"$ref": "#/definitions/allyTeamConfig"
},
"areBossesEnabled": {
"default": true,
"type": "boolean"
},
"gameOptions": {
"type": "object",
"patternProperties": {
"^.*$": {
"type": "object",
"required": [
"value"
],
"properties": {
"value": {
"type": "string"
}
}
}
}
},
"mapName": {
"type": "string"
},
"name": {
"type": "string"
},
"tags": {
"type": "object",
"patternProperties": {
"^.*$": {
"type": "object"
}
}
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyCreateResponse",
"anyOf": [
{
"title": "LobbyCreateOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/create"
},
"data": {
"title": "LobbyCreateOkResponseData",
"$ref": "#/definitions/lobbyDetails"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyCreateFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/create"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyJoinRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/join"
},
"data": {
"title": "LobbyJoinRequestData",
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyJoinResponse",
"anyOf": [
{
"title": "LobbyJoinOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/join"
},
"data": {
"title": "LobbyJoinOkResponseData",
"$ref": "#/definitions/lobbyDetails"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyJoinFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/join"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"lobby_full",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyJoinAllyTeamRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/joinAllyTeam"
},
"data": {
"title": "LobbyJoinAllyTeamRequestData",
"type": "object",
"required": [
"allyTeam"
],
"properties": {
"allyTeam": {
"type": "string"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyJoinAllyTeamResponse",
"anyOf": [
{
"title": "LobbyJoinAllyTeamOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/joinAllyTeam"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyJoinAllyTeamFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/joinAllyTeam"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_in_lobby",
"ally_team_full",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyJoinBattleRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/joinBattle"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyJoinBattleResponse",
"anyOf": [
{
"title": "LobbyJoinBattleOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/joinBattle"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyJoinBattleFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/joinBattle"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_in_lobby",
"no_battle",
"battle_full",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyJoinQueueRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/joinQueue"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyJoinQueueResponse",
"anyOf": [
{
"title": "LobbyJoinQueueOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/joinQueue"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyJoinQueueFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/joinQueue"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_in_lobby",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyLeaveRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/leave"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyLeaveResponse",
"anyOf": [
{
"title": "LobbyLeaveOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/leave"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyLeaveFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/leave"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyLeftEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/left"
},
"data": {
"title": "LobbyLeftEventData",
"type": "object",
"required": [
"id",
"reason"
],
"properties": {
"id": {
"type": "string"
},
"reason": {
"type": "string"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyListResetEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/listReset"
},
"data": {
"title": "LobbyListResetEventData",
"type": "object",
"required": [
"lobbies"
],
"properties": {
"lobbies": {
"type": "object",
"patternProperties": {
"^.*$": {
"$ref": "#/definitions/lobbyOverview"
}
}
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyListUpdatedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/listUpdated"
},
"data": {
"title": "LobbyListUpdatedEventData",
"type": "object",
"required": [
"lobbies"
],
"properties": {
"lobbies": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object",
"required": [
"id"
],
"properties": {
"areBossesEnabled": {
"type": "boolean"
},
"currentBattle": {
"anyOf": [
{
"type": "object",
"required": [
"startedAt"
],
"properties": {
"startedAt": {
"$ref": "#/definitions/unixTime"
}
}
},
{
"type": "null"
}
]
},
"engineVersion": {
"type": "string"
},
"gameVersion": {
"type": "string"
},
"id": {
"type": "string"
},
"mapName": {
"type": "string"
},
"maxPlayerCount": {
"type": "integer"
},
"name": {
"type": "string"
},
"playerCount": {
"type": "integer"
},
"tags": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
}
}
}
}
},
{
"type": "null"
}
]
}
}
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyRemoveBotRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/removeBot"
},
"data": {
"title": "LobbyRemoveBotRequestData",
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyRemoveBotResponse",
"anyOf": [
{
"title": "LobbyRemoveBotOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/removeBot"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyRemoveBotFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/removeBot"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_in_lobby",
"invalid_bot",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbySpectateRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/spectate"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbySpectateResponse",
"anyOf": [
{
"title": "LobbySpectateOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/spectate"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbySpectateFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/spectate"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_in_lobby",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyStartBattleRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/startBattle"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyStartBattleResponse",
"anyOf": [
{
"title": "LobbyStartBattleOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/startBattle"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyStartBattleFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/startBattle"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbySubscribeListRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/subscribeList"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbySubscribeListResponse",
"anyOf": [
{
"title": "LobbySubscribeListOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/subscribeList"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbySubscribeListFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/subscribeList"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyUnbossRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/unboss"
},
"data": {
"title": "LobbyUnbossRequestData",
"description": "if userId isn't provided, defaults to the current user",
"type": "object",
"properties": {
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyUnbossResponse",
"anyOf": [
{
"title": "LobbyUnbossOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/unboss"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyUnbossFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/unboss"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_a_boss",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyUnsubscribeListRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/unsubscribeList"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyUnsubscribeListResponse",
"anyOf": [
{
"title": "LobbyUnsubscribeListOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/unsubscribeList"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyUnsubscribeListFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/unsubscribeList"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyUpdateRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/update"
},
"data": {
"title": "LobbyUpdateRequestData",
"type": "object",
"properties": {
"allyTeamConfig": {
"$ref": "#/definitions/allyTeamConfig"
},
"gameOptions": {
"description": "Set to null to remove a game option",
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object",
"required": [
"value"
],
"properties": {
"value": {
"type": "string"
}
}
},
{
"type": "null"
}
]
}
}
},
"mapName": {
"type": "string"
},
"name": {
"description": "to rename the lobby",
"type": "string"
},
"tags": {
"description": "Set to null to remove a tag",
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
}
}
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyUpdateResponse",
"anyOf": [
{
"title": "LobbyUpdateOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/update"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyUpdateFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/update"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyUpdateBotRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/updateBot"
},
"data": {
"title": "LobbyUpdateBotRequestData",
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"description": "name to display in the lobby",
"type": "string",
"maxLength": 20
},
"options": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
}
},
"shortName": {
"description": "short name of the bot. Used to uniquely identify which bot to run",
"type": "string"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyUpdateBotResponse",
"anyOf": [
{
"title": "LobbyUpdateBotOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/updateBot"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyUpdateBotFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/updateBot"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_in_lobby",
"invalid_bot",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyUpdateClientStatusRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/updateClientStatus"
},
"data": {
"title": "LobbyUpdateClientStatusRequestData",
"type": "object",
"properties": {
"assetStatus": {
"enum": [
"missing",
"downloading",
"complete"
]
},
"isReady": {
"type": "boolean"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyUpdateClientStatusResponse",
"anyOf": [
{
"title": "LobbyUpdateClientStatusOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/updateClientStatus"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyUpdateClientStatusFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/updateClientStatus"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_in_lobby",
"not_a_player",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyUpdatedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/updated"
},
"data": {
"title": "LobbyUpdatedEventData",
"type": "object",
"required": [
"id"
],
"properties": {
"allyTeamConfig": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"description": "this represent an array, items should be sorted lexicographically on their keys",
"type": "object",
"required": [
"teams"
],
"properties": {
"maxTeams": {
"type": "integer",
"minimum": 1.0
},
"startBox": {
"$ref": "#/definitions/startBox"
},
"teams": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object",
"properties": {
"maxPlayers": {
"type": "integer",
"minimum": 1.0
}
}
},
{
"type": "null"
}
]
}
}
}
}
},
{
"type": "null"
}
]
}
}
},
"bosses": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
}
}
},
"bots": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"options",
"version"
],
"properties": {
"allyTeam": {
"type": "string"
},
"hostUserId": {
"$ref": "#/definitions/userId"
},
"id": {
"type": "string"
},
"name": {
"anyOf": [
{
"description": "name to display in the lobby",
"type": "string"
},
{
"type": "null"
}
]
},
"options": {
"anyOf": [
{
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
}
},
{
"type": "null"
}
]
},
"player": {
"type": "string"
},
"shortName": {
"description": "Short name of the bot. Used to uniquely identify which bot to run",
"type": "string"
},
"team": {
"type": "string"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
}
},
{
"type": "null"
}
]
}
}
},
"currentBattle": {
"anyOf": [
{
"description": "If a battle is currently happening, here are the info",
"type": "object",
"required": [
"id",
"startedAt"
],
"properties": {
"id": {
"type": "string"
},
"startedAt": {
"$ref": "#/definitions/unixTime"
}
}
},
{
"type": "null"
}
]
},
"currentVote": {
"anyOf": [
{
"type": "object",
"required": [
"id"
],
"properties": {
"action": {
"$ref": "#/definitions/voteActions"
},
"id": {
"type": "string"
},
"initiator": {
"$ref": "#/definitions/userId"
},
"majority": {
"description": "votes passes when number(yes) >= majority",
"type": "integer",
"minimum": 1.0
},
"quorum": {
"description": "this many player must vote for the vote to be valid at all.",
"type": "integer",
"minimum": 1.0
},
"until": {
"$ref": "#/definitions/unixTime"
},
"voters": {
"type": "object",
"patternProperties": {
"^.*$": {
"type": "object",
"required": [
"vote"
],
"properties": {
"vote": {
"enum": [
"pending",
"yes",
"no",
"abstain"
]
}
}
}
}
}
}
},
{
"type": "null"
}
]
},
"engineVersion": {
"type": "string"
},
"gameOptions": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object",
"required": [
"value"
],
"properties": {
"value": {
"type": "string"
}
}
},
{
"type": "null"
}
]
}
}
},
"gameVersion": {
"type": "string"
},
"id": {
"type": "string"
},
"mapName": {
"type": "string"
},
"name": {
"type": "string"
},
"players": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object",
"required": [
"id"
],
"properties": {
"allyTeam": {
"type": "string"
},
"assetStatus": {
"enum": [
"missing",
"downloading",
"complete"
]
},
"id": {
"$ref": "#/definitions/userId"
},
"isReady": {
"type": "boolean"
},
"player": {
"type": "string"
},
"team": {
"type": "string"
}
}
},
{
"type": "null"
}
]
}
}
},
"spectators": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "#/definitions/userId"
},
"joinQueuePosition": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
}
},
{
"type": "null"
}
]
}
}
},
"tags": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object"
},
{
"type": "null"
}
]
}
}
},
"voteHistory": {
"type": "object",
"patternProperties": {
"^.*$": {
"anyOf": [
{
"type": "object",
"required": [
"finishedAt",
"outcome",
"vote"
],
"properties": {
"finishedAt": {
"$ref": "#/definitions/unixTime"
},
"outcome": {
"$ref": "#/definitions/voteOutcomes"
},
"vote": {
"$ref": "#/definitions/voteActions"
}
}
},
{
"type": "null"
}
]
}
}
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyVoteEndedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/voteEnded"
},
"data": {
"title": "LobbyVoteEndedEventData",
"type": "object",
"required": [
"id",
"outcome"
],
"properties": {
"id": {
"type": "string"
},
"outcome": {
"$ref": "#/definitions/voteOutcomes"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "LobbyVoteSubmitRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "lobby/voteSubmit"
},
"data": {
"title": "LobbyVoteSubmitRequestData",
"type": "object",
"required": [
"id",
"vote"
],
"properties": {
"id": {
"type": "string"
},
"vote": {
"enum": [
"yes",
"no",
"abstain"
]
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "LobbyVoteSubmitResponse",
"anyOf": [
{
"title": "LobbyVoteSubmitOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/voteSubmit"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "LobbyVoteSubmitFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "lobby/voteSubmit"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MatchmakingCancelRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/cancel"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "MatchmakingCancelResponse",
"anyOf": [
{
"title": "MatchmakingCancelOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/cancel"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "MatchmakingCancelFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/cancel"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_queued",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MatchmakingCancelledEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/cancelled"
},
"data": {
"title": "MatchmakingCancelledEventData",
"type": "object",
"required": [
"reason"
],
"properties": {
"reason": {
"enum": [
"intentional",
"server_error",
"party_user_left",
"ready_timeout",
"version_changed"
]
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MatchmakingFoundEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/found"
},
"data": {
"title": "MatchmakingFoundEventData",
"type": "object",
"required": [
"queueId",
"timeoutMs"
],
"properties": {
"queueId": {
"type": "string"
},
"timeoutMs": {
"type": "integer"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MatchmakingFoundUpdateEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/foundUpdate"
},
"data": {
"title": "MatchmakingFoundUpdateEventData",
"type": "object",
"required": [
"readyCount"
],
"properties": {
"readyCount": {
"type": "integer"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MatchmakingListRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/list"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "MatchmakingListResponse",
"anyOf": [
{
"title": "MatchmakingListOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/list"
},
"data": {
"title": "MatchmakingListOkResponseData",
"examples": [
{
"playlists": [
{
"engines": [
{
"version": "2025.01.6"
}
],
"games": [
{
"springName": "Beyond All Reason test-27414-a84d7e6"
}
],
"id": "1v1",
"maps": [
{
"springName": "Theta Crystals 1.3"
},
{
"springName": "Comet Catcher Remake 1.8"
},
{
"springName": "Aurelia v4.1"
}
],
"name": "Duel",
"numOfTeams": 2,
"ranked": true,
"teamSize": 1,
"version": "27n6cr76nyfqic73647c1328c94"
},
{
"engines": [
{
"version": "2025.01.6"
}
],
"games": [
{
"springName": "Beyond All Reason test-27414-a84d7e6"
}
],
"id": "1v1v1",
"maps": [
{
"springName": "Ghenna Rising 4.0.1"
}
],
"name": "3 Way FFA",
"numOfTeams": 3,
"ranked": true,
"teamSize": 1
}
]
}
],
"type": "object",
"required": [
"playlists"
],
"properties": {
"playlists": {
"type": "array",
"items": {
"type": "object",
"required": [
"engines",
"games",
"id",
"maps",
"name",
"numOfTeams",
"ranked",
"teamSize",
"version"
],
"properties": {
"engines": {
"type": "array",
"items": {
"type": "object",
"required": [
"version"
],
"properties": {
"version": {
"type": "string"
}
}
}
},
"games": {
"type": "array",
"items": {
"type": "object",
"required": [
"springName"
],
"properties": {
"springName": {
"type": "string"
}
}
}
},
"id": {
"type": "string"
},
"maps": {
"type": "array",
"items": {
"type": "object",
"required": [
"springName"
],
"properties": {
"springName": {
"type": "string"
}
}
}
},
"name": {
"type": "string"
},
"numOfTeams": {
"type": "integer"
},
"ranked": {
"type": "boolean"
},
"teamSize": {
"type": "integer"
},
"version": {
"description": "Opaque version string that uniquely identifies the properties of the queue with this id, including list of required assets versions",
"type": "string"
}
}
}
}
}
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "MatchmakingListFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/list"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MatchmakingLostEvent",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/lost"
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MatchmakingQueueRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/queue"
},
"data": {
"title": "MatchmakingQueueRequestData",
"examples": [
{
"queues": [
{
"id": "1v1",
"version": "27n6cr76nyfqic73647c1328c94"
}
]
}
],
"type": "object",
"required": [
"queues"
],
"properties": {
"queues": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"version"
],
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"minItems": 1
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "MatchmakingQueueResponse",
"anyOf": [
{
"title": "MatchmakingQueueOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/queue"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "MatchmakingQueueFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/queue"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"invalid_queue_specified",
"already_queued",
"already_in_battle",
"version_mismatch",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MatchmakingQueueUpdateEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/queueUpdate"
},
"data": {
"title": "MatchmakingQueueUpdateEventData",
"type": "object",
"required": [
"playersQueued"
],
"properties": {
"playersQueued": {
"type": "integer"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MatchmakingQueuesJoinedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/queuesJoined"
},
"data": {
"title": "MatchmakingQueuesJoinedEventData",
"type": "object",
"required": [
"queues"
],
"properties": {
"queues": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MatchmakingReadyRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/ready"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "MatchmakingReadyResponse",
"anyOf": [
{
"title": "MatchmakingReadyOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/ready"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "MatchmakingReadyFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "matchmaking/ready"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"no_match",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MessagingReceivedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "messaging/received"
},
"data": {
"title": "MessagingReceivedEventData",
"type": "object",
"required": [
"marker",
"message",
"source",
"timestamp"
],
"properties": {
"marker": {
"$ref": "#/definitions/historyMarker"
},
"message": {
"type": "string"
},
"source": {
"anyOf": [
{
"type": "object",
"required": [
"type",
"userId"
],
"properties": {
"type": {
"const": "player"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
{
"type": "object",
"required": [
"partyId",
"type",
"userId"
],
"properties": {
"partyId": {
"$ref": "#/definitions/partyId"
},
"type": {
"const": "party"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
{
"type": "object",
"required": [
"lobbyId",
"type",
"userId"
],
"properties": {
"lobbyId": {
"$ref": "#/definitions/lobbyId"
},
"type": {
"const": "lobby"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
}
]
},
"timestamp": {
"description": "time at which the message was received by the server",
"$ref": "#/definitions/unixTime"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MessagingSendRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "messaging/send"
},
"data": {
"title": "MessagingSendRequestData",
"type": "object",
"required": [
"message",
"target"
],
"properties": {
"message": {
"type": "string",
"maxLength": 512
},
"target": {
"anyOf": [
{
"type": "object",
"required": [
"type",
"userId"
],
"properties": {
"type": {
"const": "player"
},
"userId": {
"$ref": "#/definitions/userId"
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"const": "party"
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"const": "lobby"
}
}
}
]
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "MessagingSendResponse",
"anyOf": [
{
"title": "MessagingSendOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "messaging/send"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "MessagingSendFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "messaging/send"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"message_too_long",
"invalid_target",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "MessagingSubscribeReceivedRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "messaging/subscribeReceived"
},
"data": {
"title": "MessagingSubscribeReceivedRequestData",
"type": "object",
"properties": {
"since": {
"default": {
"type": "latest"
},
"anyOf": [
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"const": "from_start"
}
}
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"const": "latest"
}
}
},
{
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"const": "marker"
},
"value": {
"$ref": "#/definitions/historyMarker"
}
}
}
]
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "MessagingSubscribeReceivedResponse",
"anyOf": [
{
"title": "MessagingSubscribeReceivedOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "messaging/subscribeReceived"
},
"data": {
"title": "MessagingSubscribeReceivedOkResponseData",
"type": "object",
"required": [
"hasMissedMessages"
],
"properties": {
"hasMissedMessages": {
"description": "set to true when the marker sent doesn't match any message stored by the server.",
"type": "boolean"
}
}
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "MessagingSubscribeReceivedFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "messaging/subscribeReceived"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "PartyAcceptInviteRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "party/acceptInvite"
},
"data": {
"title": "PartyAcceptInviteRequestData",
"type": "object",
"required": [
"partyId"
],
"properties": {
"partyId": {
"$ref": "#/definitions/partyId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "PartyAcceptInviteResponse",
"anyOf": [
{
"title": "PartyAcceptInviteOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/acceptInvite"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "PartyAcceptInviteFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/acceptInvite"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "PartyCancelInviteRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "party/cancelInvite"
},
"data": {
"title": "PartyCancelInviteRequestData",
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "PartyCancelInviteResponse",
"anyOf": [
{
"title": "PartyCancelInviteOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/cancelInvite"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "PartyCancelInviteFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/cancelInvite"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"not_in_party",
"invalid_invite",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "PartyCreateRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "party/create"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "PartyCreateResponse",
"anyOf": [
{
"title": "PartyCreateOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/create"
},
"data": {
"title": "PartyCreateOkResponseData",
"type": "object",
"required": [
"partyId"
],
"properties": {
"partyId": {
"$ref": "#/definitions/partyId"
}
}
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "PartyCreateFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/create"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "PartyDeclineInviteRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "party/declineInvite"
},
"data": {
"title": "PartyDeclineInviteRequestData",
"type": "object",
"required": [
"partyId"
],
"properties": {
"partyId": {
"$ref": "#/definitions/partyId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "PartyDeclineInviteResponse",
"anyOf": [
{
"title": "PartyDeclineInviteOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/declineInvite"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "PartyDeclineInviteFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/declineInvite"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "PartyInviteRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "party/invite"
},
"data": {
"title": "PartyInviteRequestData",
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "PartyInviteResponse",
"anyOf": [
{
"title": "PartyInviteOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/invite"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "PartyInviteFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/invite"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "PartyInvitedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "party/invited"
},
"data": {
"title": "PartyInvitedEventData",
"type": "object",
"required": [
"party"
],
"properties": {
"party": {
"$ref": "#/definitions/partyState"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "PartyKickMemberRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "party/kickMember"
},
"data": {
"title": "PartyKickMemberRequestData",
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "PartyKickMemberResponse",
"anyOf": [
{
"title": "PartyKickMemberOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/kickMember"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "PartyKickMemberFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/kickMember"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "PartyLeaveRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "party/leave"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "PartyLeaveResponse",
"anyOf": [
{
"title": "PartyLeaveOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/leave"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "PartyLeaveFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "party/leave"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "PartyRemovedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "party/removed"
},
"data": {
"title": "PartyRemovedEventData",
"type": "object",
"required": [
"partyId"
],
"properties": {
"partyId": {
"$ref": "#/definitions/partyId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "PartyUpdatedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "party/updated"
},
"data": {
"title": "PartyUpdatedEventData",
"$ref": "#/definitions/partyState"
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "SystemDisconnectRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "system/disconnect"
},
"data": {
"title": "SystemDisconnectRequestData",
"type": "object",
"required": [
"reason"
],
"properties": {
"reason": {
"type": "string"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "SystemDisconnectResponse",
"anyOf": [
{
"title": "SystemDisconnectOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "system/disconnect"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "SystemDisconnectFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "system/disconnect"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "SystemServerStatsRequest",
"type": "object",
"required": [
"commandId",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "system/serverStats"
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "SystemServerStatsResponse",
"anyOf": [
{
"title": "SystemServerStatsOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "system/serverStats"
},
"data": {
"title": "SystemServerStatsOkResponseData",
"type": "object",
"required": [
"userCount"
],
"properties": {
"userCount": {
"type": "integer"
}
}
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "SystemServerStatsFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "system/serverStats"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "UserInfoRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "user/info"
},
"data": {
"title": "UserInfoRequestData",
"type": "object",
"required": [
"userId"
],
"properties": {
"userId": {
"$ref": "#/definitions/userId"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "UserInfoResponse",
"anyOf": [
{
"title": "UserInfoOkResponse",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "user/info"
},
"data": {
"title": "UserInfoOkResponseData",
"$ref": "#/definitions/user"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "UserInfoFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "user/info"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"unknown_user",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "UserSelfEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "user/self"
},
"data": {
"title": "UserSelfEventData",
"type": "object",
"required": [
"user"
],
"properties": {
"user": {
"$ref": "#/definitions/privateUser"
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "UserSubscribeUpdatesRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "user/subscribeUpdates"
},
"data": {
"title": "UserSubscribeUpdatesRequestData",
"type": "object",
"required": [
"userIds"
],
"properties": {
"userIds": {
"type": "array",
"items": {
"$ref": "#/definitions/userId"
},
"maxItems": 100,
"minItems": 1
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "UserSubscribeUpdatesResponse",
"anyOf": [
{
"title": "UserSubscribeUpdatesOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "user/subscribeUpdates"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "UserSubscribeUpdatesFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "user/subscribeUpdates"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"subscription_limit_reached",
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "UserUnsubscribeUpdatesRequest",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "user/unsubscribeUpdates"
},
"data": {
"title": "UserUnsubscribeUpdatesRequestData",
"type": "object",
"required": [
"userIds"
],
"properties": {
"userIds": {
"type": "array",
"items": {
"$ref": "#/definitions/userId"
},
"maxItems": 100,
"minItems": 1
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "request"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "user",
"target": "server"
}
},
{
"title": "UserUnsubscribeUpdatesResponse",
"anyOf": [
{
"title": "UserUnsubscribeUpdatesOkResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"status",
"type"
],
"properties": {
"commandId": {
"const": "user/unsubscribeUpdates"
},
"messageId": {
"type": "string"
},
"status": {
"const": "success"
},
"type": {
"const": "response"
}
}
},
{
"title": "UserUnsubscribeUpdatesFailResponse",
"type": "object",
"required": [
"commandId",
"messageId",
"reason",
"status",
"type"
],
"properties": {
"commandId": {
"const": "user/unsubscribeUpdates"
},
"details": {
"type": "string"
},
"messageId": {
"type": "string"
},
"reason": {
"enum": [
"internal_error",
"unauthorized",
"invalid_request",
"command_unimplemented"
]
},
"status": {
"const": "failed"
},
"type": {
"const": "response"
}
}
}
],
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
},
{
"title": "UserUpdatedEvent",
"type": "object",
"required": [
"commandId",
"data",
"messageId",
"type"
],
"properties": {
"commandId": {
"const": "user/updated"
},
"data": {
"title": "UserUpdatedEventData",
"type": "object",
"required": [
"users"
],
"properties": {
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"clanBaseData": {
"anyOf": [
{
"allOf": [
{
"type": "object",
"required": [
"clanId"
],
"properties": {
"clanId": {
"$ref": "#/definitions/clanId"
}
}
},
{
"$ref": "#/definitions/clanUpdateableBaseData"
}
]
},
{
"type": "null"
}
]
},
"countryCode": {
"type": "string"
},
"displayName": {
"type": "string"
},
"rating": {
"type": "object",
"required": [
"value"
],
"properties": {
"value": {
"description": "Key is omitted when the player isn't rated yet.",
"type": "number"
}
}
},
"roles": {
"type": "array",
"items": {
"enum": [
"contributor",
"admin",
"moderator",
"tournament_winner",
"tournament_caster"
]
},
"uniqueItems": true
},
"status": {
"enum": [
"offline",
"menu",
"playing",
"lobby"
]
},
"userId": {
"$ref": "#/definitions/userId"
},
"username": {
"type": "string"
}
}
}
}
}
},
"messageId": {
"type": "string"
},
"type": {
"const": "event"
}
},
"tachyon": {
"scopes": [
"tachyon.lobby"
],
"source": "server",
"target": "user"
}
}
]
}Fields§
§subtype_0: Option<AutohostAddPlayerRequest>§subtype_1: Option<AutohostAddPlayerResponse>§subtype_2: Option<AutohostInstallEngineRequest>§subtype_3: Option<AutohostInstallEngineResponse>§subtype_4: Option<AutohostKickPlayerRequest>§subtype_5: Option<AutohostKickPlayerResponse>§subtype_6: Option<AutohostKillRequest>§subtype_7: Option<AutohostKillResponse>§subtype_8: Option<AutohostMutePlayerRequest>§subtype_9: Option<AutohostMutePlayerResponse>§subtype_10: Option<AutohostSendCommandRequest>§subtype_11: Option<AutohostSendCommandResponse>§subtype_12: Option<AutohostSendMessageRequest>§subtype_13: Option<AutohostSendMessageResponse>§subtype_14: Option<AutohostSpecPlayersRequest>§subtype_15: Option<AutohostSpecPlayersResponse>§subtype_16: Option<AutohostStartRequest>§subtype_17: Option<AutohostStartResponse>§subtype_18: Option<AutohostStatusEvent>§subtype_19: Option<AutohostSubscribeUpdatesRequest>§subtype_20: Option<AutohostSubscribeUpdatesResponse>§subtype_21: Option<AutohostUpdateEvent>§subtype_22: Option<BattleStartRequest>§subtype_23: Option<BattleStartResponse>§subtype_24: Option<ClanAcceptRequest>§subtype_25: Option<ClanAcceptResponse>§subtype_26: Option<ClanCancelRequest>§subtype_27: Option<ClanCancelResponse>§subtype_28: Option<ClanCreateRequest>§subtype_29: Option<ClanCreateResponse>§subtype_30: Option<ClanDeclineRequest>§subtype_31: Option<ClanDeclineResponse>§subtype_32: Option<ClanDeleteRequest>§subtype_33: Option<ClanDeleteResponse>§subtype_34: Option<ClanDeletedEvent>§subtype_35: Option<ClanInviteRequest>§subtype_36: Option<ClanInviteResponse>§subtype_37: Option<ClanInvitedEvent>§subtype_38: Option<ClanKickRequest>§subtype_39: Option<ClanKickResponse>§subtype_40: Option<ClanKickedEvent>§subtype_41: Option<ClanLeaveRequest>§subtype_42: Option<ClanLeaveResponse>§subtype_43: Option<ClanRoleChangedEvent>§subtype_44: Option<ClanSetRoleRequest>§subtype_45: Option<ClanSetRoleResponse>§subtype_46: Option<ClanUpdateRequest>§subtype_47: Option<ClanUpdateResponse>§subtype_48: Option<ClanUpdatedEvent>§subtype_49: Option<ClanViewRequest>§subtype_50: Option<ClanViewResponse>§subtype_51: Option<ClanViewListRequest>§subtype_52: Option<ClanViewListResponse>§subtype_53: Option<FriendAcceptRequestRequest>§subtype_54: Option<FriendAcceptRequestResponse>§subtype_55: Option<FriendCancelRequestRequest>§subtype_56: Option<FriendCancelRequestResponse>§subtype_57: Option<FriendListRequest>§subtype_58: Option<FriendListResponse>§subtype_59: Option<FriendRejectRequestRequest>§subtype_60: Option<FriendRejectRequestResponse>§subtype_61: Option<FriendRemoveRequest>§subtype_62: Option<FriendRemoveResponse>§subtype_63: Option<FriendRemovedEvent>§subtype_64: Option<FriendRequestAcceptedEvent>§subtype_65: Option<FriendRequestCancelledEvent>§subtype_66: Option<FriendRequestReceivedEvent>§subtype_67: Option<FriendRequestRejectedEvent>§subtype_68: Option<FriendSendRequestRequest>§subtype_69: Option<FriendSendRequestResponse>§subtype_70: Option<LobbyAddBotRequest>§subtype_71: Option<LobbyAddBotResponse>§subtype_72: Option<LobbyAppointBossRequest>§subtype_73: Option<LobbyAppointBossResponse>§subtype_74: Option<LobbyCreateRequest>§subtype_75: Option<LobbyCreateResponse>§subtype_76: Option<LobbyJoinRequest>§subtype_77: Option<LobbyJoinResponse>§subtype_78: Option<LobbyJoinAllyTeamRequest>§subtype_79: Option<LobbyJoinAllyTeamResponse>§subtype_80: Option<LobbyJoinBattleRequest>§subtype_81: Option<LobbyJoinBattleResponse>§subtype_82: Option<LobbyJoinQueueRequest>§subtype_83: Option<LobbyJoinQueueResponse>§subtype_84: Option<LobbyLeaveRequest>§subtype_85: Option<LobbyLeaveResponse>§subtype_86: Option<LobbyLeftEvent>§subtype_87: Option<LobbyListResetEvent>§subtype_88: Option<LobbyListUpdatedEvent>§subtype_89: Option<LobbyRemoveBotRequest>§subtype_90: Option<LobbyRemoveBotResponse>§subtype_91: Option<LobbySpectateRequest>§subtype_92: Option<LobbySpectateResponse>§subtype_93: Option<LobbyStartBattleRequest>§subtype_94: Option<LobbyStartBattleResponse>§subtype_95: Option<LobbySubscribeListRequest>§subtype_96: Option<LobbySubscribeListResponse>§subtype_97: Option<LobbyUnbossRequest>§subtype_98: Option<LobbyUnbossResponse>§subtype_99: Option<LobbyUnsubscribeListRequest>§subtype_100: Option<LobbyUnsubscribeListResponse>§subtype_101: Option<LobbyUpdateRequest>§subtype_102: Option<LobbyUpdateResponse>§subtype_103: Option<LobbyUpdateBotRequest>§subtype_104: Option<LobbyUpdateBotResponse>§subtype_105: Option<LobbyUpdateClientStatusRequest>§subtype_106: Option<LobbyUpdateClientStatusResponse>§subtype_107: Option<LobbyUpdatedEvent>§subtype_108: Option<LobbyVoteEndedEvent>§subtype_109: Option<LobbyVoteSubmitRequest>§subtype_110: Option<LobbyVoteSubmitResponse>§subtype_111: Option<MatchmakingCancelRequest>§subtype_112: Option<MatchmakingCancelResponse>§subtype_113: Option<MatchmakingCancelledEvent>§subtype_114: Option<MatchmakingFoundEvent>§subtype_115: Option<MatchmakingFoundUpdateEvent>§subtype_116: Option<MatchmakingListRequest>§subtype_117: Option<MatchmakingListResponse>§subtype_118: Option<MatchmakingLostEvent>§subtype_119: Option<MatchmakingQueueRequest>§subtype_120: Option<MatchmakingQueueResponse>§subtype_121: Option<MatchmakingQueueUpdateEvent>§subtype_122: Option<MatchmakingQueuesJoinedEvent>§subtype_123: Option<MatchmakingReadyRequest>§subtype_124: Option<MatchmakingReadyResponse>§subtype_125: Option<MessagingReceivedEvent>§subtype_126: Option<MessagingSendRequest>§subtype_127: Option<MessagingSendResponse>§subtype_128: Option<MessagingSubscribeReceivedRequest>§subtype_129: Option<MessagingSubscribeReceivedResponse>§subtype_130: Option<PartyAcceptInviteRequest>§subtype_131: Option<PartyAcceptInviteResponse>§subtype_132: Option<PartyCancelInviteRequest>§subtype_133: Option<PartyCancelInviteResponse>§subtype_134: Option<PartyCreateRequest>§subtype_135: Option<PartyCreateResponse>§subtype_136: Option<PartyDeclineInviteRequest>§subtype_137: Option<PartyDeclineInviteResponse>§subtype_138: Option<PartyInviteRequest>§subtype_139: Option<PartyInviteResponse>§subtype_140: Option<PartyInvitedEvent>§subtype_141: Option<PartyKickMemberRequest>§subtype_142: Option<PartyKickMemberResponse>§subtype_143: Option<PartyLeaveRequest>§subtype_144: Option<PartyLeaveResponse>§subtype_145: Option<PartyRemovedEvent>§subtype_146: Option<PartyUpdatedEvent>§subtype_147: Option<SystemDisconnectRequest>§subtype_148: Option<SystemDisconnectResponse>§subtype_149: Option<SystemServerStatsRequest>§subtype_150: Option<SystemServerStatsResponse>§subtype_151: Option<UserInfoRequest>§subtype_152: Option<UserInfoResponse>§subtype_153: Option<UserSelfEvent>§subtype_154: Option<UserSubscribeUpdatesRequest>§subtype_155: Option<UserSubscribeUpdatesResponse>§subtype_156: Option<UserUnsubscribeUpdatesRequest>§subtype_157: Option<UserUnsubscribeUpdatesResponse>§subtype_158: Option<UserUpdatedEvent>Implementations§
Source§impl TachyonCommand
impl TachyonCommand
pub fn builder() -> TachyonCommand
Trait Implementations§
Source§impl Clone for TachyonCommand
impl Clone for TachyonCommand
Source§fn clone(&self) -> TachyonCommand
fn clone(&self) -> TachyonCommand
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TachyonCommand
impl Debug for TachyonCommand
Source§impl Default for TachyonCommand
impl Default for TachyonCommand
Source§impl<'de> Deserialize<'de> for TachyonCommand
impl<'de> Deserialize<'de> for TachyonCommand
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<TachyonCommand> for TachyonCommand
impl From<TachyonCommand> for TachyonCommand
Source§fn from(value: TachyonCommand) -> Self
fn from(value: TachyonCommand) -> Self
Converts to this type from the input type.
Source§impl Serialize for TachyonCommand
impl Serialize for TachyonCommand
Source§impl TryFrom<TachyonCommand> for TachyonCommand
impl TryFrom<TachyonCommand> for TachyonCommand
Source§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
Source§fn try_from(value: TachyonCommand) -> Result<Self, ConversionError>
fn try_from(value: TachyonCommand) -> Result<Self, ConversionError>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for TachyonCommand
impl RefUnwindSafe for TachyonCommand
impl Send for TachyonCommand
impl Sync for TachyonCommand
impl Unpin for TachyonCommand
impl UnsafeUnpin for TachyonCommand
impl UnwindSafe for TachyonCommand
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more