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