-
Notifications
You must be signed in to change notification settings - Fork 156
/
Copy pathsteammessages_clientserver_2.proto
777 lines (651 loc) · 20.1 KB
/
steammessages_clientserver_2.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
syntax = "proto2";
import "steammessages_base.proto";
option optimize_for = SPEED;
option py_generic_services = false;
message CMsgClientUpdateUserGameInfo {
optional fixed64 steamid_idgs = 1;
optional fixed64 gameid = 2;
optional uint32 game_ip = 3;
optional uint32 game_port = 4;
optional bytes token = 5;
}
message CMsgClientRichPresenceUpload {
optional bytes rich_presence_kv = 1;
repeated fixed64 steamid_broadcast = 2;
}
message CMsgClientRichPresenceRequest {
repeated fixed64 steamid_request = 1;
}
message CMsgClientRichPresenceInfo {
message RichPresence {
optional fixed64 steamid_user = 1;
optional bytes rich_presence_kv = 2;
}
repeated .CMsgClientRichPresenceInfo.RichPresence rich_presence = 1;
}
message CMsgClientCheckFileSignature {
optional uint32 app_id = 1;
}
message CMsgClientCheckFileSignatureResponse {
optional uint32 app_id = 1;
optional uint32 pid = 2;
optional uint32 eresult = 3;
optional string filename = 4;
optional uint32 esignatureresult = 5;
optional bytes sha_file = 6;
optional bytes signatureheader = 7;
optional uint32 filesize = 8;
optional uint32 getlasterror = 9;
optional uint32 evalvesignaturecheckdetail = 10;
}
message CMsgClientReadMachineAuth {
optional string filename = 1;
optional uint32 offset = 2;
optional uint32 cubtoread = 3;
}
message CMsgClientReadMachineAuthResponse {
optional string filename = 1;
optional uint32 eresult = 2;
optional uint32 filesize = 3;
optional bytes sha_file = 4;
optional uint32 getlasterror = 5;
optional uint32 offset = 6;
optional uint32 cubread = 7;
optional bytes bytes_read = 8;
optional string filename_sentry = 9;
}
message CMsgClientUpdateMachineAuth {
optional string filename = 1;
optional uint32 offset = 2;
optional uint32 cubtowrite = 3;
optional bytes bytes = 4;
optional uint32 otp_type = 5;
optional string otp_identifier = 6;
optional bytes otp_sharedsecret = 7;
optional uint32 otp_timedrift = 8;
}
message CMsgClientUpdateMachineAuthResponse {
optional string filename = 1;
optional uint32 eresult = 2;
optional uint32 filesize = 3;
optional bytes sha_file = 4;
optional uint32 getlasterror = 5;
optional uint32 offset = 6;
optional uint32 cubwrote = 7;
optional int32 otp_type = 8;
optional uint32 otp_value = 9;
optional string otp_identifier = 10;
}
message CMsgClientRequestMachineAuth {
optional string filename = 1;
optional uint32 eresult_sentryfile = 2;
optional uint32 filesize = 3;
optional bytes sha_sentryfile = 4;
optional int32 lock_account_action = 6;
optional uint32 otp_type = 7;
optional string otp_identifier = 8;
optional bytes otp_sharedsecret = 9;
optional uint32 otp_value = 10;
optional string machine_name = 11;
optional string machine_name_userchosen = 12;
}
message CMsgClientRequestMachineAuthResponse {
optional uint32 eresult = 1;
}
message CMsgClientRegisterKey {
optional string key = 1;
}
message CMsgClientPurchaseResponse {
optional int32 eresult = 1 [default = 2];
optional int32 purchase_result_details = 2;
optional bytes purchase_receipt_info = 3;
}
message CMsgClientActivateOEMLicense {
optional string bios_manufacturer = 1;
optional string bios_serialnumber = 2;
optional bytes license_file = 3;
optional string mainboard_manufacturer = 4;
optional string mainboard_product = 5;
optional string mainboard_serialnumber = 6;
}
message CMsgClientRegisterOEMMachine {
optional bytes oem_register_file = 1;
}
message CMsgClientRegisterOEMMachineResponse {
optional uint32 eresult = 1;
}
message CMsgClientPurchaseWithMachineID {
optional uint32 package_id = 1;
optional bytes machine_info = 2;
}
message CMsgTrading_InitiateTradeRequest {
optional uint32 trade_request_id = 1;
optional uint64 other_steamid = 2;
optional string other_name = 3;
}
message CMsgTrading_InitiateTradeResponse {
optional uint32 response = 1;
optional uint32 trade_request_id = 2;
optional uint64 other_steamid = 3;
optional uint32 steamguard_required_days = 4;
optional uint32 new_device_cooldown_days = 5;
optional uint32 default_password_reset_probation_days = 6;
optional uint32 password_reset_probation_days = 7;
optional uint32 default_email_change_probation_days = 8;
optional uint32 email_change_probation_days = 9;
}
message CMsgTrading_CancelTradeRequest {
optional uint64 other_steamid = 1;
}
message CMsgTrading_StartSession {
optional uint64 other_steamid = 1;
}
message CMsgClientGetCDNAuthToken {
optional uint32 depot_id = 1;
optional string host_name = 2;
optional uint32 app_id = 3;
}
message CMsgClientGetDepotDecryptionKey {
optional uint32 depot_id = 1;
optional uint32 app_id = 2;
}
message CMsgClientGetDepotDecryptionKeyResponse {
optional int32 eresult = 1 [default = 2];
optional uint32 depot_id = 2;
optional bytes depot_encryption_key = 3;
}
message CMsgClientCheckAppBetaPassword {
optional uint32 app_id = 1;
optional string betapassword = 2;
optional int32 language = 3;
}
message CMsgClientCheckAppBetaPasswordResponse {
message BetaPassword {
optional string betaname = 1;
optional string betapassword = 2;
optional string betadescription = 3;
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgClientCheckAppBetaPasswordResponse.BetaPassword betapasswords = 4;
}
message CMsgClientUpdateAppJobReport {
optional uint32 app_id = 1;
repeated uint32 depot_ids = 2;
optional uint32 app_state = 3;
optional uint32 job_app_error = 4;
optional string error_details = 5;
optional uint32 job_duration = 6;
optional uint32 files_validation_failed = 7;
optional uint64 job_bytes_downloaded = 8;
optional uint64 job_bytes_staged = 9;
optional uint64 bytes_comitted = 10;
optional uint32 start_app_state = 11;
optional fixed64 stats_machine_id = 12;
optional string branch_name = 13;
optional uint64 total_bytes_downloaded = 14;
optional uint64 total_bytes_staged = 15;
optional uint64 total_bytes_restored = 16;
optional bool is_borrowed = 17;
optional bool is_free_weekend = 18;
optional uint64 total_bytes_legacy = 19;
optional uint64 total_bytes_patched = 20;
optional uint64 total_bytes_saved = 21;
optional uint32 cell_id = 22;
}
message CMsgClientDPContentStatsReport {
optional fixed64 stats_machine_id = 1;
optional string country_code = 2;
optional int32 os_type = 3;
optional int32 language = 4;
optional uint32 num_install_folders = 5;
optional uint32 num_installed_games = 6;
optional uint64 size_installed_games = 7;
}
message CMsgClientGetCDNAuthTokenResponse {
optional uint32 eresult = 1 [default = 2];
optional string token = 2;
optional uint32 expiration_time = 3;
}
message CMsgDownloadRateStatistics {
message StatsInfo {
optional uint32 source_type = 1;
optional uint32 source_id = 2;
optional uint32 seconds = 3;
optional uint64 bytes = 4;
optional string host_name = 5;
optional uint64 microseconds = 6;
optional bool used_ipv6 = 7;
optional bool proxied = 8;
}
optional uint32 cell_id = 1;
repeated .CMsgDownloadRateStatistics.StatsInfo stats = 2;
optional uint32 throttling_kbps = 3;
optional uint32 steam_realm = 4;
}
message CMsgClientRequestAccountData {
optional string account_or_email = 1;
optional uint32 action = 2;
}
message CMsgClientRequestAccountDataResponse {
optional uint32 action = 1;
optional uint32 eresult = 2;
optional string account_name = 3;
optional uint32 ct_matches = 4;
optional string account_name_suggestion1 = 5;
optional string account_name_suggestion2 = 6;
optional string account_name_suggestion3 = 7;
}
message CMsgClientUGSGetGlobalStats {
optional uint64 gameid = 1;
optional uint32 history_days_requested = 2;
optional fixed32 time_last_requested = 3;
optional uint32 first_day_cached = 4;
optional uint32 days_cached = 5;
}
message CMsgClientUGSGetGlobalStatsResponse {
message Day {
message Stat {
optional int32 stat_id = 1;
optional int64 data = 2;
}
optional uint32 day_id = 1;
repeated .CMsgClientUGSGetGlobalStatsResponse.Day.Stat stats = 2;
}
optional int32 eresult = 1 [default = 2];
optional fixed32 timestamp = 2;
optional int32 day_current = 3;
repeated .CMsgClientUGSGetGlobalStatsResponse.Day days = 4;
}
message CMsgClientRedeemGuestPass {
optional fixed64 guest_pass_id = 1;
}
message CMsgClientRedeemGuestPassResponse {
optional uint32 eresult = 1 [default = 2];
optional uint32 package_id = 2;
optional uint32 must_own_appid = 3;
}
message CMsgClientGetClanActivityCounts {
repeated uint64 steamid_clans = 1;
}
message CMsgClientGetClanActivityCountsResponse {
optional uint32 eresult = 1 [default = 2];
}
message CMsgClientOGSReportString {
optional bool accumulated = 1;
optional uint64 sessionid = 2;
optional int32 severity = 3;
optional string formatter = 4;
optional bytes varargs = 5;
}
message CMsgClientOGSReportBug {
optional uint64 sessionid = 1;
optional string bugtext = 2;
optional bytes screenshot = 3;
}
message CMsgClientSentLogs {
}
message CMsgGCClient {
optional uint32 appid = 1;
optional uint32 msgtype = 2;
optional bytes payload = 3;
optional fixed64 steamid = 4;
optional string gcname = 5;
optional uint32 ip = 6;
}
message CMsgClientRequestFreeLicense {
repeated uint32 appids = 2;
}
message CMsgClientRequestFreeLicenseResponse {
optional uint32 eresult = 1 [default = 2];
repeated uint32 granted_packageids = 2;
repeated uint32 granted_appids = 3;
}
message CMsgDRMDownloadRequestWithCrashData {
optional uint32 download_flags = 1;
optional uint32 download_types_known = 2;
optional bytes guid_drm = 3;
optional bytes guid_split = 4;
optional bytes guid_merge = 5;
optional string module_name = 6;
optional string module_path = 7;
optional bytes crash_data = 8;
}
message CMsgDRMDownloadResponse {
optional uint32 eresult = 1 [default = 2];
optional uint32 app_id = 2;
optional uint32 blob_download_type = 3;
optional bytes merge_guid = 4;
optional uint32 download_file_dfs_ip = 5;
optional uint32 download_file_dfs_port = 6;
optional string download_file_url = 7;
optional string module_path = 8;
}
message CMsgDRMFinalResult {
optional uint32 eResult = 1 [default = 2];
optional uint32 app_id = 2;
optional uint32 blob_download_type = 3;
optional uint32 error_detail = 4;
optional bytes merge_guid = 5;
optional uint32 download_file_dfs_ip = 6;
optional uint32 download_file_dfs_port = 7;
optional string download_file_url = 8;
}
message CMsgClientDPCheckSpecialSurvey {
optional uint32 survey_id = 1;
}
message CMsgClientDPCheckSpecialSurveyResponse {
optional uint32 eResult = 1 [default = 2];
optional uint32 state = 2;
optional string name = 3;
optional string custom_url = 4;
optional bool include_software = 5;
optional bytes token = 6;
}
message CMsgClientDPSendSpecialSurveyResponse {
optional uint32 survey_id = 1;
optional bytes data = 2;
}
message CMsgClientDPSendSpecialSurveyResponseReply {
optional uint32 eResult = 1 [default = 2];
optional bytes token = 2;
}
message CMsgClientRequestForgottenPasswordEmail {
optional string account_name = 1;
optional string password_tried = 2;
}
message CMsgClientRequestForgottenPasswordEmailResponse {
optional uint32 eResult = 1;
optional bool use_secret_question = 2;
}
message CMsgClientItemAnnouncements {
message UnseenItem {
optional uint32 appid = 1;
optional uint64 context_id = 2;
optional uint64 asset_id = 3;
optional uint64 amount = 4;
optional fixed32 rtime32_gained = 5;
optional uint32 source_appid = 6;
}
optional uint32 count_new_items = 1;
repeated .CMsgClientItemAnnouncements.UnseenItem unseen_items = 2;
}
message CMsgClientRequestItemAnnouncements {
}
message CMsgClientUserNotifications {
message Notification {
optional uint32 user_notification_type = 1;
optional uint32 count = 2;
}
repeated .CMsgClientUserNotifications.Notification notifications = 1;
}
message CMsgClientCommentNotifications {
optional uint32 count_new_comments = 1;
optional uint32 count_new_comments_owner = 2;
optional uint32 count_new_comments_subscriptions = 3;
}
message CMsgClientRequestCommentNotifications {
}
message CMsgClientOfflineMessageNotification {
optional uint32 offline_messages = 1;
repeated uint32 friends_with_offline_messages = 2;
}
message CMsgClientRequestOfflineMessageCount {
}
message CMsgClientChatGetFriendMessageHistory {
optional fixed64 steamid = 1;
}
message CMsgClientChatGetFriendMessageHistoryResponse {
message FriendMessage {
optional uint32 accountid = 1;
optional uint32 timestamp = 2;
optional string message = 3;
optional bool unread = 4;
}
optional fixed64 steamid = 1;
optional uint32 success = 2;
repeated .CMsgClientChatGetFriendMessageHistoryResponse.FriendMessage messages = 3;
}
message CMsgClientChatGetFriendMessageHistoryForOfflineMessages {
}
message CMsgClientFSGetFriendsSteamLevels {
repeated uint32 accountids = 1;
}
message CMsgClientFSGetFriendsSteamLevelsResponse {
message Friend {
optional uint32 accountid = 1;
optional uint32 level = 2;
}
repeated .CMsgClientFSGetFriendsSteamLevelsResponse.Friend friends = 1;
}
message CMsgClientEmailAddrInfo {
optional string email_address = 1;
optional bool email_is_validated = 2;
optional bool email_validation_changed = 3;
optional bool credential_change_requires_code = 4;
optional bool password_or_secretqa_change_requires_code = 5;
optional bool remind_user_about_email = 6;
}
message CMsgCREItemVoteSummary {
message PublishedFileId {
optional fixed64 published_file_id = 1;
}
repeated .CMsgCREItemVoteSummary.PublishedFileId published_file_ids = 1;
}
message CMsgCREItemVoteSummaryResponse {
message ItemVoteSummary {
optional fixed64 published_file_id = 1;
optional int32 votes_for = 2;
optional int32 votes_against = 3;
optional int32 reports = 4;
optional float score = 5;
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgCREItemVoteSummaryResponse.ItemVoteSummary item_vote_summaries = 2;
}
message CMsgCREUpdateUserPublishedItemVote {
optional fixed64 published_file_id = 1;
optional bool vote_up = 2;
}
message CMsgCREUpdateUserPublishedItemVoteResponse {
optional int32 eresult = 1 [default = 2];
}
message CMsgCREGetUserPublishedItemVoteDetails {
message PublishedFileId {
optional fixed64 published_file_id = 1;
}
repeated .CMsgCREGetUserPublishedItemVoteDetails.PublishedFileId published_file_ids = 1;
}
message CMsgCREGetUserPublishedItemVoteDetailsResponse {
message UserItemVoteDetail {
optional fixed64 published_file_id = 1;
optional int32 vote = 2 [default = 0];
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgCREGetUserPublishedItemVoteDetailsResponse.UserItemVoteDetail user_item_vote_details = 2;
}
message CMsgFSGetFollowerCount {
optional fixed64 steam_id = 1;
}
message CMsgFSGetFollowerCountResponse {
optional int32 eresult = 1 [default = 2];
optional int32 count = 2 [default = 0];
}
message CMsgFSGetIsFollowing {
optional fixed64 steam_id = 1;
}
message CMsgFSGetIsFollowingResponse {
optional int32 eresult = 1 [default = 2];
optional bool is_following = 2 [default = false];
}
message CMsgFSEnumerateFollowingList {
optional uint32 start_index = 1;
}
message CMsgFSEnumerateFollowingListResponse {
optional int32 eresult = 1 [default = 2];
optional int32 total_results = 2;
repeated fixed64 steam_ids = 3;
}
message CMsgDPGetNumberOfCurrentPlayers {
optional uint32 appid = 1;
}
message CMsgDPGetNumberOfCurrentPlayersResponse {
optional int32 eresult = 1 [default = 2];
optional int32 player_count = 2;
}
message CMsgClientFriendUserStatusPublished {
optional fixed64 friend_steamid = 1;
optional uint32 appid = 2;
optional string status_text = 3;
}
message CMsgClientServiceMethodLegacy {
optional string method_name = 1;
optional bytes serialized_method = 2;
optional bool is_notification = 3;
}
message CMsgClientServiceMethodLegacyResponse {
optional string method_name = 1;
optional bytes serialized_method_response = 2;
}
message CMsgClientUIMode {
optional uint32 uimode = 1;
optional uint32 chat_mode = 2;
}
message CMsgClientVanityURLChangedNotification {
optional string vanity_url = 1;
}
message CMsgClientAuthorizeLocalDeviceRequest {
optional string device_description = 1;
optional uint32 owner_account_id = 2;
optional uint64 local_device_token = 3;
}
message CMsgClientAuthorizeLocalDevice {
optional int32 eresult = 1 [default = 2];
optional uint32 owner_account_id = 2;
optional uint64 authed_device_token = 3;
}
message CMsgClientAuthorizeLocalDeviceNotification {
optional int32 eresult = 1 [default = 2];
optional uint32 owner_account_id = 2;
optional uint64 local_device_token = 3;
}
message CMsgClientDeauthorizeDeviceRequest {
optional uint32 deauthorization_account_id = 1;
optional uint64 deauthorization_device_token = 2;
}
message CMsgClientDeauthorizeDevice {
optional int32 eresult = 1 [default = 2];
optional uint32 deauthorization_account_id = 2;
}
message CMsgClientUseLocalDeviceAuthorizations {
message DeviceToken {
optional uint32 owner_account_id = 1;
optional uint64 token_id = 2;
}
repeated uint32 authorization_account_id = 1;
repeated .CMsgClientUseLocalDeviceAuthorizations.DeviceToken device_tokens = 2;
}
message CMsgClientGetAuthorizedDevices {
}
message CMsgClientGetAuthorizedDevicesResponse {
message AuthorizedDevice {
optional uint64 auth_device_token = 1;
optional string device_name = 2;
optional uint32 last_access_time = 3;
optional uint32 borrower_id = 4;
optional bool is_pending = 5;
optional uint32 app_played = 6;
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgClientGetAuthorizedDevicesResponse.AuthorizedDevice authorized_device = 2;
}
message CMsgClientSharedLibraryLockStatus {
message LockedLibrary {
optional uint32 owner_id = 1;
optional uint32 locked_by = 2;
}
repeated .CMsgClientSharedLibraryLockStatus.LockedLibrary locked_library = 1;
optional uint32 own_library_locked_by = 2;
}
message CMsgClientSharedLibraryStopPlaying {
message StopApp {
optional uint32 app_id = 1;
optional uint32 owner_id = 2;
}
optional int32 seconds_left = 1;
repeated .CMsgClientSharedLibraryStopPlaying.StopApp stop_apps = 2;
}
message CMsgClientServiceCall {
optional bytes sysid_routing = 1;
optional uint32 call_handle = 2;
optional uint32 module_crc = 3;
optional bytes module_hash = 4;
optional uint32 function_id = 5;
optional uint32 cub_output_max = 6;
optional uint32 flags = 7;
optional bytes callparameter = 8;
optional bool ping_only = 9;
optional uint32 max_outstanding_calls = 10;
optional uint32 app_id = 11;
}
message CMsgClientServiceModule {
optional uint32 module_crc = 1;
optional bytes module_hash = 2;
optional bytes module_content = 3;
}
message CMsgClientServiceCallResponse {
optional bytes sysid_routing = 1;
optional uint32 call_handle = 2;
optional uint32 module_crc = 3;
optional bytes module_hash = 4;
optional uint32 ecallresult = 5;
optional bytes result_content = 6;
optional bytes os_version_info = 7;
optional bytes system_info = 8;
optional fixed64 load_address = 9;
optional bytes exception_record = 10;
optional bytes portable_os_version_info = 11;
optional bytes portable_system_info = 12;
optional bool was_converted = 13;
optional uint32 internal_result = 14;
optional uint32 current_count = 15;
optional uint32 last_call_handle = 16;
optional uint32 last_call_module_crc = 17;
optional bytes last_call_sysid_routing = 18;
optional uint32 last_ecallresult = 19;
optional uint32 last_callissue_delta = 20;
optional uint32 last_callcomplete_delta = 21;
}
message CMsgAMUnlockStreaming {
}
message CMsgAMUnlockStreamingResponse {
optional int32 eresult = 1 [default = 2];
optional bytes encryption_key = 2;
}
message CMsgAMUnlockHEVC {
}
message CMsgAMUnlockHEVCResponse {
optional int32 eresult = 1 [default = 2];
}
message CMsgClientPlayingSessionState {
optional bool playing_blocked = 2;
optional uint32 playing_app = 3;
}
message CMsgClientKickPlayingSession {
optional bool only_stop_game = 1;
}
message CMsgClientVoiceCallPreAuthorize {
optional fixed64 caller_steamid = 1;
optional fixed64 receiver_steamid = 2;
optional int32 caller_id = 3;
optional bool hangup = 4;
}
message CMsgClientVoiceCallPreAuthorizeResponse {
optional fixed64 caller_steamid = 1;
optional fixed64 receiver_steamid = 2;
optional int32 eresult = 3 [default = 2];
optional int32 caller_id = 4;
}
message CMsgBadgeCraftedNotification {
optional uint32 appid = 1;
optional uint32 badge_level = 2;
}