You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
990 lines
28 KiB
Protocol Buffer
990 lines
28 KiB
Protocol Buffer
8 years ago
|
package dota;
|
||
|
|
||
|
import "steammessages.proto";
|
||
|
import "dota_shared_enums.proto";
|
||
|
import "dota_gcmessages_common.proto";
|
||
|
import "econ_gcmessages.proto";
|
||
|
import "network_connection.proto";
|
||
|
import "dota_gcmessages_common_match_management.proto";
|
||
|
|
||
|
option optimize_for = SPEED;
|
||
|
option cc_generic_services = false;
|
||
|
|
||
|
enum EPoorNetworkConditionsType {
|
||
|
k_EPoorNetworkConditions_None = 0;
|
||
|
k_EPoorNetworkConditions_Unknown = 1;
|
||
|
k_EPoorNetworkConditions_MassDisconnect = 2;
|
||
|
k_EPoorNetworkConditions_ExcessBadQosIntervals = 3;
|
||
|
}
|
||
|
|
||
|
enum EAbilityAbuseType {
|
||
|
k_EAbilityAbuseType_None = 0;
|
||
|
k_EAbilityAbuseType_Io_Relocate = 1;
|
||
|
k_EAbilityAbuseType_Chen_Test_Of_Faith = 2;
|
||
|
k_EAbilityAbuseType_Bane_Nightmare = 3;
|
||
|
k_EAbilityAbuseType_Bloodseeker_Bloodrage = 4;
|
||
|
k_EAbilityAbuseType_Outworld_Astral_Imprisonment = 5;
|
||
|
k_EAbilityAbuseType_Shadow_Demon_Disruption = 6;
|
||
|
}
|
||
|
|
||
|
enum EIntentionalFeedingType {
|
||
|
k_EIntentionalFeedingType_None = 0;
|
||
|
k_EIntentionalFeedingType_ExcessiveDeaths = 1;
|
||
|
k_EIntentionalFeedingType_MultipleCourierPurchases = 2;
|
||
|
k_EIntentionalFeedingType_MultipleCourierDeaths = 4;
|
||
|
k_EIntentionalFeedingType_LowActivity = 8;
|
||
|
k_EIntentionalFeedingType_LowDamage = 16;
|
||
|
k_EIntentionalFeedingType_HighUnspentGold = 32;
|
||
|
k_EIntentionalFeedingType_SoldTooMuchItemValue = 64;
|
||
|
k_EIntentionalFeedingType_TooManyDroppedItems = 128;
|
||
|
k_EIntentionalFeedingType_ExcessiveTowerDamage = 256;
|
||
|
}
|
||
|
|
||
|
enum ESuspiciousActivity {
|
||
|
k_ESuspiciousActivity_VAC_MultipleInstances = 1;
|
||
|
k_ESuspiciousActivity_IntentionalFeeding = 100;
|
||
|
k_ESuspiciousActivity_SuspectedBotFarming = 101;
|
||
|
}
|
||
|
|
||
|
enum ESuspiciousBuildType {
|
||
|
k_ESuspiciousBuildType_None = 0;
|
||
|
k_ESuspiciousBuildType_NoGoldSpent = 1;
|
||
|
k_ESuspiciousBuildType_NoItems = 2;
|
||
|
k_ESuspiciousBuildType_NoSignificantItems = 3;
|
||
|
k_ESuspiciousBuildType_TooManyBoots = 4;
|
||
|
k_ESuspiciousBuildType_Bot1 = 101;
|
||
|
k_ESuspiciousBuildType_Bot2 = 102;
|
||
|
k_ESuspiciousBuildType_Bot3 = 103;
|
||
|
k_ESuspiciousBuildType_Bot4 = 104;
|
||
|
k_ESuspiciousBuildType_Bot5 = 105;
|
||
|
}
|
||
|
|
||
|
message CMsgPoorNetworkConditions {
|
||
|
message Player {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional ENetworkDisconnectionReason disconnect_reason = 2 [default = NETWORK_DISCONNECT_INVALID];
|
||
|
optional uint32 num_bad_intervals = 3;
|
||
|
optional uint32 peak_loss_pct = 4;
|
||
|
}
|
||
|
|
||
|
optional EPoorNetworkConditionsType detection_type = 1 [default = k_EPoorNetworkConditions_None];
|
||
|
repeated CMsgPoorNetworkConditions.Player players = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgGameserverCrash {
|
||
|
optional uint64 match_id = 1;
|
||
|
optional fixed64 lobby_id = 2;
|
||
|
optional DOTA_GameState game_state = 3 [default = DOTA_GAMERULES_STATE_INIT];
|
||
|
optional fixed32 sentinel_save_time = 4;
|
||
|
optional fixed64 custom_game_id = 11;
|
||
|
optional uint32 tournament_id = 12;
|
||
|
optional fixed64 server_steam_id = 5;
|
||
|
optional fixed32 server_public_ip_addr = 6;
|
||
|
optional uint32 server_port = 7;
|
||
|
optional uint32 server_cluster = 8;
|
||
|
optional uint32 pid = 9;
|
||
|
optional uint32 engine = 10;
|
||
|
}
|
||
|
|
||
|
message CMsgConnectedPlayers {
|
||
|
message Player {
|
||
|
optional fixed64 steam_id = 1;
|
||
|
optional uint32 hero_id = 2;
|
||
|
optional CMsgLeaverState leaver_state = 3;
|
||
|
optional ENetworkDisconnectionReason disconnect_reason = 4 [default = NETWORK_DISCONNECT_INVALID];
|
||
|
}
|
||
|
|
||
|
enum SendReason {
|
||
|
INVALID = 0;
|
||
|
HEARTBEAT = 1;
|
||
|
GAME_STATE = 2;
|
||
|
FIRST_BLOOD = 3;
|
||
|
PLAYER_CONNECTED = 4;
|
||
|
PLAYER_HERO = 5;
|
||
|
PLAYER_DISCONNECTED_CONSEQUENCES = 6;
|
||
|
PLAYER_DISCONNECTED_NOCONSEQUENCES = 7;
|
||
|
GAMESTATE_TIMEOUT = 10;
|
||
|
MASS_DISCONNECT = 11;
|
||
|
KILLS = 13;
|
||
|
BUILDING_STATE = 14;
|
||
|
}
|
||
|
|
||
|
repeated CMsgConnectedPlayers.Player connected_players = 1;
|
||
|
repeated CMsgConnectedPlayers.Player disconnected_players = 7;
|
||
|
optional DOTA_GameState game_state = 2 [default = DOTA_GAMERULES_STATE_INIT];
|
||
|
optional bool first_blood_happened = 6;
|
||
|
optional bool legacy_mass_disconnect = 9;
|
||
|
optional CMsgPoorNetworkConditions poor_network_conditions = 10;
|
||
|
optional CMsgConnectedPlayers.SendReason send_reason = 8 [default = INVALID];
|
||
|
optional uint32 radiant_kills = 11;
|
||
|
optional uint32 dire_kills = 12;
|
||
|
optional int32 radiant_lead = 14;
|
||
|
optional uint32 building_state = 15;
|
||
|
}
|
||
|
|
||
|
message CMsgGameServerInfo {
|
||
|
enum ServerType {
|
||
|
UNSPECIFIED = 0;
|
||
|
GAME = 1;
|
||
|
PROXY = 2;
|
||
|
}
|
||
|
|
||
|
enum CustomGames {
|
||
|
BOTH = 0;
|
||
|
NONE = 1;
|
||
|
ONLY = 2;
|
||
|
}
|
||
|
|
||
|
optional fixed32 server_public_ip_addr = 1;
|
||
|
optional fixed32 server_private_ip_addr = 2;
|
||
|
optional uint32 server_port = 3;
|
||
|
optional uint32 server_tv_port = 4;
|
||
|
optional uint32 assigned_server_tv_port = 22;
|
||
|
optional uint32 server_steamdatagram_port = 21;
|
||
|
optional string server_key = 5;
|
||
|
optional bool server_hibernation = 6;
|
||
|
optional CMsgGameServerInfo.ServerType server_type = 7 [default = UNSPECIFIED];
|
||
|
optional uint32 server_region = 8;
|
||
|
optional float server_loadavg = 9;
|
||
|
optional float server_tv_broadcast_time = 10;
|
||
|
optional float server_game_time = 11;
|
||
|
optional fixed64 server_relay_connected_steam_id = 12;
|
||
|
optional uint32 relay_slots_max = 13;
|
||
|
optional int32 relays_connected = 14;
|
||
|
optional int32 relay_clients_connected = 15;
|
||
|
optional fixed64 relayed_game_server_steam_id = 16;
|
||
|
optional uint32 parent_relay_count = 17;
|
||
|
optional fixed64 tv_secret_code = 18;
|
||
|
optional uint32 server_version = 19;
|
||
|
optional uint32 server_cluster = 20;
|
||
|
optional CMsgGameServerInfo.CustomGames allow_custom_games = 23 [default = BOTH];
|
||
|
}
|
||
|
|
||
|
message CMsgLeaverDetected {
|
||
|
optional fixed64 steam_id = 1;
|
||
|
optional DOTALeaverStatus_t leaver_status = 2 [default = DOTA_LEAVER_NONE];
|
||
|
optional CMsgLeaverState leaver_state = 4;
|
||
|
optional uint32 server_cluster = 5;
|
||
|
optional ENetworkDisconnectionReason disconnect_reason = 6 [default = NETWORK_DISCONNECT_INVALID];
|
||
|
optional CMsgPoorNetworkConditions poor_network_conditions = 7;
|
||
|
}
|
||
|
|
||
|
message CMsgLeaverDetectedResponse {
|
||
|
optional uint32 result = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTAFantasyFinalPlayerStats {
|
||
|
repeated CMsgDOTAFantasyPlayerStats stats = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTAFantasyLivePlayerStats {
|
||
|
repeated CMsgDOTAFantasyPlayerStats stats = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTAFantasyMatch {
|
||
|
optional uint64 match_id = 1;
|
||
|
optional uint32 league_id = 2;
|
||
|
optional uint32 series_id = 3;
|
||
|
optional uint32 start_time = 4;
|
||
|
optional uint32 series_type = 5;
|
||
|
optional uint32 team_1 = 6;
|
||
|
optional uint32 team_2 = 7;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCRealtimeStats {
|
||
|
optional CMsgDOTARealtimeGameStatsTerse delayed = 1;
|
||
|
optional CMsgDOTARealtimeGameStats current = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgGCToServerRealtimeStatsStartStop {
|
||
|
optional bool delayed = 1;
|
||
|
optional bool current = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgGameMatchSignOut {
|
||
|
message CTeam {
|
||
|
message CPlayer {
|
||
|
message CCustomGameData {
|
||
|
optional uint32 dota_team = 1;
|
||
|
optional bool winner = 2;
|
||
|
}
|
||
|
|
||
|
optional fixed64 steam_id = 1;
|
||
|
optional uint32 hero_id = 3;
|
||
|
repeated uint32 items = 4;
|
||
|
optional uint32 gold = 5;
|
||
|
optional uint32 kills = 6;
|
||
|
optional uint32 deaths = 7;
|
||
|
optional uint32 assists = 8;
|
||
|
optional uint32 leaver_status = 9;
|
||
|
optional uint32 last_hits = 10;
|
||
|
optional uint32 denies = 11;
|
||
|
optional uint32 gold_per_min = 12;
|
||
|
optional uint32 xp_per_minute = 13;
|
||
|
optional uint32 gold_spent = 14;
|
||
|
optional uint32 level = 15;
|
||
|
optional uint32 hero_damage = 16;
|
||
|
optional uint32 tower_damage = 17;
|
||
|
optional uint32 hero_healing = 18;
|
||
|
optional uint32 time_last_seen = 19;
|
||
|
optional uint32 support_ability_value = 20;
|
||
|
optional uint64 party_id = 21;
|
||
|
optional float scaled_kills = 24;
|
||
|
optional float scaled_deaths = 25;
|
||
|
optional float scaled_assists = 26;
|
||
|
optional uint32 claimed_farm_gold = 27;
|
||
|
optional uint32 support_gold = 28;
|
||
|
optional uint32 claimed_denies = 29;
|
||
|
optional uint32 claimed_misses = 30;
|
||
|
optional uint32 misses = 31;
|
||
|
repeated CMatchPlayerAbilityUpgrade ability_upgrades = 32;
|
||
|
repeated CMatchAdditionalUnitInventory additional_units_inventory = 33;
|
||
|
optional uint32 net_worth = 34;
|
||
|
optional CMsgGameMatchSignOut.CTeam.CPlayer.CCustomGameData custom_game_data = 35;
|
||
|
optional uint32 match_player_flags = 36;
|
||
|
}
|
||
|
|
||
|
repeated CMsgGameMatchSignOut.CTeam.CPlayer players = 1;
|
||
|
}
|
||
|
|
||
|
message CAdditionalSignoutMsg {
|
||
|
optional uint32 id = 1;
|
||
|
optional bytes contents = 2;
|
||
|
}
|
||
|
|
||
|
message CSocialFeedMatchEvent {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint32 timestamp = 2;
|
||
|
optional uint32 event_type = 3;
|
||
|
optional int32 game_time = 4;
|
||
|
optional uint32 replay_time = 5;
|
||
|
}
|
||
|
|
||
|
message CCustomGameData {
|
||
|
optional uint32 publish_timestamp = 1;
|
||
|
}
|
||
|
|
||
|
optional uint64 match_id = 1 [(key_field) = true];
|
||
|
optional uint32 duration = 2;
|
||
|
optional bool good_guys_win = 3;
|
||
|
optional fixed32 date = 4;
|
||
|
repeated uint32 num_players = 5;
|
||
|
repeated CMsgGameMatchSignOut.CTeam teams = 6;
|
||
|
repeated uint32 tower_status = 8;
|
||
|
repeated uint32 barracks_status = 9;
|
||
|
optional uint32 cluster = 10;
|
||
|
optional string server_addr = 11;
|
||
|
optional uint32 first_blood_time = 12;
|
||
|
optional float game_balance = 13;
|
||
|
optional uint32 event_score = 14;
|
||
|
repeated CMatchHeroSelectEvent picks_bans = 15;
|
||
|
repeated CMsgDOTAFantasyPlayerStats fantasy_stats = 41;
|
||
|
repeated CMsgEconPlayerStrangeCountAdjustment player_strange_count_adjustments = 17;
|
||
|
optional bool automatic_surrender = 18;
|
||
|
optional uint32 server_version = 19;
|
||
|
optional bool legacy_mass_disconnect = 21;
|
||
|
optional CMsgPoorNetworkConditions poor_network_conditions = 35;
|
||
|
repeated CMsgGameMatchSignOut.CAdditionalSignoutMsg additional_msgs = 20;
|
||
|
repeated CMsgGameMatchSignOut.CSocialFeedMatchEvent social_feed_events = 36;
|
||
|
optional sint32 average_networth_delta = 22;
|
||
|
optional sint32 networth_delta_min10 = 23;
|
||
|
optional sint32 networth_delta_min20 = 24;
|
||
|
optional sint32 maximum_losing_networth_lead = 25;
|
||
|
optional sint32 average_experience_delta = 26;
|
||
|
optional sint32 experience_delta_min10 = 27;
|
||
|
optional sint32 experience_delta_min20 = 28;
|
||
|
optional sint32 bonus_gold_winner_min10 = 29;
|
||
|
optional sint32 bonus_gold_winner_min20 = 30;
|
||
|
optional uint32 bonus_gold_winner_total = 31;
|
||
|
optional sint32 bonus_gold_loser_min10 = 32;
|
||
|
optional sint32 bonus_gold_loser_min20 = 33;
|
||
|
optional uint32 bonus_gold_loser_total = 34;
|
||
|
optional CMsgGameMatchSignOut.CCustomGameData custom_game_data = 37;
|
||
|
optional uint32 match_flags = 38;
|
||
|
repeated uint32 team_scores = 39;
|
||
|
optional uint32 pre_game_duration = 40;
|
||
|
}
|
||
|
|
||
|
message CMsgSignOutDraftInfo {
|
||
|
optional uint32 radiant_captain_account_id = 1;
|
||
|
optional uint32 dire_captain_account_id = 2;
|
||
|
repeated CMatchHeroSelectEvent picks_bans = 3;
|
||
|
}
|
||
|
|
||
|
message CMsgSignOutBotInfo {
|
||
|
message CMsgBotSlotDifficulty {
|
||
|
optional uint32 slot = 1;
|
||
|
optional DOTABotDifficulty bot_difficulty = 2 [default = BOT_DIFFICULTY_PASSIVE];
|
||
|
}
|
||
|
|
||
|
optional bool allow_cheats = 1;
|
||
|
optional DOTABotDifficulty bot_difficulty = 2 [default = BOT_DIFFICULTY_PASSIVE];
|
||
|
optional bool created_lobby = 3;
|
||
|
repeated CMsgSignOutBotInfo.CMsgBotSlotDifficulty bot_slot_difficulties = 4;
|
||
|
}
|
||
|
|
||
|
message CMsgSignOutPlayerStats {
|
||
|
optional int32 account_id = 1;
|
||
|
optional uint64 match_id = 2;
|
||
|
optional uint32 rank = 3;
|
||
|
optional uint32 hero_id = 4;
|
||
|
optional uint32 rampages = 5;
|
||
|
optional uint32 triple_kills = 6;
|
||
|
optional uint32 first_blood_claimed = 7;
|
||
|
optional uint32 first_blood_given = 8;
|
||
|
optional uint32 couriers_killed = 9;
|
||
|
optional uint32 aegises_snatched = 10;
|
||
|
optional uint32 cheeses_eaten = 11;
|
||
|
optional uint32 creeps_stacked = 12;
|
||
|
optional float fight_score = 13;
|
||
|
optional float farm_score = 14;
|
||
|
optional float support_score = 15;
|
||
|
optional float push_score = 16;
|
||
|
optional uint32 kills = 17;
|
||
|
optional uint32 deaths = 18;
|
||
|
optional uint32 assists = 19;
|
||
|
optional uint32 last_hits = 20;
|
||
|
optional uint32 denies = 21;
|
||
|
optional float gpm = 22;
|
||
|
optional float xppm = 23;
|
||
|
}
|
||
|
|
||
|
message CMsgSignOutCommunicationSummary {
|
||
|
message PlayerCommunication {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint32 pings = 2;
|
||
|
optional uint32 max_pings_per_interval = 3;
|
||
|
optional uint32 teammate_pings = 4;
|
||
|
optional uint32 max_teammate_pings_per_interval = 5;
|
||
|
optional uint32 team_chat_messages = 6;
|
||
|
optional uint32 all_chat_messages = 7;
|
||
|
optional uint32 chat_wheel_messages = 8;
|
||
|
optional uint32 pauses = 9;
|
||
|
optional uint32 unpauses = 10;
|
||
|
optional uint32 lines_drawn = 11;
|
||
|
optional uint32 voice_chat_seconds = 12;
|
||
|
optional uint32 chat_mutes = 13;
|
||
|
optional uint32 voice_mutes = 14;
|
||
|
}
|
||
|
|
||
|
repeated CMsgSignOutCommunicationSummary.PlayerCommunication players = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgGameMatchSignoutResponse {
|
||
|
message CAdditionalSignoutMsg {
|
||
|
optional uint32 id = 1;
|
||
|
optional bytes contents = 2;
|
||
|
}
|
||
|
|
||
|
message PlayerMetadata {
|
||
|
optional uint32 hero_id = 1;
|
||
|
optional uint32 avg_kills_x16 = 2;
|
||
|
optional uint32 avg_deaths_x16 = 3;
|
||
|
optional uint32 avg_assists_x16 = 4;
|
||
|
optional uint32 avg_gpm_x16 = 5;
|
||
|
optional uint32 avg_xpm_x16 = 6;
|
||
|
optional uint32 best_kills_x16 = 7;
|
||
|
optional uint32 best_assists_x16 = 8;
|
||
|
optional uint32 best_gpm_x16 = 9;
|
||
|
optional uint32 best_xpm_x16 = 10;
|
||
|
optional uint32 win_streak = 11;
|
||
|
optional uint32 best_win_streak = 12;
|
||
|
}
|
||
|
|
||
|
optional uint64 match_id = 1;
|
||
|
optional fixed32 replay_salt = 2;
|
||
|
repeated CLobbyTimedRewardDetails timed_reward_details = 3;
|
||
|
repeated CDOTALobbyMember xp_reward_details = 4;
|
||
|
optional uint32 leagueid = 5;
|
||
|
repeated CMsgGameMatchSignoutResponse.CAdditionalSignoutMsg additional_msgs = 6;
|
||
|
optional fixed32 metadata_private_key = 7;
|
||
|
optional CMsgDOTAMatch match_details = 8;
|
||
|
repeated CMsgGameMatchSignoutResponse.PlayerMetadata players_metadata = 9;
|
||
|
}
|
||
|
|
||
|
message CMsgTimedRewardContainer {
|
||
|
repeated CLobbyTimedRewardDetails timed_reward_details = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgGameMatchSignOutPermissionRequest {
|
||
|
optional uint32 server_version = 1;
|
||
|
optional uint32 local_attempt = 2;
|
||
|
optional uint32 total_attempt = 3;
|
||
|
optional uint32 seconds_waited = 4;
|
||
|
}
|
||
|
|
||
|
message CMsgGameMatchSignOutPermissionResponse {
|
||
|
optional bool permission_granted = 1 [default = false];
|
||
|
optional bool abandon_signout = 2 [default = false];
|
||
|
optional uint32 retry_delay_seconds = 3 [default = 0];
|
||
|
}
|
||
|
|
||
|
message CMsgDOTALiveScoreboardUpdate {
|
||
|
message Team {
|
||
|
message Player {
|
||
|
message HeroAbility {
|
||
|
optional uint32 ability_id = 1;
|
||
|
optional uint32 ability_level = 2;
|
||
|
}
|
||
|
|
||
|
enum DOTAUltimateState {
|
||
|
k_EDOTAUltimateStateNotLearned = 0;
|
||
|
k_EDOTAUltimateStateCooldown = 1;
|
||
|
k_EDOTAUltimateStateNeedsMana = 2;
|
||
|
k_EDOTAUltimateStateReady = 3;
|
||
|
}
|
||
|
|
||
|
optional uint32 player_slot = 1;
|
||
|
optional string player_name = 2;
|
||
|
optional string hero_name = 3;
|
||
|
optional uint32 hero_id = 4;
|
||
|
optional uint32 kills = 5;
|
||
|
optional uint32 deaths = 6;
|
||
|
optional uint32 assists = 7;
|
||
|
optional uint32 last_hits = 8;
|
||
|
optional uint32 denies = 9;
|
||
|
optional uint32 gold = 10;
|
||
|
optional uint32 level = 11;
|
||
|
optional float gold_per_min = 12;
|
||
|
optional float xp_per_min = 13;
|
||
|
optional CMsgDOTALiveScoreboardUpdate.Team.Player.DOTAUltimateState ultimate_state = 14 [default = k_EDOTAUltimateStateNotLearned];
|
||
|
optional float ultimate_cooldown = 15;
|
||
|
optional uint32 item0 = 16;
|
||
|
optional uint32 item1 = 17;
|
||
|
optional uint32 item2 = 18;
|
||
|
optional uint32 item3 = 19;
|
||
|
optional uint32 item4 = 20;
|
||
|
optional uint32 item5 = 21;
|
||
|
optional uint32 respawn_timer = 22;
|
||
|
optional uint32 account_id = 23;
|
||
|
optional float position_x = 24;
|
||
|
optional float position_y = 25;
|
||
|
optional uint32 net_worth = 26;
|
||
|
repeated CMsgDOTALiveScoreboardUpdate.Team.Player.HeroAbility abilities = 27;
|
||
|
}
|
||
|
|
||
|
repeated CMsgDOTALiveScoreboardUpdate.Team.Player players = 1;
|
||
|
optional uint32 score = 2;
|
||
|
optional uint32 tower_state = 3;
|
||
|
optional uint32 barracks_state = 4;
|
||
|
repeated uint32 hero_picks = 5;
|
||
|
repeated uint32 hero_bans = 6;
|
||
|
}
|
||
|
|
||
|
optional uint32 tournament_id = 1;
|
||
|
optional uint32 tournament_game_id = 2;
|
||
|
optional float duration = 3;
|
||
|
optional int32 hltv_delay = 4;
|
||
|
optional CMsgDOTALiveScoreboardUpdate.Team team_good = 5;
|
||
|
optional CMsgDOTALiveScoreboardUpdate.Team team_bad = 6;
|
||
|
optional uint32 roshan_respawn_timer = 7;
|
||
|
optional uint32 league_id = 8;
|
||
|
optional uint64 match_id = 9;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTARequestPlayerResources {
|
||
|
optional fixed64 steam_id = 1;
|
||
|
optional uint32 player_id = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTARequestPlayerResourcesResponse {
|
||
|
optional fixed64 steam_id = 1;
|
||
|
optional uint32 rank = 2;
|
||
|
optional uint32 player_id = 3;
|
||
|
optional bool prevent_text_chat = 4;
|
||
|
optional bool prevent_voice_chat = 5;
|
||
|
optional bool low_priority = 6;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTARequestBatchPlayerResources {
|
||
|
repeated uint32 account_ids = 1 [packed = true];
|
||
|
repeated uint32 rank_types = 4 [packed = true];
|
||
|
}
|
||
|
|
||
|
message CMsgDOTARequestBatchPlayerResourcesResponse {
|
||
|
message Result {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional bool prevent_text_chat = 2;
|
||
|
optional bool prevent_voice_chat = 3;
|
||
|
optional uint32 rank = 4;
|
||
|
optional bool rank_calibrated = 5;
|
||
|
optional bool low_priority = 6;
|
||
|
}
|
||
|
|
||
|
repeated CMsgDOTARequestBatchPlayerResourcesResponse.Result results = 6;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTAPlayerFailedToConnect {
|
||
|
repeated fixed64 failed_loaders = 1;
|
||
|
repeated fixed64 abandoned_loaders = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgGCToRelayConnect {
|
||
|
optional uint32 source_tv_public_addr = 1;
|
||
|
optional uint32 source_tv_private_addr = 2;
|
||
|
optional uint32 source_tv_port = 3;
|
||
|
optional uint64 game_server_steam_id = 4;
|
||
|
optional uint32 parent_count = 5;
|
||
|
optional fixed64 tv_unique_secret_code = 6;
|
||
|
optional fixed64 source_tv_steamid = 7;
|
||
|
}
|
||
|
|
||
|
message CMsgGCGCToLANServerRelayConnect {
|
||
|
optional fixed64 relay_steamid = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgGCToRelayConnectResponse {
|
||
|
}
|
||
|
|
||
|
message CMsgGCBanStatusRequest {
|
||
|
optional uint32 account_id = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgGCBanStatusResponse {
|
||
|
optional uint32 result = 1;
|
||
|
optional bool low_priority = 2;
|
||
|
optional bool text_chat_banned = 3;
|
||
|
optional bool voice_chat_banned = 4;
|
||
|
}
|
||
|
|
||
|
message CMsgTournamentItemEvent {
|
||
|
optional fixed32 killer_account_id = 1;
|
||
|
optional fixed32 victim_account_id = 2;
|
||
|
optional DOTA_TournamentEvents event_type = 3 [default = TE_FIRST_BLOOD];
|
||
|
optional int32 tv_delay = 4;
|
||
|
optional int32 dota_time = 5;
|
||
|
optional float replay_time = 6;
|
||
|
optional string loot_list = 7;
|
||
|
optional uint32 event_team = 8;
|
||
|
optional uint32 multi_kill_count = 9;
|
||
|
optional uint32 winner_score = 10;
|
||
|
optional uint32 loser_score = 11;
|
||
|
repeated CProtoItemHeroStatue hero_statues = 12;
|
||
|
}
|
||
|
|
||
|
message CMsgTournamentItemEventResponse {
|
||
|
optional DOTA_TournamentEvents event_type = 1 [default = TE_FIRST_BLOOD];
|
||
|
optional uint32 viewers_granted = 6;
|
||
|
}
|
||
|
|
||
|
message CMsgTeamFanfare {
|
||
|
optional uint64 match_id = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgResponseTeamFanfare {
|
||
|
optional uint32 fanfare_goodguys = 1;
|
||
|
optional uint32 fanfare_badguys = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgGameServerUploadSaveGame {
|
||
|
optional uint32 game_time = 1;
|
||
|
optional bytes save_game_data = 2;
|
||
|
optional uint64 lobby_id = 3;
|
||
|
repeated uint64 player_steam_ids = 4;
|
||
|
}
|
||
|
|
||
|
message CMsgGameServerSaveGameResult {
|
||
|
enum Result {
|
||
|
SaveSuccessful = 0;
|
||
|
SessionNotFound = 1;
|
||
|
DatabaseError = 2;
|
||
|
TooBig = 3;
|
||
|
}
|
||
|
|
||
|
optional CMsgGameServerSaveGameResult.Result result = 1 [default = SaveSuccessful];
|
||
|
}
|
||
|
|
||
|
message CMsgGameServerGetLoadGame {
|
||
|
optional uint32 save_id = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgGameServerGetLoadGameResult {
|
||
|
optional bytes save_game_data = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTAGenerateDiretidePrizeList {
|
||
|
optional uint32 prize_list = 1;
|
||
|
optional uint32 highest_roshan_level = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTAGenerateDiretidePrizeListResponse {
|
||
|
repeated uint32 item_defs = 1;
|
||
|
repeated fixed64 steam_ids = 2;
|
||
|
optional uint32 prize_list = 3;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTARewardDiretidePrizes {
|
||
|
optional uint32 team = 1;
|
||
|
optional uint32 prize_list = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTADiretidePrizesRewardedResponse {
|
||
|
optional uint32 prize_list = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTAAwardEventPoints {
|
||
|
message AwardPoints {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional int32 points = 2;
|
||
|
optional int32 premium_points = 3;
|
||
|
optional uint32 trade_ban_time = 5;
|
||
|
}
|
||
|
|
||
|
repeated CMsgDOTAAwardEventPoints.AwardPoints award_points = 1;
|
||
|
optional uint64 match_id = 2;
|
||
|
optional uint32 event_id = 4;
|
||
|
optional uint32 timestamp = 5;
|
||
|
optional uint32 audit_action = 6;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCSignoutAwardAdditionalDrops {
|
||
|
message AdditionalDrops {
|
||
|
optional string loot_list = 1;
|
||
|
repeated uint32 player_account_ids = 2;
|
||
|
optional bool no_trade = 3;
|
||
|
optional bool randomize_reward = 4;
|
||
|
}
|
||
|
|
||
|
repeated CMsgServerToGCSignoutAwardAdditionalDrops.AdditionalDrops drops = 1;
|
||
|
optional uint64 match_id = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgDOTAFrostivusTimeElapsed {
|
||
|
message User {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint32 time_elapsed_s = 2;
|
||
|
}
|
||
|
|
||
|
optional uint32 seconds = 1;
|
||
|
repeated CMsgDOTAFrostivusTimeElapsed.User users = 2;
|
||
|
optional uint64 match_id = 3;
|
||
|
}
|
||
|
|
||
|
message CMsgGCToServerPingRequest {
|
||
|
optional fixed64 request_id = 1;
|
||
|
optional uint64 request_time = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgGCToServerPingResponse {
|
||
|
optional fixed64 request_id = 1;
|
||
|
optional uint64 request_time = 2;
|
||
|
optional uint32 cluster = 3;
|
||
|
}
|
||
|
|
||
|
message CMsgGCToServerConsoleCommand {
|
||
|
optional string console_command = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerGetEventPoints {
|
||
|
optional uint32 event_id = 1;
|
||
|
repeated uint32 account_id = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgServerGetEventPointsResponse {
|
||
|
message Points {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint32 points_total = 2;
|
||
|
optional bool owned = 4;
|
||
|
}
|
||
|
|
||
|
optional uint32 event_id = 1;
|
||
|
repeated CMsgServerGetEventPointsResponse.Points points = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgServerGrantSurveyPermission {
|
||
|
message Survey {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint32 question_id = 2;
|
||
|
optional uint32 expire_time = 3;
|
||
|
optional uint64 survey_key = 4;
|
||
|
optional uint64 extra_data = 5;
|
||
|
optional uint64 extra_data_32 = 6;
|
||
|
}
|
||
|
|
||
|
repeated CMsgServerGrantSurveyPermission.Survey surveys = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerGrantSurveyPermissionResponse {
|
||
|
optional uint32 result = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCMatchConnectionStats {
|
||
|
message Player {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional fixed32 ip = 2;
|
||
|
optional uint32 avg_ping_ms = 3;
|
||
|
optional float packet_loss = 5;
|
||
|
optional float ping_deviation = 6;
|
||
|
optional uint32 full_resends = 7;
|
||
|
}
|
||
|
|
||
|
optional uint64 match_id = 1;
|
||
|
optional uint32 region_id = 2;
|
||
|
optional uint32 league_id = 3;
|
||
|
repeated CMsgServerToGCMatchConnectionStats.Player players = 4;
|
||
|
optional uint32 cluster_id = 5;
|
||
|
}
|
||
|
|
||
|
message CMsgServerGCUpdateSpectatorCount {
|
||
|
optional uint32 spectator_count = 1;
|
||
|
}
|
||
|
|
||
|
message CSerializedCombatLog {
|
||
|
message Dictionary {
|
||
|
message DictString {
|
||
|
required uint32 id = 1;
|
||
|
required string value = 2;
|
||
|
}
|
||
|
|
||
|
repeated CSerializedCombatLog.Dictionary.DictString strings = 1;
|
||
|
}
|
||
|
|
||
|
optional uint32 version = 1;
|
||
|
optional CSerializedCombatLog.Dictionary dictionary = 2;
|
||
|
repeated CMsgDOTACombatLogEntry entries = 3;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCGetAdditionalEquips {
|
||
|
repeated uint32 account_ids = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCGetAdditionalEquipsResponse {
|
||
|
message CUserEquips {
|
||
|
optional uint32 account_id = 1;
|
||
|
repeated CAdditionalEquipSlot equips = 2;
|
||
|
}
|
||
|
|
||
|
repeated CMsgServerToGCGetAdditionalEquipsResponse.CUserEquips equips = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCGetProfileCard {
|
||
|
repeated uint32 account_ids = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCGetProfileCardResponse {
|
||
|
repeated CMsgDOTAProfileCard cards = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCVictoryPredictions {
|
||
|
message Record {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint64 item_id = 2;
|
||
|
repeated uint64 item_ids = 5;
|
||
|
}
|
||
|
|
||
|
repeated CMsgServerToGCVictoryPredictions.Record records = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgSuspiciousActivity {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional ESuspiciousActivity activity = 2 [default = k_ESuspiciousActivity_VAC_MultipleInstances];
|
||
|
optional sint32 intdata1 = 3;
|
||
|
optional sint32 intdata2 = 4;
|
||
|
optional uint32 time = 5;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCRequestStatus {
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCRequestStatus_Response {
|
||
|
optional uint32 response = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgSignOutAssassinMiniGameInfo {
|
||
|
repeated fixed64 winning_players = 1;
|
||
|
repeated fixed64 losing_players = 2;
|
||
|
repeated fixed64 arcana_owners = 3;
|
||
|
optional bool assassin_won = 4;
|
||
|
optional uint32 target_hero_id = 5;
|
||
|
optional bool contract_completed = 6;
|
||
|
optional float contract_complete_time = 7;
|
||
|
optional bool pa_is_radiant = 8;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCGetIngameEventData {
|
||
|
optional EEvent event = 1 [default = EVENT_ID_NONE];
|
||
|
}
|
||
|
|
||
|
message CMsgGCToServerIngameEventDataOraclePA {
|
||
|
repeated uint32 target_hero_ids = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCKillSummaries {
|
||
|
message KillSummary {
|
||
|
optional uint32 killer_hero_id = 1;
|
||
|
optional uint32 victim_hero_id = 2;
|
||
|
optional uint32 kill_count = 3;
|
||
|
}
|
||
|
|
||
|
optional uint32 ingameevent_id = 1;
|
||
|
repeated CMsgServerToGCKillSummaries.KillSummary summaries = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgGCToServerPredictionResult {
|
||
|
message Prediction {
|
||
|
enum EResult {
|
||
|
k_eResult_ItemGranted = 1;
|
||
|
k_eResult_Destroyed = 2;
|
||
|
}
|
||
|
|
||
|
optional uint32 item_def = 1;
|
||
|
optional uint32 num_correct = 2;
|
||
|
optional uint32 num_fails = 3;
|
||
|
optional CMsgGCToServerPredictionResult.Prediction.EResult result = 4 [default = k_eResult_ItemGranted];
|
||
|
repeated uint32 granted_item_defs = 6;
|
||
|
}
|
||
|
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint64 match_id = 2;
|
||
|
optional bool correct = 3;
|
||
|
repeated CMsgGCToServerPredictionResult.Prediction predictions = 4;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCLockCharmTrading {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint64 item_id = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgSignOutUpdatePlayerChallenge {
|
||
|
message Challenge {
|
||
|
optional uint32 event_id = 1;
|
||
|
optional uint32 sequence_id = 3;
|
||
|
optional uint32 progress = 4;
|
||
|
optional uint32 challenge_rank = 5;
|
||
|
}
|
||
|
|
||
|
optional uint32 account_id = 1;
|
||
|
repeated CMsgSignOutUpdatePlayerChallenge.Challenge completed = 2;
|
||
|
repeated CMsgSignOutUpdatePlayerChallenge.Challenge rerolled = 3;
|
||
|
optional uint64 match_id = 4;
|
||
|
optional uint32 hero_id = 5;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCRerollPlayerChallenge {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional CMsgClientToGCRerollPlayerChallenge reroll_msg = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCHoldEventPoints {
|
||
|
message HoldRequest {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint32 points_held = 2;
|
||
|
optional uint32 premium_held = 3;
|
||
|
}
|
||
|
|
||
|
repeated CMsgServerToGCHoldEventPoints.HoldRequest holds = 1;
|
||
|
optional uint32 event_id = 2;
|
||
|
optional uint64 hold_key = 3;
|
||
|
optional uint32 hold_until = 4;
|
||
|
}
|
||
|
|
||
|
message CMsgSignOutReleaseEventPointHolds {
|
||
|
repeated uint32 account_ids = 1;
|
||
|
optional uint32 event_id = 2;
|
||
|
optional uint64 hold_key = 3;
|
||
|
}
|
||
|
|
||
|
message CMsgGCToServerUpdateBroadcastCheers {
|
||
|
optional uint32 time_stamp = 1;
|
||
|
optional uint32 team_1_cheers = 2;
|
||
|
optional uint32 team_2_cheers = 3;
|
||
|
}
|
||
|
|
||
|
message CMsgSignOutWagerStats {
|
||
|
message Player {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint32 winnings = 2;
|
||
|
optional uint32 max_wager = 3;
|
||
|
optional uint32 wager = 4;
|
||
|
}
|
||
|
|
||
|
repeated CMsgSignOutWagerStats.Player players = 1;
|
||
|
optional uint32 event_id = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgSignOutXPCoins {
|
||
|
message Player {
|
||
|
optional uint32 account_id = 1;
|
||
|
optional uint32 xp_gained = 2;
|
||
|
optional uint32 coins_spent = 3;
|
||
|
}
|
||
|
|
||
|
repeated CMsgSignOutXPCoins.Player players = 1;
|
||
|
optional uint32 event_id = 2;
|
||
|
optional uint64 match_id = 3;
|
||
|
optional uint32 timestamp = 4;
|
||
|
}
|
||
|
|
||
|
message CMsgSignOutCommunityGoalProgress {
|
||
|
message EventGoalIncrement {
|
||
|
optional uint32 event_goal_id = 1;
|
||
|
optional uint32 increment_amount = 2;
|
||
|
}
|
||
|
|
||
|
optional uint32 event_id = 1;
|
||
|
repeated CMsgSignOutCommunityGoalProgress.EventGoalIncrement event_increments = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCPostMatchTip {
|
||
|
optional uint32 event_id = 1;
|
||
|
optional uint64 match_id = 2;
|
||
|
optional uint32 tipper_account_id = 3;
|
||
|
optional uint32 recipient_account_id = 4;
|
||
|
optional uint32 tip_amount = 5;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCPostMatchTipResponse {
|
||
|
enum Result {
|
||
|
SUCCESS = 0;
|
||
|
FAILURE = 1;
|
||
|
}
|
||
|
|
||
|
optional uint64 match_id = 1;
|
||
|
optional uint32 tipper_account_id = 2;
|
||
|
optional uint32 recipient_account_id = 3;
|
||
|
optional CMsgServerToGCPostMatchTipResponse.Result result = 4 [default = SUCCESS];
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCStartCompendiumInGamePredictions {
|
||
|
optional uint32 league_id = 1;
|
||
|
optional uint64 match_id = 2;
|
||
|
optional float hltv_delay = 3;
|
||
|
repeated uint32 prediction_ids = 4;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCStartCompendiumInGamePredictionsResponse {
|
||
|
optional bool result = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCCloseCompendiumInGamePredictionVoting {
|
||
|
optional uint64 match_id = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse {
|
||
|
optional bool result = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCEndCompendiumInGamePredictions {
|
||
|
optional uint64 match_id = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCEndCompendiumInGamePredictionsResponse {
|
||
|
optional bool result = 1;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCCompendiumInGamePredictionResults {
|
||
|
message PredictionResult {
|
||
|
optional uint32 prediction_id = 1;
|
||
|
optional uint32 prediction_value = 2;
|
||
|
optional bool prediction_value_is_mask = 3;
|
||
|
}
|
||
|
|
||
|
optional uint64 match_id = 1;
|
||
|
repeated CMsgServerToGCCompendiumInGamePredictionResults.PredictionResult results = 2;
|
||
|
}
|
||
|
|
||
|
message CMsgServerToGCCompendiumInGamePredictionResultsResponse {
|
||
|
optional bool result = 1;
|
||
|
}
|
||
|
|