75494ab8646e953e6b67554ed12f4a33e881d714
[henge/webcc.git] / src / proto / cstrike15_gcmessages.proto
1 import "steammessages.proto";
2
3 option optimize_for = SPEED;
4 option cc_generic_services = false;
5
6 enum ECsgoGCMsg {
7 k_EMsgGCCStrike15_v2_Base = 9100;
8 k_EMsgGCCStrike15_v2_MatchmakingStart = 9101;
9 k_EMsgGCCStrike15_v2_MatchmakingStop = 9102;
10 k_EMsgGCCStrike15_v2_MatchmakingClient2ServerPing = 9103;
11 k_EMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate = 9104;
12 k_EMsgGCCStrike15_v2_MatchmakingGC2ServerReserve = 9105;
13 k_EMsgGCCStrike15_v2_MatchmakingServerReservationResponse = 9106;
14 k_EMsgGCCStrike15_v2_MatchmakingGC2ClientReserve = 9107;
15 k_EMsgGCCStrike15_v2_MatchmakingServerRoundStats = 9108;
16 k_EMsgGCCStrike15_v2_MatchmakingClient2GCHello = 9109;
17 k_EMsgGCCStrike15_v2_MatchmakingGC2ClientHello = 9110;
18 k_EMsgGCCStrike15_v2_MatchmakingServerMatchEnd = 9111;
19 k_EMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon = 9112;
20 k_EMsgGCCStrike15_v2_MatchmakingServer2GCKick = 9113;
21 k_EMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm = 9114;
22 k_EMsgGCCStrike15_v2_MatchmakingGCOperationalStats = 9115;
23 k_EMsgGCCStrike15_v2_MatchmakingGC2ServerRankUpdate = 9116;
24 k_EMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate = 9117;
25 k_EMsgGCCStrike15_v2_ServerNotificationForUserPenalty = 9118;
26 k_EMsgGCCStrike15_v2_ClientReportPlayer = 9119;
27 k_EMsgGCCStrike15_v2_ClientReportServer = 9120;
28 k_EMsgGCCStrike15_v2_ClientCommendPlayer = 9121;
29 k_EMsgGCCStrike15_v2_ClientReportResponse = 9122;
30 k_EMsgGCCStrike15_v2_ClientCommendPlayerQuery = 9123;
31 k_EMsgGCCStrike15_v2_ClientCommendPlayerQueryResponse = 9124;
32 k_EMsgGCCStrike15_v2_WatchInfoUsers = 9126;
33 k_EMsgGCCStrike15_v2_ClientRequestPlayersProfile = 9127;
34 k_EMsgGCCStrike15_v2_PlayersProfile = 9128;
35 k_EMsgGCCStrike15_v2_SetMyMedalsInfo = 9129;
36 k_EMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate = 9131;
37 k_EMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment = 9132;
38 k_EMsgGCCStrike15_v2_PlayerOverwatchCaseStatus = 9133;
39 k_EMsgGCCStrike15_v2_GC2ClientTextMsg = 9134;
40 k_EMsgGCCStrike15_v2_Client2GCTextMsg = 9135;
41 k_EMsgGCCStrike15_v2_MatchEndRunRewardDrops = 9136;
42 k_EMsgGCCStrike15_v2_MatchEndRewardDropsNotification = 9137;
43 k_EMsgGCCStrike15_v2_ClientRequestWatchInfoFriends2 = 9138;
44 k_EMsgGCCStrike15_v2_MatchList = 9139;
45 k_EMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames = 9140;
46 k_EMsgGCCStrike15_v2_MatchListRequestRecentUserGames = 9141;
47 k_EMsgGCCStrike15_v2_GC2ServerReservationUpdate = 9142;
48 k_EMsgGCCStrike15_v2_ClientVarValueNotificationInfo = 9144;
49 k_EMsgGCCStrike15_v2_TournamentMatchRewardDropsNotification = 9145;
50 k_EMsgGCCStrike15_v2_MatchListRequestTournamentGames = 9146;
51 k_EMsgGCCStrike15_v2_MatchListRequestFullGameInfo = 9147;
52 k_EMsgGCCStrike15_v2_GiftsLeaderboardRequest = 9148;
53 k_EMsgGCCStrike15_v2_GiftsLeaderboardResponse = 9149;
54 k_EMsgGCCStrike15_v2_ServerVarValueNotificationInfo = 9150;
55 k_EMsgGCToGCReloadVersions = 9151;
56 k_EMsgGCCStrike15_v2_ClientSubmitSurveyVote = 9152;
57 k_EMsgGCCStrike15_v2_Server2GCClientValidate = 9153;
58 k_EMsgGCCStrike15_v2_MatchListRequestLiveGameForUser = 9154;
59 k_EMsgGCCStrike15_v2_Server2GCPureServerValidationFailure = 9155;
60 k_EMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest = 9156;
61 k_EMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse = 9157;
62 k_EMsgGCCStrike15_v2_AccountPrivacySettings = 9158;
63 k_EMsgGCCStrike15_v2_SetMyActivityInfo = 9159;
64 k_EMsgGCCStrike15_v2_MatchListRequestTournamentPredictions = 9160;
65 k_EMsgGCCStrike15_v2_MatchListUploadTournamentPredictions = 9161;
66 k_EMsgGCCStrike15_v2_DraftSummary = 9162;
67 k_EMsgGCCStrike15_v2_ClientRequestJoinFriendData = 9163;
68 k_EMsgGCCStrike15_v2_ClientRequestJoinServerData = 9164;
69 k_EMsgGCCStrike15_v2_ClientRequestNewMission = 9165;
70 k_EMsgGCCStrike15_v2_GC2ServerNotifyXPRewarded = 9166;
71 k_EMsgGCCStrike15_v2_GC2ClientTournamentInfo = 9167;
72 k_EMsgGC_GlobalGame_Subscribe = 9168;
73 k_EMsgGC_GlobalGame_Unsubscribe = 9169;
74 k_EMsgGC_GlobalGame_Play = 9170;
75 k_EMsgGCCStrike15_v2_AcknowledgePenalty = 9171;
76 k_EMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin = 9172;
77 k_EMsgGCCStrike15_v2_GC2ClientGlobalStats = 9173;
78 k_EMsgGCCStrike15_v2_Client2GCStreamUnlock = 9174;
79 k_EMsgGCCStrike15_v2_FantasyRequestClientData = 9175;
80 k_EMsgGCCStrike15_v2_FantasyUpdateClientData = 9176;
81 }
82
83 message GameServerPing {
84 optional uint64 gameserver_id = 1;
85 optional int32 ping = 2;
86 optional uint32 ip = 3;
87 optional uint32 port = 4;
88 optional uint32 instances = 5;
89 }
90
91 message DetailedSearchStatistic {
92 optional uint32 game_type = 1;
93 optional uint32 search_time_avg = 2;
94 optional uint32 players_searching = 4;
95 }
96
97 message TournamentPlayer {
98 optional uint32 account_id = 1;
99 optional string player_nick = 2;
100 optional string player_name = 3;
101 optional uint32 player_dob = 4;
102 optional string player_flag = 5;
103 optional string player_location = 6;
104 optional string player_desc = 7;
105 }
106
107 message TournamentTeam {
108 optional int32 team_id = 1;
109 optional string team_tag = 2;
110 optional string team_flag = 3;
111 optional string team_name = 4;
112 repeated .TournamentPlayer players = 5;
113 }
114
115 message TournamentEvent {
116 optional int32 event_id = 1;
117 optional string event_tag = 2;
118 optional string event_name = 3;
119 optional uint32 event_time_start = 4;
120 optional uint32 event_time_end = 5;
121 optional int32 event_public = 6;
122 optional int32 event_stage_id = 7;
123 optional string event_stage_name = 8;
124 optional uint32 active_section_id = 9;
125 }
126
127 message GlobalStatistics {
128 optional uint32 players_online = 1;
129 optional uint32 servers_online = 2;
130 optional uint32 players_searching = 3;
131 optional uint32 servers_available = 4;
132 optional uint32 ongoing_matches = 5;
133 optional uint32 search_time_avg = 6;
134 repeated .DetailedSearchStatistic search_statistics = 7;
135 optional string main_post_url = 8;
136 optional uint32 required_appid_version = 9;
137 optional uint32 pricesheet_version = 10;
138 optional uint32 twitch_streams_version = 11;
139 optional uint32 active_tournament_eventid = 12;
140 optional uint32 active_survey_id = 13;
141 }
142
143 message OperationalStatisticDescription {
144 optional string name = 1;
145 optional uint32 idkey = 2;
146 }
147
148 message OperationalStatisticElement {
149 optional uint32 idkey = 1;
150 repeated int32 values = 2;
151 }
152
153 message OperationalStatisticsPacket {
154 optional int32 packetid = 1;
155 optional int32 mstimestamp = 2;
156 repeated .OperationalStatisticElement values = 3;
157 }
158
159 message PlayerRankingInfo {
160 optional uint32 account_id = 1;
161 optional uint32 rank_id = 2;
162 optional uint32 wins = 3;
163 optional float rank_change = 4;
164 }
165
166 message PlayerCommendationInfo {
167 optional uint32 cmd_friendly = 1;
168 optional uint32 cmd_teaching = 2;
169 optional uint32 cmd_leader = 4;
170 }
171
172 message PlayerMedalsInfo {
173 optional uint32 medal_team = 1;
174 optional uint32 medal_combat = 2;
175 optional uint32 medal_weapon = 3;
176 optional uint32 medal_global = 4;
177 optional uint32 medal_arms = 5;
178 repeated uint32 display_items_defidx = 7;
179 optional uint32 featured_display_item_defidx = 8;
180 }
181
182 message AccountActivity {
183 optional uint32 activity = 1;
184 optional uint32 mode = 2;
185 optional uint32 map = 3;
186 }
187
188 message TournamentMatchSetup {
189 optional int32 event_id = 1;
190 optional int32 team_id_ct = 2;
191 optional int32 team_id_t = 3;
192 optional int32 event_stage_id = 4;
193 }
194
195 message ServerHltvInfo {
196 optional uint32 tv_udp_port = 1;
197 optional uint64 tv_watch_key = 2;
198 optional uint32 tv_slots = 3;
199 optional uint32 tv_clients = 4;
200 optional uint32 tv_proxies = 5;
201 optional uint32 tv_time = 6;
202 optional uint32 game_type = 8;
203 optional string game_mapgroup = 9;
204 optional string game_map = 10;
205 optional uint64 tv_master_steamid = 11;
206 optional uint32 tv_local_slots = 12;
207 optional uint32 tv_local_clients = 13;
208 optional uint32 tv_local_proxies = 14;
209 optional uint32 tv_relay_slots = 15;
210 optional uint32 tv_relay_clients = 16;
211 optional uint32 tv_relay_proxies = 17;
212 optional uint32 tv_relay_address = 18;
213 optional uint32 tv_relay_port = 19;
214 optional uint64 tv_relay_steamid = 20;
215 }
216
217 message IpAddressMask {
218 optional uint32 a = 1;
219 optional uint32 b = 2;
220 optional uint32 c = 3;
221 optional uint32 d = 4;
222 optional uint32 bits = 5;
223 optional uint32 token = 6;
224 }
225
226 message XpProgressData {
227 optional uint32 xp_points = 1;
228 optional int32 xp_category = 2;
229 }
230
231 message MatchEndItemUpdates {
232 optional uint64 item_id = 1;
233 optional uint32 item_attr_defidx = 2;
234 optional uint32 item_attr_delta_value = 3;
235 }
236
237 message ScoreLeaderboardData {
238 message Entry {
239 optional uint32 tag = 1;
240 optional uint32 val = 2;
241 }
242
243 message AccountEntries {
244 optional uint32 accountid = 1;
245 repeated .ScoreLeaderboardData.Entry entries = 2;
246 }
247
248 optional uint64 quest_id = 1;
249 optional uint32 score = 2;
250 repeated .ScoreLeaderboardData.AccountEntries accountentries = 3;
251 repeated .ScoreLeaderboardData.Entry matchentries = 5;
252 }
253
254 message PlayerQuestData {
255 message QuestItemData {
256 optional uint64 quest_id = 1;
257 optional int32 quest_normal_points_earned = 2;
258 optional int32 quest_bonus_points_earned = 3;
259 }
260
261 optional uint32 quester_account_id = 1;
262 repeated .PlayerQuestData.QuestItemData quest_item_data = 2;
263 repeated .XpProgressData xp_progress_data = 3;
264 optional uint32 time_played = 4;
265 optional uint32 mm_game_mode = 5;
266 repeated .MatchEndItemUpdates item_updates = 6;
267 }
268
269 message CMsgGC_ServerQuestUpdateData {
270 repeated .PlayerQuestData player_quest_data = 1;
271 optional bytes binary_data = 2;
272 optional uint32 mm_game_mode = 3;
273 optional .ScoreLeaderboardData missionlbsdata = 4;
274 }
275
276 message CMsgGCCStrike15_v2_MatchmakingGCOperationalStats {
277 optional int32 packetid = 1;
278 repeated .OperationalStatisticDescription namekeys = 2;
279 repeated .OperationalStatisticsPacket packets = 3;
280 }
281
282 message CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm {
283 optional uint32 token = 1;
284 optional uint32 stamp = 2;
285 optional uint64 exchange = 3;
286 }
287
288 message CMsgGCCStrike15_v2_GC2ServerReservationUpdate {
289 optional uint32 viewers_external_total = 1;
290 optional uint32 viewers_external_steam = 2;
291 }
292
293 message CMsgGCCStrike15_v2_MatchmakingStart {
294 repeated uint32 account_ids = 1;
295 optional uint32 game_type = 2;
296 optional string ticket_data = 3;
297 optional uint32 client_version = 4;
298 optional .TournamentMatchSetup tournament_match = 5;
299 }
300
301 message CMsgGCCStrike15_v2_MatchmakingStop {
302 optional int32 abandon = 1;
303 }
304
305 message CMsgGCCStrike15_v2_MatchmakingClient2ServerPing {
306 repeated .GameServerPing gameserverpings = 1;
307 optional int32 offset_index = 2;
308 optional int32 final_batch = 3;
309 }
310
311 message CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate {
312 message Note {
313 optional int32 type = 1;
314 optional int32 region_id = 2;
315 optional float region_r = 3;
316 optional float distance = 4;
317 }
318
319 optional int32 matchmaking = 1;
320 repeated uint32 waiting_account_id_sessions = 2;
321 optional string error = 3;
322 repeated uint32 ongoingmatch_account_id_sessions = 6;
323 optional .GlobalStatistics global_stats = 7;
324 repeated uint32 failping_account_id_sessions = 8;
325 repeated uint32 penalty_account_id_sessions = 9;
326 repeated uint32 failready_account_id_sessions = 10;
327 repeated uint32 vacbanned_account_id_sessions = 11;
328 optional .IpAddressMask server_ipaddress_mask = 12;
329 repeated .CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note notes = 13;
330 repeated uint32 penalty_account_id_sessions_green = 14;
331 repeated uint32 insufficientlevel_sessions = 15;
332 }
333
334 message CDataGCCStrike15_v2_TournamentMatchDraft {
335 message Entry {
336 optional int32 mapid = 1;
337 optional int32 team_id_ct = 2;
338 }
339
340 optional int32 event_id = 1;
341 optional int32 event_stage_id = 2;
342 optional int32 team_id_0 = 3;
343 optional int32 team_id_1 = 4;
344 optional int32 maps_count = 5;
345 optional int32 maps_current = 6;
346 optional int32 team_id_start = 7;
347 optional int32 team_id_veto1 = 8;
348 optional int32 team_id_pickn = 9;
349 repeated .CDataGCCStrike15_v2_TournamentMatchDraft.Entry drafts = 10;
350 }
351
352 message CPreMatchInfoData {
353 message TeamStats {
354 optional int32 match_info_idxtxt = 1;
355 optional string match_info_txt = 2;
356 repeated string match_info_teams = 3;
357 }
358
359 optional int32 predictions_pct = 1;
360 optional .CDataGCCStrike15_v2_TournamentMatchDraft draft = 4;
361 repeated .CPreMatchInfoData.TeamStats stats = 5;
362 }
363
364 message CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve {
365 repeated uint32 account_ids = 1;
366 optional uint32 game_type = 2;
367 optional uint64 match_id = 3;
368 optional uint32 server_version = 4;
369 repeated .PlayerRankingInfo rankings = 5;
370 optional uint64 encryption_key = 6;
371 optional uint64 encryption_key_pub = 7;
372 repeated uint32 party_ids = 8;
373 repeated .IpAddressMask whitelist = 9;
374 optional uint64 tv_master_steamid = 10;
375 optional .TournamentEvent tournament_event = 11;
376 repeated .TournamentTeam tournament_teams = 12;
377 repeated uint32 tournament_casters_account_ids = 13;
378 optional uint64 tv_relay_steamid = 14;
379 optional .CPreMatchInfoData pre_match_data = 15;
380 }
381
382 message CMsgGCCStrike15_v2_MatchmakingServerReservationResponse {
383 optional uint64 reservationid = 1;
384 optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2;
385 optional string map = 3;
386 optional uint64 gc_reservation_sent = 4;
387 optional uint32 server_version = 5;
388 optional .ServerHltvInfo tv_info = 6;
389 repeated uint32 reward_player_accounts = 7;
390 repeated uint32 idle_player_accounts = 8;
391 optional uint32 reward_item_attr_def_idx = 9;
392 optional uint32 reward_item_attr_value = 10;
393 optional uint32 reward_item_attr_reward_idx = 11;
394 optional uint32 reward_drop_list = 12;
395 optional string tournament_tag = 13;
396 optional uint32 steamdatagram_port = 14;
397 }
398
399 message CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve {
400 optional uint64 serverid = 1;
401 optional string server_address = 7;
402 optional uint32 legacy_serverip = 2;
403 optional uint32 legacy_serverport = 3;
404 optional uint64 reservationid = 4;
405 optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 5;
406 optional string map = 6;
407 }
408
409 message CMsgGCCStrike15_v2_MatchmakingServerRoundStats {
410 message DropInfo {
411 optional uint32 account_mvp = 1;
412 }
413
414 optional uint64 reservationid = 1;
415 optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2;
416 optional string map = 3;
417 optional int32 round = 4;
418 repeated int32 kills = 5;
419 repeated int32 assists = 6;
420 repeated int32 deaths = 7;
421 repeated int32 scores = 8;
422 repeated int32 pings = 9;
423 optional int32 round_result = 10;
424 optional int32 match_result = 11;
425 repeated int32 team_scores = 12;
426 optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm confirm = 13;
427 optional int32 reservation_stage = 14;
428 optional int32 match_duration = 15;
429 repeated int32 enemy_kills = 16;
430 repeated int32 enemy_headshots = 17;
431 repeated int32 enemy_3ks = 18;
432 repeated int32 enemy_4ks = 19;
433 repeated int32 enemy_5ks = 20;
434 repeated int32 mvps = 21;
435 optional uint32 spectators_count = 22;
436 optional uint32 spectators_count_tv = 23;
437 optional uint32 spectators_count_lnk = 24;
438 repeated int32 enemy_kills_agg = 25;
439 optional .CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo drop_info = 26;
440 }
441
442 message CMsgGCCStrike15_v2_MatchmakingServerMatchEnd {
443 optional .CMsgGCCStrike15_v2_MatchmakingServerRoundStats stats = 1;
444 optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm confirm = 3;
445 optional uint64 rematch = 4;
446 optional uint32 replay_token = 5;
447 optional uint32 replay_cluster_id = 6;
448 optional bool aborted_match = 7;
449 optional .CMsgGC_ServerQuestUpdateData match_end_quest_data = 8;
450 optional uint32 server_version = 9;
451 }
452
453 message CMsgGCCStrike15_v2_MatchmakingClient2GCHello {
454 }
455
456 message CMsgGCCStrike15_v2_MatchmakingGC2ClientHello {
457 optional uint32 account_id = 1;
458 optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve ongoingmatch = 2;
459 optional .GlobalStatistics global_stats = 3;
460 optional uint32 penalty_seconds = 4;
461 optional uint32 penalty_reason = 5;
462 optional int32 vac_banned = 6;
463 optional .PlayerRankingInfo ranking = 7;
464 optional .PlayerCommendationInfo commendation = 8;
465 optional .PlayerMedalsInfo medals = 9;
466 optional .TournamentEvent my_current_event = 10;
467 repeated .TournamentTeam my_current_event_teams = 11;
468 optional .TournamentTeam my_current_team = 12;
469 repeated .TournamentEvent my_current_event_stages = 13;
470 optional uint32 survey_vote = 14;
471 optional .AccountActivity activity = 15;
472 optional int32 player_level = 17;
473 optional int32 player_cur_xp = 18;
474 optional int32 player_xp_bonus_flags = 19;
475 }
476
477 message CMsgGCCStrike15_v2_AccountPrivacySettings {
478 message Setting {
479 optional uint32 setting_type = 1;
480 optional uint32 setting_value = 2;
481 }
482
483 repeated .CMsgGCCStrike15_v2_AccountPrivacySettings.Setting settings = 1;
484 }
485
486 message CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon {
487 optional uint32 account_id = 1;
488 optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve abandoned_match = 2;
489 optional uint32 penalty_seconds = 3;
490 optional uint32 penalty_reason = 4;
491 }
492
493 message CMsgGCCStrike15_v2_MatchmakingServer2GCKick {
494 optional uint32 account_id = 1;
495 optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2;
496 optional uint32 reason = 3;
497 }
498
499 message CMsgGCCStrike15_v2_MatchmakingGC2ServerRankUpdate {
500 repeated .PlayerRankingInfo rankings = 1;
501 optional uint64 match_id = 2;
502 }
503
504 message CMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate {
505 optional string main_post_url = 1;
506 }
507
508 message CMsgGCCStrike15_v2_ServerNotificationForUserPenalty {
509 optional uint32 account_id = 1;
510 optional uint32 reason = 2;
511 optional uint32 seconds = 3;
512 }
513
514 message CMsgGCCStrike15_v2_ClientReportPlayer {
515 optional uint32 account_id = 1;
516 optional uint32 rpt_aimbot = 2;
517 optional uint32 rpt_wallhack = 3;
518 optional uint32 rpt_speedhack = 4;
519 optional uint32 rpt_teamharm = 5;
520 optional uint32 rpt_textabuse = 6;
521 optional uint32 rpt_voiceabuse = 7;
522 optional uint64 match_id = 8;
523 }
524
525 message CMsgGCCStrike15_v2_ClientCommendPlayer {
526 optional uint32 account_id = 1;
527 optional uint64 match_id = 8;
528 optional .PlayerCommendationInfo commendation = 9;
529 optional uint32 tokens = 10;
530 }
531
532 message CMsgGCCStrike15_v2_ClientReportServer {
533 optional uint32 rpt_poorperf = 1;
534 optional uint32 rpt_abusivemodels = 2;
535 optional uint32 rpt_badmotd = 3;
536 optional uint32 rpt_listingabuse = 4;
537 optional uint32 rpt_inventoryabuse = 5;
538 optional uint64 match_id = 8;
539 }
540
541 message CMsgGCCStrike15_v2_ClientReportResponse {
542 optional uint64 confirmation_id = 1;
543 optional uint32 account_id = 2;
544 optional uint32 server_ip = 3;
545 optional uint32 response_type = 4;
546 optional uint32 response_result = 5;
547 optional uint32 tokens = 6;
548 }
549
550 message CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends {
551 optional uint32 request_id = 1;
552 repeated uint32 account_ids = 2;
553 optional uint64 serverid = 3;
554 optional uint64 matchid = 4;
555 }
556
557 message WatchableMatchInfo {
558 optional uint32 server_ip = 1;
559 optional uint32 tv_port = 2;
560 optional uint32 tv_spectators = 3;
561 optional uint32 tv_time = 4;
562 optional bytes tv_watch_password = 5;
563 optional uint64 cl_decryptdata_key = 6;
564 optional uint64 cl_decryptdata_key_pub = 7;
565 optional uint32 game_type = 8;
566 optional string game_mapgroup = 9;
567 optional string game_map = 10;
568 optional uint64 server_id = 11;
569 optional uint64 match_id = 12;
570 optional uint64 reservation_id = 13;
571 }
572
573 message CMsgGCCStrike15_v2_ClientRequestJoinFriendData {
574 optional uint32 version = 1;
575 optional uint32 account_id = 2;
576 optional uint32 join_token = 3;
577 optional uint32 join_ipp = 4;
578 optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve res = 5;
579 optional string errormsg = 6;
580 }
581
582 message CMsgGCCStrike15_v2_ClientRequestJoinServerData {
583 optional uint32 version = 1;
584 optional uint32 account_id = 2;
585 optional uint64 serverid = 3;
586 optional uint32 server_ip = 4;
587 optional uint32 server_port = 5;
588 optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve res = 6;
589 }
590
591 message CMsgGCCstrike15_v2_ClientRequestNewMission {
592 optional uint32 mission_id = 2;
593 optional uint32 campaign_id = 3;
594 }
595
596 message CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded {
597 repeated .XpProgressData xp_progress_data = 1;
598 optional uint32 account_id = 2;
599 optional uint32 current_xp = 3;
600 optional uint32 current_level = 4;
601 optional uint32 upgraded_defidx = 5;
602 }
603
604 message CMsgGCCStrike15_v2_WatchInfoUsers {
605 optional uint32 request_id = 1;
606 repeated uint32 account_ids = 2;
607 repeated .WatchableMatchInfo watchable_match_infos = 3;
608 optional uint32 extended_timeout = 5;
609 }
610
611 message CMsgGCCStrike15_v2_ClientRequestPlayersProfile {
612 optional uint32 request_id__deprecated = 1;
613 repeated uint32 account_ids__deprecated = 2;
614 optional uint32 account_id = 3;
615 optional uint32 request_level = 4;
616 }
617
618 message CMsgGCCStrike15_v2_PlayersProfile {
619 optional uint32 request_id = 1;
620 repeated .CMsgGCCStrike15_v2_MatchmakingGC2ClientHello account_profiles = 2;
621 }
622
623 message CMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate {
624 optional uint64 caseid = 1;
625 optional uint32 suspectid = 3;
626 optional uint32 fractionid = 4;
627 optional uint32 rpt_aimbot = 5;
628 optional uint32 rpt_wallhack = 6;
629 optional uint32 rpt_speedhack = 7;
630 optional uint32 rpt_teamharm = 8;
631 optional uint32 reason = 9;
632 }
633
634 message CMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment {
635 optional uint64 caseid = 1;
636 optional string caseurl = 2;
637 optional uint32 verdict = 3;
638 optional uint32 timestamp = 4;
639 optional uint32 throttleseconds = 5;
640 optional uint32 suspectid = 6;
641 optional uint32 fractionid = 7;
642 optional uint32 numrounds = 8;
643 optional uint32 fractionrounds = 9;
644 optional int32 streakconvictions = 10;
645 optional uint32 reason = 11;
646 }
647
648 message CMsgGCCStrike15_v2_PlayerOverwatchCaseStatus {
649 optional uint64 caseid = 1;
650 optional uint32 statusid = 2;
651 }
652
653 message CClientHeaderOverwatchEvidence {
654 optional uint32 accountid = 1;
655 optional uint64 caseid = 2;
656 }
657
658 message CMsgGCCStrike15_v2_GC2ClientTextMsg {
659 optional uint32 id = 1;
660 optional uint32 type = 2;
661 optional bytes payload = 3;
662 }
663
664 message CMsgGCCStrike15_v2_Client2GCTextMsg {
665 optional uint32 id = 1;
666 repeated bytes args = 2;
667 }
668
669 message CMsgGCCStrike15_v2_MatchEndRunRewardDrops {
670 optional .CMsgGCCStrike15_v2_MatchmakingServerReservationResponse serverinfo = 3;
671 optional .CMsgGC_ServerQuestUpdateData match_end_quest_data = 4;
672 }
673
674 message CEconItemPreviewDataBlock {
675 message Sticker {
676 optional uint32 slot = 1;
677 optional uint32 sticker_id = 2;
678 optional float wear = 3;
679 optional float scale = 4;
680 optional float rotation = 5;
681 }
682
683 optional uint32 accountid = 1;
684 optional uint64 itemid = 2;
685 optional uint32 defindex = 3;
686 optional uint32 paintindex = 4;
687 optional uint32 rarity = 5;
688 optional uint32 quality = 6;
689 optional uint32 paintwear = 7;
690 optional uint32 paintseed = 8;
691 optional uint32 killeaterscoretype = 9;
692 optional uint32 killeatervalue = 10;
693 optional string customname = 11;
694 repeated .CEconItemPreviewDataBlock.Sticker stickers = 12;
695 optional uint32 inventory = 13;
696 optional uint32 origin = 14;
697 optional uint32 questid = 15;
698 optional uint32 dropreason = 16;
699 }
700
701 message CMsgGCCStrike15_v2_MatchEndRewardDropsNotification {
702 optional .CEconItemPreviewDataBlock iteminfo = 6;
703 }
704
705 message CMsgItemAcknowledged {
706 optional .CEconItemPreviewDataBlock iteminfo = 1;
707 }
708
709 message CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest {
710 optional uint64 param_s = 1;
711 optional uint64 param_a = 2;
712 optional uint64 param_d = 3;
713 optional uint64 param_m = 4;
714 }
715
716 message CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse {
717 optional .CEconItemPreviewDataBlock iteminfo = 1;
718 }
719
720 message CMsgGCCStrike15_v2_TournamentMatchRewardDropsNotification {
721 optional uint64 match_id = 1;
722 optional uint32 defindex = 2;
723 repeated uint32 accountids = 3;
724 }
725
726 message CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames {
727 }
728
729 message CMsgGCCStrike15_v2_MatchListRequestLiveGameForUser {
730 optional uint32 accountid = 1;
731 }
732
733 message CMsgGCCStrike15_v2_MatchListRequestRecentUserGames {
734 optional uint32 accountid = 1;
735 }
736
737 message CMsgGCCStrike15_v2_MatchListRequestTournamentGames {
738 optional int32 eventid = 1;
739 }
740
741 message CMsgGCCStrike15_v2_MatchListRequestFullGameInfo {
742 optional uint64 matchid = 1;
743 optional uint64 outcomeid = 2;
744 optional uint32 token = 3;
745 }
746
747 message CDataGCCStrike15_v2_MatchInfo {
748 optional uint64 matchid = 1;
749 optional uint32 matchtime = 2;
750 optional .WatchableMatchInfo watchablematchinfo = 3;
751 optional .CMsgGCCStrike15_v2_MatchmakingServerRoundStats roundstats_legacy = 4;
752 repeated .CMsgGCCStrike15_v2_MatchmakingServerRoundStats roundstatsall = 5;
753 }
754
755 message CDataGCCStrike15_v2_TournamentGroupTeam {
756 optional int32 team_id = 1;
757 optional int32 score = 2;
758 optional bool correctpick = 3;
759 }
760
761 message CDataGCCStrike15_v2_TournamentGroup {
762 message Picks {
763 repeated int32 pickids = 1;
764 }
765
766 optional uint32 groupid = 1;
767 optional string name = 2;
768 optional string desc = 3;
769 optional uint32 picks__deprecated = 4;
770 repeated .CDataGCCStrike15_v2_TournamentGroupTeam teams = 5;
771 repeated int32 stage_ids = 6;
772 optional uint32 picklockuntiltime = 7;
773 optional uint32 pickableteams = 8;
774 optional uint32 points_per_pick = 9;
775 repeated .CDataGCCStrike15_v2_TournamentGroup.Picks picks = 10;
776 }
777
778 message CDataGCCStrike15_v2_TournamentSection {
779 optional uint32 sectionid = 1;
780 optional string name = 2;
781 optional string desc = 3;
782 repeated .CDataGCCStrike15_v2_TournamentGroup groups = 4;
783 }
784
785 message CDataGCCStrike15_v2_TournamentInfo {
786 repeated .CDataGCCStrike15_v2_TournamentSection sections = 1;
787 optional .TournamentEvent tournament_event = 2;
788 repeated .TournamentTeam tournament_teams = 3;
789 }
790
791 message CMsgGCCStrike15_v2_MatchList {
792 optional uint32 msgrequestid = 1;
793 optional uint32 accountid = 2;
794 optional uint32 servertime = 3;
795 repeated .CDataGCCStrike15_v2_MatchInfo matches = 4;
796 repeated .TournamentTeam streams = 5;
797 optional .CDataGCCStrike15_v2_TournamentInfo tournamentinfo = 6;
798 }
799
800 message CMsgGCCStrike15_v2_Predictions {
801 message GroupMatchTeamPick {
802 optional int32 sectionid = 1;
803 optional int32 groupid = 2;
804 optional int32 index = 3;
805 optional int32 teamid = 4;
806 optional uint64 itemid = 5;
807 }
808
809 optional uint32 event_id = 1;
810 repeated .CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick group_match_team_picks = 2;
811 }
812
813 message CMsgGCCStrike15_v2_Fantasy {
814 message FantasySlot {
815 optional int32 type = 1;
816 optional int32 pick = 2;
817 optional uint64 itemid = 3;
818 }
819
820 message FantasyTeam {
821 optional int32 sectionid = 1;
822 repeated .CMsgGCCStrike15_v2_Fantasy.FantasySlot slots = 2;
823 }
824
825 optional uint32 event_id = 1;
826 repeated .CMsgGCCStrike15_v2_Fantasy.FantasyTeam teams = 2;
827 }
828
829 message CAttribute_String {
830 optional string value = 1;
831 }
832
833 message CMsgGCToGCReloadVersions {
834 }
835
836 message CMsgCStrike15Welcome {
837 optional uint32 store_item_hash = 5;
838 optional uint32 timeplayedconsecutively = 6;
839 optional uint32 time_first_played = 10;
840 optional uint32 last_time_played = 12;
841 optional uint32 last_ip_address = 13;
842 optional uint64 gscookieid = 18;
843 optional uint64 uniqueid = 19;
844 }
845
846 message CMsgGCCStrike15_v2_ClientVarValueNotificationInfo {
847 optional string value_name = 1;
848 optional int32 value_int = 2;
849 optional uint32 server_addr = 3;
850 optional uint32 server_port = 4;
851 repeated string choked_blocks = 5;
852 }
853
854 message CMsgGCCStrike15_v2_ServerVarValueNotificationInfo {
855 optional uint32 accountid = 1;
856 repeated uint32 viewangles = 2;
857 optional uint32 type = 3;
858 }
859
860 message CMsgGCCStrike15_v2_GiftsLeaderboardRequest {
861 }
862
863 message CMsgGCCStrike15_v2_GiftsLeaderboardResponse {
864 message GiftLeaderboardEntry {
865 optional uint32 accountid = 1;
866 optional uint32 gifts = 2;
867 }
868
869 optional uint32 servertime = 1;
870 optional uint32 time_period_seconds = 2;
871 optional uint32 total_gifts_given = 3;
872 optional uint32 total_givers = 4;
873 repeated .CMsgGCCStrike15_v2_GiftsLeaderboardResponse.GiftLeaderboardEntry entries = 5;
874 }
875
876 message CMsgGCCStrike15_v2_ClientSubmitSurveyVote {
877 optional uint32 survey_id = 1;
878 optional uint32 vote = 2;
879 }
880
881 message CMsgGCCStrike15_v2_Server2GCClientValidate {
882 optional uint32 accountid = 1;
883 }
884
885 message CMsgGCCStrike15_v2_Server2GCPureServerValidationFailure {
886 optional uint32 accountid = 1;
887 optional string path = 2;
888 optional string file = 3;
889 optional uint32 crc = 4;
890 optional int32 hash = 5;
891 optional int32 len = 6;
892 optional int32 pack_number = 7;
893 optional int32 pack_file_id = 8;
894 }
895
896 message CMsgGCCStrike15_v2_GC2ClientTournamentInfo {
897 optional uint32 eventid = 1;
898 optional uint32 stageid = 2;
899 optional uint32 game_type = 3;
900 repeated uint32 teamids = 4;
901 }
902
903 message CSOEconCoupon {
904 optional uint32 entryid = 1 [(key_field) = true];
905 optional uint32 defidx = 2;
906 optional fixed32 expiration_date = 3;
907 }
908
909 message CSOQuestProgress {
910 optional uint32 questid = 1 [(key_field) = true];
911 optional uint32 points_remaining = 2;
912 optional uint32 bonus_points = 3;
913 }
914
915 message CSOPersonaDataPublic {
916 optional int32 player_level = 1;
917 optional .PlayerCommendationInfo commendation = 2;
918 }
919
920 message CMsgGC_GlobalGame_Subscribe {
921 optional uint64 ticket = 1;
922 }
923
924 message CMsgGC_GlobalGame_Unsubscribe {
925 optional int32 timeleft = 1;
926 }
927
928 message CMsgGC_GlobalGame_Play {
929 optional uint64 ticket = 1;
930 optional uint32 gametimems = 2;
931 optional uint32 msperpoint = 3;
932 }
933
934 message CMsgGCCStrike15_v2_AcknowledgePenalty {
935 optional int32 acknowledged = 1;
936 }
937
938 message CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin {
939 }
940
941 message CMsgGCCStrike15_v2_Client2GCStreamUnlock {
942 optional uint64 ticket = 1;
943 optional int32 os = 2;
944 }
945