352 lines
10 KiB
Protocol Buffer
352 lines
10 KiB
Protocol Buffer
import "dota_shared_enums.proto";
|
|
|
|
enum ELeagueNodeGroupType {
|
|
INVALID_GROUP_TYPE = 0;
|
|
ORGANIZATIONAL = 1;
|
|
ROUND_ROBIN = 2;
|
|
SWISS = 3;
|
|
BRACKET_SINGLE = 4;
|
|
BRACKET_DOUBLE_SEED_LOSER = 5;
|
|
BRACKET_DOUBLE_ALL_WINNER = 6;
|
|
SHOWMATCH = 7;
|
|
GSL = 8;
|
|
PLACEMENT = 9;
|
|
}
|
|
|
|
enum ELeagueNodeType {
|
|
INVALID_NODE_TYPE = 0;
|
|
BEST_OF_ONE = 1;
|
|
BEST_OF_THREE = 2;
|
|
BEST_OF_FIVE = 3;
|
|
BEST_OF_TWO = 4;
|
|
}
|
|
|
|
message CMsgDOTALeagueNode {
|
|
message MatchDetails {
|
|
optional uint64 match_id = 1;
|
|
optional uint32 winning_team_id = 2;
|
|
}
|
|
|
|
message VOD {
|
|
optional uint32 series_game = 1;
|
|
optional uint32 stream_id = 2;
|
|
optional string url = 3;
|
|
}
|
|
|
|
optional string name = 1;
|
|
optional uint32 node_id = 2;
|
|
optional uint32 node_group_id = 3;
|
|
optional uint32 winning_node_id = 4;
|
|
optional uint32 losing_node_id = 5;
|
|
optional uint32 incoming_node_id_1 = 6;
|
|
optional uint32 incoming_node_id_2 = 7;
|
|
optional .ELeagueNodeType node_type = 8 [default = INVALID_NODE_TYPE];
|
|
optional uint32 scheduled_time = 9;
|
|
optional uint32 actual_time = 19;
|
|
optional uint32 series_id = 10;
|
|
optional uint32 team_id_1 = 11;
|
|
optional uint32 team_id_2 = 12;
|
|
repeated .CMsgDOTALeagueNode.MatchDetails matches = 13;
|
|
optional uint32 team_1_wins = 14;
|
|
optional uint32 team_2_wins = 15;
|
|
optional bool has_started = 16;
|
|
optional bool is_completed = 17;
|
|
repeated uint32 stream_ids = 18;
|
|
repeated .CMsgDOTALeagueNode.VOD vods = 20;
|
|
}
|
|
|
|
message CMsgDOTALeagueNodeGroup {
|
|
message TeamStanding {
|
|
optional uint32 standing = 1;
|
|
optional uint32 team_id = 2;
|
|
optional string team_name = 3;
|
|
optional string team_tag = 4;
|
|
optional uint64 team_logo = 5;
|
|
optional string team_logo_url = 6;
|
|
optional uint32 wins = 7;
|
|
optional uint32 losses = 8;
|
|
optional int64 score = 9;
|
|
optional string team_abbreviation = 10;
|
|
optional int64 score_tiebreak_group = 11;
|
|
optional int64 score_tiebreak_below = 12;
|
|
optional int64 score_tiebreak_random = 13;
|
|
optional bool is_pro = 14;
|
|
}
|
|
|
|
optional string name = 1;
|
|
optional uint32 node_group_id = 2;
|
|
optional uint32 parent_node_group_id = 3;
|
|
repeated uint32 incoming_node_group_ids = 4;
|
|
optional uint32 advancing_node_group_id = 5;
|
|
optional uint32 advancing_team_count = 6;
|
|
optional uint32 team_count = 7;
|
|
optional .ELeagueNodeGroupType node_group_type = 8 [default = INVALID_GROUP_TYPE];
|
|
optional .ELeagueNodeType default_node_type = 9 [default = INVALID_NODE_TYPE];
|
|
optional uint32 round = 10;
|
|
optional uint32 max_rounds = 11;
|
|
optional bool is_tiebreaker = 12;
|
|
optional bool is_final_group = 13;
|
|
optional bool is_completed = 14;
|
|
optional .ELeaguePhase phase = 18 [default = LEAGUE_PHASE_UNSET];
|
|
optional .ELeagueRegion region = 19 [default = LEAGUE_REGION_UNSET];
|
|
optional uint32 start_time = 20;
|
|
optional uint32 end_time = 21;
|
|
optional uint32 secondary_advancing_node_group_id = 22;
|
|
optional uint32 secondary_advancing_team_count = 23;
|
|
optional uint32 tertiary_advancing_node_group_id = 24;
|
|
optional uint32 tertiary_advancing_team_count = 25;
|
|
optional uint32 elimination_dpc_points = 26;
|
|
repeated .CMsgDOTALeagueNodeGroup.TeamStanding team_standings = 15;
|
|
repeated .CMsgDOTALeagueNode nodes = 16;
|
|
repeated .CMsgDOTALeagueNodeGroup node_groups = 17;
|
|
}
|
|
|
|
message CMsgDOTALeague {
|
|
message Info {
|
|
optional uint32 league_id = 1;
|
|
optional string name = 2;
|
|
optional .ELeagueTier tier = 3 [default = LEAGUE_TIER_UNSET];
|
|
optional .ELeagueRegion region = 4 [default = LEAGUE_REGION_UNSET];
|
|
optional string url = 5;
|
|
optional string description = 6;
|
|
optional string notes = 7;
|
|
optional uint32 start_timestamp = 8;
|
|
optional uint32 end_timestamp = 9;
|
|
optional uint32 pro_circuit_points = 10;
|
|
optional uint32 image_bits = 11;
|
|
optional .ELeagueStatus status = 12 [default = LEAGUE_STATUS_UNSET];
|
|
optional uint32 most_recent_activity = 13;
|
|
optional uint32 registration_period = 14;
|
|
}
|
|
|
|
message Admin {
|
|
optional uint32 account_id = 1;
|
|
optional bool is_primary = 2;
|
|
optional string email_address = 3;
|
|
}
|
|
|
|
message PrizePoolItem {
|
|
optional uint32 item_def = 1;
|
|
optional uint32 sales_stop_timestamp = 2;
|
|
optional uint32 revenue_pct = 3;
|
|
optional uint32 revenue_cents_per_sale = 4;
|
|
}
|
|
|
|
message PrizePool {
|
|
optional uint32 base_prize_pool = 1;
|
|
optional uint32 total_prize_pool = 2;
|
|
repeated uint32 prize_split_pct_x100 = 3;
|
|
repeated .CMsgDOTALeague.PrizePoolItem prize_pool_items = 4;
|
|
}
|
|
|
|
message Stream {
|
|
optional uint32 stream_id = 1;
|
|
optional uint32 language = 2;
|
|
optional string name = 3;
|
|
optional .ELeagueBroadcastProvider broadcast_provider = 4 [default = LEAGUE_BROADCAST_UNKNOWN];
|
|
optional string stream_url = 5;
|
|
optional string vod_url = 6;
|
|
}
|
|
|
|
message SeriesInfo {
|
|
optional uint32 series_id = 1;
|
|
optional uint32 series_type = 2;
|
|
optional uint32 start_time = 3;
|
|
repeated uint64 match_ids = 4;
|
|
optional uint32 team_id_1 = 5;
|
|
optional uint32 team_id_2 = 6;
|
|
}
|
|
|
|
message Player {
|
|
optional uint32 account_id = 1;
|
|
optional string name = 2;
|
|
optional uint32 team_id = 3;
|
|
}
|
|
|
|
optional .CMsgDOTALeague.Info info = 1;
|
|
optional .CMsgDOTALeague.PrizePool prize_pool = 2;
|
|
repeated .CMsgDOTALeague.Admin admins = 3;
|
|
repeated .CMsgDOTALeague.Stream streams = 4;
|
|
repeated .CMsgDOTALeagueNodeGroup node_groups = 5;
|
|
repeated .CMsgDOTALeague.SeriesInfo series_infos = 6;
|
|
repeated .CMsgDOTALeague.Player registered_players = 7;
|
|
}
|
|
|
|
message CMsgDOTALeagueList {
|
|
repeated .CMsgDOTALeague leagues = 1;
|
|
}
|
|
|
|
message CMsgDOTALeagueInfo {
|
|
optional uint32 league_id = 1;
|
|
optional string name = 2;
|
|
optional .ELeagueTier tier = 3 [default = LEAGUE_TIER_UNSET];
|
|
optional .ELeagueRegion region = 4 [default = LEAGUE_REGION_UNSET];
|
|
optional uint32 most_recent_activity = 5;
|
|
optional uint32 total_prize_pool = 6;
|
|
optional uint32 start_timestamp = 7;
|
|
optional uint32 end_timestamp = 8;
|
|
optional uint32 status = 9;
|
|
}
|
|
|
|
message CMsgDOTALeagueInfoList {
|
|
repeated .CMsgDOTALeagueInfo infos = 1;
|
|
}
|
|
|
|
message CMsgDOTALeagueLiveGames {
|
|
message LiveGame {
|
|
optional uint32 league_id = 1;
|
|
optional uint64 server_steam_id = 2;
|
|
optional string radiant_name = 3;
|
|
optional uint64 radiant_logo = 4;
|
|
optional uint32 radiant_team_id = 9;
|
|
optional string dire_name = 5;
|
|
optional uint64 dire_logo = 6;
|
|
optional uint32 dire_team_id = 10;
|
|
optional uint32 time = 7;
|
|
optional uint32 spectators = 8;
|
|
optional uint32 league_node_id = 11;
|
|
optional uint32 series_id = 12;
|
|
optional uint64 match_id = 13;
|
|
}
|
|
|
|
repeated .CMsgDOTALeagueLiveGames.LiveGame games = 1;
|
|
}
|
|
|
|
message CMsgDOTALeagueMessages {
|
|
message Message {
|
|
optional uint32 author_account_id = 1;
|
|
optional uint32 timestamp = 2;
|
|
optional string message = 3;
|
|
}
|
|
|
|
repeated .CMsgDOTALeagueMessages.Message messages = 1;
|
|
}
|
|
|
|
message CMsgDOTALeaguePrizePool {
|
|
optional uint32 prize_pool = 1;
|
|
optional float increment_per_second = 2;
|
|
}
|
|
|
|
message CMsgDOTALeagueInfoListAdminsRequest {
|
|
}
|
|
|
|
message CMsgDOTALeagueAvailableLobbyNodesRequest {
|
|
optional uint32 league_id = 1;
|
|
}
|
|
|
|
message CMsgDOTALeagueAvailableLobbyNodes {
|
|
message NodeInfo {
|
|
optional uint32 node_id = 1;
|
|
optional string node_name = 2;
|
|
optional string node_group_name = 3;
|
|
optional uint32 team_id_1 = 4;
|
|
optional uint32 team_id_2 = 5;
|
|
}
|
|
|
|
repeated .CMsgDOTALeagueAvailableLobbyNodes.NodeInfo node_infos = 1;
|
|
}
|
|
|
|
message CMsgDOTALeagueNodeResults {
|
|
message Result {
|
|
optional uint32 node_id = 1;
|
|
optional uint32 winning_node_id = 2;
|
|
optional uint32 losing_node_id = 3;
|
|
optional uint32 incoming_node_id_1 = 4;
|
|
optional uint32 incoming_node_id_2 = 5;
|
|
optional uint32 team_id_1 = 6;
|
|
optional uint32 team_id_2 = 7;
|
|
optional string team_1_name = 8;
|
|
optional string team_2_name = 9;
|
|
optional uint32 team_1_wins = 10;
|
|
optional uint32 team_2_wins = 11;
|
|
optional uint32 winning_team_id = 12;
|
|
optional uint32 losing_team_id = 13;
|
|
optional bool has_started = 14;
|
|
optional bool is_completed = 15;
|
|
optional uint32 scheduled_time = 16;
|
|
repeated uint64 match_ids = 17;
|
|
}
|
|
|
|
repeated .CMsgDOTALeagueNodeResults.Result node_results = 1;
|
|
}
|
|
|
|
message CMsgDOTADPCLeagueResults {
|
|
message Result {
|
|
optional uint32 standing = 1;
|
|
optional uint32 team_id = 2;
|
|
optional string team_name = 3;
|
|
optional uint64 team_logo = 4;
|
|
optional string team_logo_url = 5;
|
|
optional uint32 points = 6;
|
|
optional uint32 earnings = 7;
|
|
optional uint32 timestamp = 8;
|
|
optional .ELeaguePhase phase = 9 [default = LEAGUE_PHASE_UNSET];
|
|
optional string team_abbreviation = 10;
|
|
}
|
|
|
|
repeated .CMsgDOTADPCLeagueResults.Result results = 1;
|
|
repeated uint32 points = 2;
|
|
repeated uint32 dollars = 3;
|
|
}
|
|
|
|
message CMsgDOTADPCTeamResults {
|
|
message Result {
|
|
optional uint32 league_id = 1;
|
|
optional uint32 standing = 2;
|
|
optional uint32 points = 3;
|
|
optional uint32 earnings = 4;
|
|
optional uint32 timestamp = 5;
|
|
}
|
|
|
|
repeated .CMsgDOTADPCTeamResults.Result results = 1;
|
|
}
|
|
|
|
message CMsgDOTADPCSeasonResults {
|
|
message TeamLeagueResult {
|
|
optional uint32 timestamp = 1;
|
|
optional uint32 league_id = 2;
|
|
optional uint32 standing = 3;
|
|
optional uint32 points = 4;
|
|
optional uint32 earnings = 5;
|
|
optional uint32 audit_action = 6;
|
|
optional uint32 audit_data = 7;
|
|
}
|
|
|
|
message TeamResult {
|
|
optional uint32 team_id = 1;
|
|
optional string team_name = 2;
|
|
optional string team_abbreviation = 8;
|
|
optional uint64 team_logo = 3;
|
|
optional string team_logo_url = 4;
|
|
optional uint32 total_points = 5;
|
|
optional uint32 total_earnings = 6;
|
|
repeated .CMsgDOTADPCSeasonResults.TeamLeagueResult league_results = 7;
|
|
}
|
|
|
|
message StandingEntry {
|
|
optional uint32 team_id = 1;
|
|
optional uint32 wins = 2;
|
|
optional uint32 losses = 3;
|
|
optional string team_url = 4;
|
|
optional string team_name = 5;
|
|
optional string team_abbreviation = 6;
|
|
}
|
|
|
|
message Standing {
|
|
optional .ELeagueRegion region = 1 [default = LEAGUE_REGION_UNSET];
|
|
optional .ELeagueDivision division = 2 [default = LEAGUE_DIVISION_UNSET];
|
|
repeated .CMsgDOTADPCSeasonResults.StandingEntry entries = 3;
|
|
}
|
|
|
|
repeated .CMsgDOTADPCSeasonResults.TeamResult results = 1;
|
|
repeated .CMsgDOTADPCSeasonResults.Standing standings = 2;
|
|
repeated .CMsgDOTADPCSeasonResults.StandingEntry major_wildcard_standings = 3;
|
|
repeated .CMsgDOTADPCSeasonResults.StandingEntry major_group_standings = 4;
|
|
repeated .CMsgDOTADPCSeasonResults.StandingEntry major_playoff_standings = 5;
|
|
}
|
|
|
|
message CMsgDOTADPCSeasonSpoilerResults {
|
|
optional uint32 time_last_updated = 1;
|
|
optional .CMsgDOTADPCSeasonResults saved_results = 2;
|
|
}
|