Initial version

This commit is contained in:
Lol3rrr
2024-09-15 05:09:15 +02:00
commit c7aa4dbe8c
489 changed files with 124650 additions and 0 deletions

View File

@@ -0,0 +1,395 @@
import "dcg_gcmessages_common.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum EGCDCGServerMessages {
k_EMsgServerToGCMatchSignoutPermission = 10012;
k_EMsgServerToGCMatchSignoutPermissionResponse = 10013;
k_EMsgServerToGCMatchSignout = 10014;
k_EMsgServerToGCMatchSignoutResponse = 10015;
k_EMsgServerToGCIdlePing = 10018;
k_EMsgGCToServerRequestPing = 10019;
k_EMsgGCToServerAllocateForMatch = 10021;
k_EMsgGCToServerAllocateForMatchResponse = 10022;
k_EMsgServerToGCEnterMatchmaking = 10023;
k_EMsgGCToServerCancelAllocateForMatch = 10024;
k_EMsgServerToGCUpdateLobbyServerState = 10025;
k_EMsgServerToGCAbandonMatch = 10026;
k_EMsgServerToGCAbandonMatchResponse = 10027;
k_EMsgServerToGCTestConnection = 10028;
k_EMsgServerToGCTestConnectionResponse = 10029;
k_EMsgGCToServerRunTests = 10031;
k_EMsgGCToServerRunTestsResponse = 10032;
k_EMsgServerToGCTestResults = 10033;
k_EMsgGCToServerAddTourneySpectator = 10034;
k_EMsgGCToServerAddTourneySpectatorResponse = 10035;
}
enum EGCServerLobbyData {
k_EServerLobbyData_DeckValidator = 1;
k_EServerLobbyData_DraftCards = 3;
k_EServerLobbyData_PlayerDeck = 4;
k_EServerLobbyData_PlayerMMR = 5;
k_EServerLobbyData_CardAchievements = 6;
k_EServerLobbyData_GauntletInfo = 7;
k_EServerLobbyData_PlayerInfo = 8;
}
enum EGCServerSignoutData {
k_EServerSignoutData_PlayerProgress = 1;
k_EServerSignoutData_PlayerDecks = 2;
k_EServerSignoutData_LobbyInfo = 4;
k_EServerSignoutData_GameOptions = 9;
k_EServerSignoutData_CardAchievements = 11;
k_EServerSignoutData_PerformanceStats = 12;
k_EServerSignoutData_Disconnections = 13;
k_EServerSignoutData_MatchChatStats = 14;
}
message CMsgServerCrashSentinelFile {
message DCGGameInfo {
optional uint64 match_id = 1;
optional fixed64 lobby_id = 2;
optional uint32 gauntlet_id = 3;
optional uint32 server_state = 4;
repeated uint32 client_account_ids = 5;
}
optional uint32 version = 1;
optional fixed64 server_steam_id = 2;
optional fixed32 server_public_ip_addr = 3;
optional uint32 server_port = 4;
optional uint32 server_cluster = 5;
optional uint32 pid = 6;
optional uint32 saved_time = 7;
optional uint32 server_version = 8;
optional .CMsgServerCrashSentinelFile.DCGGameInfo dcg_info = 9;
optional uint32 server_private_ip_addr = 10;
optional uint32 instance_id = 11;
}
message CServerLobbyData_CardAchievements {
optional uint32 account_id = 1;
repeated uint32 achievement_ids = 2 [packed = true];
repeated uint32 progress = 3 [packed = true];
}
message CServerDraftCard {
optional uint32 def_index = 1;
}
message CServerLobbyData_DraftCards {
message Pack {
optional uint64 pack_item_id = 1;
repeated .CServerDraftCard pack_cards = 2;
}
message Player {
optional uint32 account_id = 1;
repeated .CServerLobbyData_DraftCards.Pack packs = 2;
optional bool cannot_trade = 3;
optional uint32 trade_restriction_time = 4;
}
repeated .CServerLobbyData_DraftCards.Player players = 1;
}
message CServerLobbyData_PlayerDeck {
optional bytes deck_code = 1;
optional bytes collection_code = 2;
}
message CServerLobbyData_PlayerMMR {
message Player {
optional uint32 account_id = 1;
optional uint32 mmr = 2;
optional uint32 uncertainty = 3;
}
repeated .CServerLobbyData_PlayerMMR.Player players = 1;
}
message CServerLobbyData_GauntletInfo {
optional .CMsgGauntletConfig gauntlet_config = 1;
}
message CServerLobbyData_DeckValidator {
optional .CMsgDeckValidator deck_validator = 1;
}
message CServerLobbyData_PlayerInfo {
optional uint32 account_id = 1;
optional uint32 progress_level = 2;
optional uint32 progress_xp = 3;
optional uint32 mmr_level = 4;
optional uint32 last_win_bonus_time = 5;
optional uint32 win_streak = 6;
optional uint32 bonus_period_wins = 7;
optional uint32 player_badge = 8;
}
message CSODCGServerLobby {
repeated .CExtraMsgBlock extra_messages = 1;
optional fixed64 server_steam_id = 2;
optional uint64 lobby_id = 3;
optional fixed32 replay_salt = 4;
optional fixed64 private_lobby_id = 5;
optional .EDCGLobbyTimer timer_mode = 6 [default = k_eDCGLobbyTimer_Unspecified];
}
message CMsgServerSignoutData_MatchChatStats {
message ChatStats {
optional uint32 account_id = 1;
optional uint32 total_messages = 2;
optional uint32 total_custom_messages = 3;
optional bool user_sent_custom_message_before_mute = 4;
optional uint32 total_messages_sent_while_muted = 5;
optional uint32 num_times_squelched = 6;
optional bool user_muted_opponent_before_receiving_message = 7;
optional bool user_was_muted_then_was_unmuted = 8;
optional bool user_was_muted_at_match_end = 9;
}
repeated .CMsgServerSignoutData_MatchChatStats.ChatStats chat_stats = 1;
}
message CMsgServerSignoutData_LobbyInfo {
optional uint64 match_id = 1;
optional uint32 start_time = 2;
optional uint32 gauntlet_id = 3;
optional uint32 server_version = 4;
optional uint32 replay_salt = 5;
optional .EDCGMatchMode match_mode = 6 [default = k_EDCGMatchMode_Unranked];
}
message CMsgServerSignoutData_PlayerDecks {
message Player {
message Hero {
optional uint32 card_id = 1;
optional uint32 hero_slot = 2;
}
message Card {
optional uint32 card_id = 1;
optional uint32 num_in_deck = 2;
optional uint32 num_in_hand = 3;
optional uint32 num_played = 4;
}
optional uint32 player_id = 1;
repeated .CMsgServerSignoutData_PlayerDecks.Player.Card cards = 2;
repeated .CMsgServerSignoutData_PlayerDecks.Player.Hero heroes = 3;
optional uint32 critical_life = 6;
optional uint32 total_gold = 7;
}
repeated .CMsgServerSignoutData_PlayerDecks.Player players = 1;
optional uint32 stats_version = 2;
}
message CMsgServerSignoutData_PlayerProgress {
message PointBonus {
optional uint32 bonus_id = 1;
optional uint32 bonus_points = 2;
}
optional uint32 account_id = 1;
optional uint32 xp_to_grant = 2;
repeated .CMsgServerSignoutData_PlayerProgress.PointBonus bonuses = 3;
optional uint32 weekly_bonus_reset_time = 5;
}
message CMsgServerToGCMatchSignoutPermission {
optional uint32 signout_start = 1;
optional uint64 match_id = 3;
optional .EDCGMatchMode match_mode = 4 [default = k_EDCGMatchMode_Unranked];
}
message CMsgServerToGCMatchSignoutPermissionResponse {
optional bool can_sign_out = 1;
optional uint32 retry_time_s = 2;
repeated .EGCServerSignoutData requested_data = 3;
}
message CMsgServerSignoutData_CardAchievements {
enum EAchievementGrantType {
k_EAchievementGrant_Add = 0;
k_EAchievementGrant_Max = 1;
k_EAchievementGrant_Set = 2;
}
optional uint32 account_id = 1;
repeated uint32 achievement_ids = 2 [packed = true];
repeated uint32 grant_amounts = 3 [packed = true];
repeated .CMsgServerSignoutData_CardAchievements.EAchievementGrantType grant_types = 4 [packed = true];
}
message CMsgServerSignoutData_PerformanceStats {
optional uint32 start_memory_bytes = 1;
optional uint32 peak_memory_bytes = 2;
optional uint32 end_memory_bytes = 3;
optional uint32 total_update_time_ms = 4;
optional uint32 total_match_time_ms = 5;
optional uint32 sent_messages = 6;
optional uint32 received_messages = 7;
optional uint32 sent_bytes = 8;
optional uint32 received_bytes = 9;
optional uint32 max_update_time_micros = 10;
optional uint32 num_updates = 11;
optional uint32 replay_size_bytes = 12;
}
message CMsgServerSignoutData_GameOptions {
message GameOption {
optional string key = 1;
optional string value = 2;
}
repeated .CMsgServerSignoutData_GameOptions.GameOption game_options = 1;
}
message CMsgMatchDisconnection {
optional uint32 account_id = 1;
optional uint32 disconnect_time = 2;
optional uint32 connection_state = 3;
optional uint32 reason_code = 4;
optional uint32 reconnect_delay = 5;
}
message CMsgServerSignoutData_Disconnections {
repeated .CMsgMatchDisconnection disconnections = 1;
}
message CMsgServerToGCMatchSignout {
repeated .CExtraMsgBlock additional_data = 1;
optional uint32 signout_attempt = 2;
optional uint64 lobby_id = 3;
optional uint32 cluster_id = 9;
optional .CMsgMatchData match_data = 10;
}
message CMsgServerToGCMatchSignoutResponse {
enum ESignoutResult {
k_ESignout_Failed_Retry = 1;
k_ESignout_Failed_NoRetry = 2;
k_ESignout_Failed_InFlight = 3;
k_ESignout_Success = 4;
k_ESignout_Success_AlreadySignedOut = 5;
}
optional .CMsgServerToGCMatchSignoutResponse.ESignoutResult result = 1 [default = k_ESignout_Failed_Retry];
}
message CMsgServerWelcomeDCG {
}
message CMsgServerToGCIdlePing {
optional uint32 server_version = 1;
}
message CMsgGCToServerRequestPing {
}
message CMsgGCToServerAllocateForMatch {
optional uint64 match_id = 1;
}
message CMsgGCToServerAllocateForMatchResponse {
optional bool success = 1;
}
message CMsgServerToGCEnterMatchmaking {
optional uint32 server_version = 1;
optional string search_key = 2;
optional uint32 region_id = 3;
optional uint32 cluster_id = 4;
optional uint32 server_public_ip = 5;
optional uint32 server_private_ip = 6;
optional uint32 server_port = 7;
optional bytes sdr_address = 9;
}
message CMsgGCToServerCancelAllocateForMatch {
optional uint64 match_id = 1;
}
message CMsgServerToGCUpdateLobbyServerState {
optional uint64 lobby_id = 1;
optional .ELobbyServerState server_state = 2 [default = k_eLobbyServerState_Assign];
}
message CMsgServerToGCAbandonMatch {
message Player {
optional uint32 account_id = 1;
optional uint64 additional_data = 2;
}
enum EReason {
eReason_ServerCrash = 1;
eReason_ClientsFailedToConnect = 2;
}
optional fixed64 server_steam_id = 1;
optional fixed64 lobby_id = 2;
optional uint32 cluster_id = 3;
optional .CMsgServerToGCAbandonMatch.EReason reason_code = 4 [default = eReason_ServerCrash];
optional uint64 additional_data = 5;
optional uint64 match_id = 6;
optional uint32 gauntlet_id = 7;
repeated .CMsgServerToGCAbandonMatch.Player players = 8;
optional fixed32 public_ip_address = 9;
optional uint32 port = 10;
optional uint32 server_version = 11;
optional uint32 pid = 12;
optional uint32 instance_id = 13;
optional uint32 private_ip_address = 14;
}
message CMsgServerToGCAbandonMatchResponse {
}
message CMsgServerToGCTestConnection {
}
message CMsgServerToGCTestConnectionResponse {
optional uint32 state = 1;
optional uint64 lobby_id = 2;
}
message CMsgGCToServerAddTourneySpectator {
optional uint64 lobby_id = 1;
optional uint32 account_id = 2;
optional uint32 account_to_spectate_id = 3;
optional uint64 tourney_id = 4;
}
message CMsgGCToServerAddTourneySpectatorResponse {
optional bool success = 1;
optional uint64 tourney_id = 2;
}
message CMsgGCToServerRunTests {
optional uint32 expected_version = 1;
}
message CMsgGCToServerRunTestsResponse {
optional bool running_tests = 1;
}
message CMsgServerToGCTestResults {
message TestResult {
optional string test_name = 1;
optional string test_group = 2;
optional .CMsgServerToGCTestResults.ETestResult test_result = 3 [default = eResult_Failure];
}
enum ETestResult {
eResult_Failure = 0;
eResult_Success = 1;
eResult_Disabled = 2;
}
repeated .CMsgServerToGCTestResults.TestResult results = 1;
optional uint32 server_version = 2;
}