174 lines
4.8 KiB
Protocol Buffer
174 lines
4.8 KiB
Protocol Buffer
syntax = "proto2";
|
|
|
|
// Minimal subset of Dota 2 GC protobufs (from SteamDatabase/GameTracking-Dota2)
|
|
|
|
message CMsgClientHello {
|
|
optional uint32 version = 1;
|
|
optional uint32 client_session_need = 3;
|
|
optional int32 engine = 7; // 1 = Source 2
|
|
}
|
|
|
|
message CMsgSOIDOwner {
|
|
optional uint32 type = 1;
|
|
optional uint64 id = 2;
|
|
}
|
|
|
|
message CMsgSOSingleObject {
|
|
optional int32 type_id = 2;
|
|
optional bytes object_data = 3;
|
|
optional fixed64 version = 4;
|
|
optional CMsgSOIDOwner owner_soid = 5;
|
|
}
|
|
|
|
message CMsgSOMultipleObjectsSingleObject {
|
|
optional int32 type_id = 1;
|
|
optional bytes object_data = 2;
|
|
}
|
|
|
|
message CMsgSOMultipleObjects {
|
|
repeated CMsgSOMultipleObjectsSingleObject objects_modified = 2;
|
|
optional fixed64 version = 3;
|
|
repeated CMsgSOMultipleObjectsSingleObject objects_added = 4;
|
|
repeated CMsgSOMultipleObjectsSingleObject objects_removed = 5;
|
|
optional CMsgSOIDOwner owner_soid = 6;
|
|
}
|
|
|
|
message CMsgSOCacheSubscribedType {
|
|
optional int32 type_id = 1;
|
|
repeated bytes object_data = 2;
|
|
}
|
|
|
|
message CMsgSOCacheSubscribed {
|
|
repeated CMsgSOCacheSubscribedType objects = 2;
|
|
optional fixed64 version = 3;
|
|
optional CMsgSOIDOwner owner_soid = 4;
|
|
}
|
|
|
|
message CMsgSOCacheUnsubscribed {
|
|
optional CMsgSOIDOwner owner_soid = 2;
|
|
}
|
|
|
|
message CMsgClientWelcome {
|
|
optional uint32 version = 1;
|
|
repeated CMsgSOCacheSubscribed outofdate_subscribed_caches = 3;
|
|
}
|
|
|
|
message CMsgGenericResult {
|
|
optional uint32 result = 1;
|
|
}
|
|
|
|
message CSODOTALobbyMember {
|
|
optional fixed64 id = 1;
|
|
optional int32 team = 3;
|
|
optional uint32 slot = 7;
|
|
}
|
|
|
|
message CSODOTALobby {
|
|
optional uint64 lobby_id = 1;
|
|
optional uint32 game_mode = 3;
|
|
optional int32 state = 4;
|
|
optional fixed64 leader_id = 11;
|
|
optional int32 lobby_type = 12;
|
|
optional string game_name = 16;
|
|
optional uint32 server_region = 21;
|
|
optional string custom_game_mode = 54;
|
|
optional string custom_map_name = 55;
|
|
optional uint64 custom_game_id = 68;
|
|
optional uint32 custom_min_players = 71;
|
|
optional uint32 custom_max_players = 72;
|
|
optional int32 visibility = 75;
|
|
optional fixed64 custom_game_crc = 76;
|
|
optional bool custom_game_auto_created_lobby = 77;
|
|
optional fixed32 custom_game_timestamp = 80;
|
|
optional bool custom_game_penalties = 107;
|
|
repeated CSODOTALobbyMember all_members = 120;
|
|
}
|
|
|
|
message CMsgPracticeLobbySetDetails {
|
|
optional uint64 lobby_id = 1;
|
|
optional string game_name = 2;
|
|
optional uint32 server_region = 4;
|
|
optional uint32 game_mode = 5;
|
|
optional bool allow_cheats = 10;
|
|
optional bool fill_with_bots = 11;
|
|
optional bool allow_spectating = 13;
|
|
optional string pass_key = 15;
|
|
optional bool lan = 25;
|
|
optional string custom_game_mode = 26;
|
|
optional string custom_map_name = 27;
|
|
optional uint32 custom_difficulty = 28;
|
|
optional uint64 custom_game_id = 29;
|
|
optional uint32 custom_min_players = 30;
|
|
optional uint32 custom_max_players = 31;
|
|
optional int32 visibility = 33;
|
|
optional fixed64 custom_game_crc = 34;
|
|
optional fixed32 custom_game_timestamp = 37;
|
|
optional bool custom_game_penalties = 47;
|
|
}
|
|
|
|
message CMsgPracticeLobbyCreate {
|
|
optional string search_key = 1;
|
|
optional string pass_key = 5;
|
|
optional uint32 client_version = 6;
|
|
optional CMsgPracticeLobbySetDetails lobby_details = 7;
|
|
}
|
|
|
|
message CMsgPracticeLobbyLeave {
|
|
}
|
|
|
|
message CMsgPracticeLobbySetTeamSlot {
|
|
optional int32 team = 1;
|
|
optional uint32 slot = 2;
|
|
}
|
|
|
|
message CMsgPracticeLobbyList {
|
|
optional string pass_key = 2;
|
|
optional uint32 region = 3;
|
|
optional uint32 game_mode = 4;
|
|
}
|
|
|
|
message CMsgPracticeLobbyListResponseEntry {
|
|
optional uint64 id = 1;
|
|
optional string name = 10;
|
|
optional string custom_game_mode = 11;
|
|
optional uint32 game_mode = 12;
|
|
optional uint32 players = 14;
|
|
optional string custom_map_name = 15;
|
|
optional uint32 max_player_count = 16;
|
|
optional uint32 server_region = 17;
|
|
optional uint32 min_player_count = 21;
|
|
optional bool penalties_enabled = 22;
|
|
}
|
|
|
|
message CMsgPracticeLobbyListResponse {
|
|
repeated CMsgPracticeLobbyListResponseEntry lobbies = 2;
|
|
}
|
|
|
|
message CMsgJoinableCustomLobbiesRequest {
|
|
optional uint32 server_region = 1;
|
|
optional uint64 custom_game_id = 2;
|
|
}
|
|
|
|
message CMsgJoinableCustomLobbiesResponseEntry {
|
|
optional fixed64 lobby_id = 1;
|
|
optional uint64 custom_game_id = 2;
|
|
optional string lobby_name = 3;
|
|
optional uint32 member_count = 4;
|
|
optional uint32 leader_account_id = 5;
|
|
optional string leader_name = 6;
|
|
optional string custom_map_name = 7;
|
|
optional uint32 max_player_count = 8;
|
|
optional uint32 server_region = 9;
|
|
optional bool has_pass_key = 11;
|
|
optional string lan_host_ping_location = 12;
|
|
optional uint32 lobby_creation_time = 13;
|
|
optional uint32 custom_game_timestamp = 14;
|
|
optional uint64 custom_game_crc = 15;
|
|
optional uint32 min_player_count = 16;
|
|
optional bool penalties_enabled = 17;
|
|
}
|
|
|
|
message CMsgJoinableCustomLobbiesResponse {
|
|
repeated CMsgJoinableCustomLobbiesResponseEntry lobbies = 1;
|
|
}
|