-
Notifications
You must be signed in to change notification settings - Fork 156
/
Copy pathsteammessages_player.proto
921 lines (735 loc) · 32.7 KB
/
steammessages_player.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
syntax = "proto2";
import "steammessages_base.proto";
import "steammessages_unified_base.proto";
import "enums.proto";
option py_generic_services = true;
enum EProfileCustomizationStyle {
k_EProfileCustomizationStyleDefault = 0;
k_EProfileCustomizationStyleSelected = 1;
k_EProfileCustomizationStyleRarest = 2;
k_EProfileCustomizationStyleMostRecent = 3;
k_EProfileCustomizationStyleRandom = 4;
k_EProfileCustomizationStyleHighestRated = 5;
}
enum EAgreementType {
k_EAgreementType_Invalid = -1;
k_EAgreementType_GlobalSSA = 0;
k_EAgreementType_ChinaSSA = 1;
}
enum ENotificationSetting {
k_ENotificationSettingNotifyUseDefault = 0;
k_ENotificationSettingAlways = 1;
k_ENotificationSettingNever = 2;
}
enum ETextFilterSetting {
k_ETextFilterSettingSteamLabOptedOut = 0;
k_ETextFilterSettingEnabled = 1;
k_ETextFilterSettingEnabledAllowProfanity = 2;
k_ETextFilterSettingDisabled = 3;
}
message CPlayer_GetMutualFriendsForIncomingInvites_Request {
}
message CPlayer_IncomingInviteMutualFriendList {
optional fixed64 steamid = 1;
repeated uint32 mutual_friend_account_ids = 2;
}
message CPlayer_GetMutualFriendsForIncomingInvites_Response {
repeated .CPlayer_IncomingInviteMutualFriendList incoming_invite_mutual_friends_lists = 1;
}
message CPlayer_GetOwnedGames_Request {
optional uint64 steamid = 1 [(description) = "The player we're asking about"];
optional bool include_appinfo = 2 [(description) = "true if we want additional details (name, icon) about each game"];
optional bool include_played_free_games = 3 [(description) = "Free games are excluded by default. If this is set, free games the user has played will be returned."];
repeated uint32 appids_filter = 4 [(description) = "if set, restricts result set to the passed in apps"];
optional bool include_free_sub = 5 [(description) = "Some games are in the free sub, which are excluded by default."];
optional bool skip_unvetted_apps = 6 [default = true, (description) = "if set, skip unvetted store apps"];
optional string language = 7 [(description) = "Will return appinfo in this language"];
optional bool include_extended_appinfo = 8 [(description) = "true if we want even more details (capsule, sortas, and capabilities) about each game. include_appinfo must also be true."];
}
message CPlayer_GetOwnedGames_Response {
message Game {
optional int32 appid = 1;
optional string name = 2;
optional int32 playtime_2weeks = 3;
optional int32 playtime_forever = 4;
optional string img_icon_url = 5;
optional bool has_community_visible_stats = 7;
optional int32 playtime_windows_forever = 8;
optional int32 playtime_mac_forever = 9;
optional int32 playtime_linux_forever = 10;
optional uint32 rtime_last_played = 11;
optional string capsule_filename = 12;
optional string sort_as = 13;
optional bool has_workshop = 14;
optional bool has_market = 15;
optional bool has_dlc = 16;
}
optional uint32 game_count = 1;
repeated .CPlayer_GetOwnedGames_Response.Game games = 2;
}
message CPlayer_GetPlayNext_Request {
optional uint32 max_age_seconds = 1;
repeated uint32 ignore_appids = 2;
}
message CPlayer_GetPlayNext_Response {
optional uint32 last_update_time = 1;
repeated uint32 appids = 2;
}
message CPlayer_GetFriendsGameplayInfo_Request {
optional uint32 appid = 1;
}
message CPlayer_GetFriendsGameplayInfo_Response {
message FriendsGameplayInfo {
optional fixed64 steamid = 1;
optional uint32 minutes_played = 2;
optional uint32 minutes_played_forever = 3;
}
message OwnGameplayInfo {
optional fixed64 steamid = 1;
optional uint32 minutes_played = 2;
optional uint32 minutes_played_forever = 3;
optional bool in_wishlist = 4;
optional bool owned = 5;
}
optional .CPlayer_GetFriendsGameplayInfo_Response.OwnGameplayInfo your_info = 1;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo in_game = 2;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo played_recently = 3;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo played_ever = 4;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo owns = 5;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo in_wishlist = 6;
}
message CPlayer_GetGameBadgeLevels_Request {
optional uint32 appid = 1;
}
message CPlayer_GetGameBadgeLevels_Response {
message Badge {
optional int32 level = 1;
optional int32 series = 2;
optional uint32 border_color = 3;
}
optional uint32 player_level = 1;
repeated .CPlayer_GetGameBadgeLevels_Response.Badge badges = 2;
}
message CPlayer_GetProfileBackground_Request {
optional fixed64 steamid = 1 [(description) = "The player we're asking about"];
optional string language = 2;
}
message ProfileItem {
optional uint64 communityitemid = 1;
optional string image_small = 2 [(description) = "small image used in backpack or selection"];
optional string image_large = 3 [(description) = "the image itself"];
optional string name = 4 [(description) = "english name"];
optional string item_title = 5 [(description) = "localized title"];
optional string item_description = 6 [(description) = "localized description"];
optional uint32 appid = 7;
optional uint32 item_type = 8;
optional uint32 item_class = 9;
optional string movie_webm = 10 [(description) = "URL to webm, if any"];
optional string movie_mp4 = 11 [(description) = "URL to mp4, if any"];
optional string movie_webm_small = 13 [(description) = "URL to small webm, if any"];
optional string movie_mp4_small = 14 [(description) = "URL to small mp4, if any"];
optional uint32 equipped_flags = 12 [(description) = "Special flags set when equipped (EProfileItemEquippedFlag)"];
}
message CPlayer_GetProfileBackground_Response {
optional .ProfileItem profile_background = 1;
}
message CPlayer_SetProfileBackground_Request {
optional uint64 communityitemid = 1;
}
message CPlayer_SetProfileBackground_Response {
}
message CPlayer_GetMiniProfileBackground_Request {
optional fixed64 steamid = 1 [(description) = "The player we're asking about"];
optional string language = 2;
}
message CPlayer_GetMiniProfileBackground_Response {
optional .ProfileItem profile_background = 1;
}
message CPlayer_SetMiniProfileBackground_Request {
optional uint64 communityitemid = 1;
}
message CPlayer_SetMiniProfileBackground_Response {
}
message CPlayer_GetAvatarFrame_Request {
optional fixed64 steamid = 1 [(description) = "The player we're asking about"];
optional string language = 2;
}
message CPlayer_GetAvatarFrame_Response {
optional .ProfileItem avatar_frame = 1;
}
message CPlayer_SetAvatarFrame_Request {
optional uint64 communityitemid = 1;
}
message CPlayer_SetAvatarFrame_Response {
}
message CPlayer_GetAnimatedAvatar_Request {
optional fixed64 steamid = 1 [(description) = "The player we're asking about"];
optional string language = 2;
}
message CPlayer_GetAnimatedAvatar_Response {
optional .ProfileItem avatar = 1;
}
message CPlayer_SetAnimatedAvatar_Request {
optional uint64 communityitemid = 1;
}
message CPlayer_SetAnimatedAvatar_Response {
}
message CPlayer_GetSteamDeckKeyboardSkin_Request {
optional fixed64 steamid = 1 [(description) = "The player we're asking about"];
optional string language = 2;
}
message CPlayer_GetSteamDeckKeyboardSkin_Response {
optional .ProfileItem steam_deck_keyboard_skin = 1;
}
message CPlayer_SetSteamDeckKeyboardSkin_Request {
optional uint64 communityitemid = 1;
}
message CPlayer_SetSteamDeckKeyboardSkin_Response {
}
message CPlayer_GetProfileItemsOwned_Request {
optional string language = 1;
repeated .ECommunityItemClass filters = 2;
}
message CPlayer_GetProfileItemsOwned_Response {
repeated .ProfileItem profile_backgrounds = 1;
repeated .ProfileItem mini_profile_backgrounds = 2;
repeated .ProfileItem avatar_frames = 3;
repeated .ProfileItem animated_avatars = 4;
repeated .ProfileItem profile_modifiers = 5;
repeated .ProfileItem steam_deck_keyboard_skins = 6;
}
message CPlayer_GetProfileItemsEquipped_Request {
optional fixed64 steamid = 1;
optional string language = 2;
}
message CPlayer_GetProfileItemsEquipped_Response {
optional .ProfileItem profile_background = 1;
optional .ProfileItem mini_profile_background = 2;
optional .ProfileItem avatar_frame = 3;
optional .ProfileItem animated_avatar = 4;
optional .ProfileItem profile_modifier = 5;
optional .ProfileItem steam_deck_keyboard_skin = 6;
}
message CPlayer_SetEquippedProfileItemFlags_Request {
optional uint64 communityitemid = 1;
optional uint32 flags = 2 [(description) = "Set of EProfileItemEquippedFlag"];
}
message CPlayer_SetEquippedProfileItemFlags_Response {
}
message CPlayer_GetEmoticonList_Request {
}
message CPlayer_GetEmoticonList_Response {
message Emoticon {
optional string name = 1;
optional int32 count = 2;
optional uint32 time_last_used = 3;
optional uint32 use_count = 4;
optional uint32 time_received = 5;
optional uint32 appid = 6;
}
repeated .CPlayer_GetEmoticonList_Response.Emoticon emoticons = 1;
}
message CPlayer_GetAchievementsProgress_Request {
optional uint64 steamid = 1;
optional string language = 2;
repeated uint32 appids = 3;
}
message CPlayer_GetAchievementsProgress_Response {
message AchievementProgress {
optional uint32 appid = 1;
optional uint32 unlocked = 2;
optional uint32 total = 3;
optional float percentage = 4;
optional bool all_unlocked = 5;
optional uint32 cache_time = 6;
}
repeated .CPlayer_GetAchievementsProgress_Response.AchievementProgress achievement_progress = 1;
}
message CPlayer_GetFavoriteBadge_Request {
optional uint64 steamid = 1;
}
message CPlayer_GetFavoriteBadge_Response {
optional bool has_favorite_badge = 1;
optional uint32 badgeid = 2;
optional uint64 communityitemid = 3;
optional uint32 item_type = 4;
optional uint32 border_color = 5;
optional uint32 appid = 6;
optional uint32 level = 7;
}
message CPlayer_SetFavoriteBadge_Request {
optional uint64 communityitemid = 1;
optional uint32 badgeid = 2;
}
message CPlayer_SetFavoriteBadge_Response {
}
message CPlayer_GetProfileCustomization_Request {
optional fixed64 steamid = 1;
optional bool include_inactive_customizations = 2;
optional bool include_purchased_customizations = 3;
}
message ProfileCustomizationSlot {
optional uint32 slot = 1;
optional uint32 appid = 2;
optional uint64 publishedfileid = 3;
optional uint64 item_assetid = 4;
optional uint64 item_contextid = 5;
optional string notes = 6;
optional string title = 7;
optional uint32 accountid = 8;
optional uint32 badgeid = 9;
optional uint32 border_color = 10;
optional uint64 item_classid = 11;
optional uint64 item_instanceid = 12;
optional .EBanContentCheckResult ban_check_result = 13 [default = k_EBanContentCheckResult_NotScanned];
}
message ProfileCustomization {
optional .EProfileCustomizationType customization_type = 1 [default = k_EProfileCustomizationTypeInvalid];
optional bool large = 2;
repeated .ProfileCustomizationSlot slots = 3;
optional bool active = 4;
optional .EProfileCustomizationStyle customization_style = 5 [default = k_EProfileCustomizationStyleDefault];
optional uint64 purchaseid = 6;
optional uint32 level = 7;
}
message ProfileTheme {
optional string theme_id = 1;
optional string title = 2;
}
message ProfilePreferences {
optional bool hide_profile_awards = 1;
}
message CPlayer_GetProfileCustomization_Response {
message PurchasedCustomization {
optional uint64 purchaseid = 1;
optional .EProfileCustomizationType customization_type = 2 [default = k_EProfileCustomizationTypeInvalid];
optional uint32 level = 3;
}
repeated .ProfileCustomization customizations = 1;
optional uint32 slots_available = 2;
optional .ProfileTheme profile_theme = 3;
repeated .CPlayer_GetProfileCustomization_Response.PurchasedCustomization purchased_customizations = 4;
optional .ProfilePreferences profile_preferences = 5;
}
message CPlayer_GetPurchasedProfileCustomizations_Request {
optional fixed64 steamid = 1;
}
message CPlayer_GetPurchasedProfileCustomizations_Response {
message PurchasedCustomization {
optional uint64 purchaseid = 1;
optional .EProfileCustomizationType customization_type = 2 [default = k_EProfileCustomizationTypeInvalid];
}
repeated .CPlayer_GetPurchasedProfileCustomizations_Response.PurchasedCustomization purchased_customizations = 1;
}
message CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Request {
optional fixed64 steamid = 1;
}
message CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response {
message PurchasedCustomization {
optional .EProfileCustomizationType customization_type = 1 [default = k_EProfileCustomizationTypeInvalid];
optional uint32 count = 2;
}
message UpgradedCustomization {
optional .EProfileCustomizationType customization_type = 1 [default = k_EProfileCustomizationTypeInvalid];
optional uint32 level = 2;
}
repeated .CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response.PurchasedCustomization purchased_customizations = 1;
repeated .CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response.UpgradedCustomization upgraded_customizations = 2;
}
message CPlayer_GetProfileThemesAvailable_Request {
}
message CPlayer_GetProfileThemesAvailable_Response {
repeated .ProfileTheme profile_themes = 1;
}
message CPlayer_SetProfileTheme_Request {
optional string theme_id = 1;
}
message CPlayer_SetProfileTheme_Response {
}
message CPlayer_SetProfilePreferences_Request {
optional .ProfilePreferences profile_preferences = 1;
}
message CPlayer_SetProfilePreferences_Response {
}
message CPlayer_PostStatusToFriends_Request {
optional uint32 appid = 1;
optional string status_text = 2;
}
message CPlayer_PostStatusToFriends_Response {
}
message CPlayer_GetPostedStatus_Request {
optional uint64 steamid = 1 [(description) = "The player we're asking about"];
optional uint64 postid = 2;
}
message CPlayer_GetPostedStatus_Response {
optional uint32 accountid = 1;
optional uint64 postid = 2;
optional string status_text = 3;
optional bool deleted = 4;
optional uint32 appid = 5;
}
message CPlayer_DeletePostedStatus_Request {
optional uint64 postid = 1;
}
message CPlayer_DeletePostedStatus_Response {
}
message CPlayer_GetLastPlayedTimes_Request {
optional uint32 min_last_played = 1 [(description) = "The most recent last-played time the client already knows about"];
}
message CPlayer_GetLastPlayedTimes_Response {
message Game {
optional int32 appid = 1;
optional uint32 last_playtime = 2;
optional int32 playtime_2weeks = 3;
optional int32 playtime_forever = 4;
optional uint32 first_playtime = 5;
optional int32 playtime_windows_forever = 6;
optional int32 playtime_mac_forever = 7;
optional int32 playtime_linux_forever = 8;
optional uint32 first_windows_playtime = 9;
optional uint32 first_mac_playtime = 10;
optional uint32 first_linux_playtime = 11;
optional uint32 last_windows_playtime = 12;
optional uint32 last_mac_playtime = 13;
optional uint32 last_linux_playtime = 14;
}
repeated .CPlayer_GetLastPlayedTimes_Response.Game games = 1;
}
message CPlayer_GetTimeSSAAccepted_Request {
}
message CPlayer_GetTimeSSAAccepted_Response {
optional uint32 time_ssa_accepted = 1;
optional uint32 time_ssa_updated = 2;
optional uint32 time_chinassa_accepted = 3;
}
message CPlayer_AcceptSSA_Request {
optional .EAgreementType agreement_type = 1 [default = k_EAgreementType_Invalid];
optional uint32 time_signed_utc = 2;
}
message CPlayer_AcceptSSA_Response {
}
message CPlayer_GetNicknameList_Request {
}
message CPlayer_GetNicknameList_Response {
message PlayerNickname {
optional fixed32 accountid = 1;
optional string nickname = 2;
}
repeated .CPlayer_GetNicknameList_Response.PlayerNickname nicknames = 1;
}
message CPlayer_GetPerFriendPreferences_Request {
}
message PerFriendPreferences {
optional fixed32 accountid = 1;
optional string nickname = 2;
optional .ENotificationSetting notifications_showingame = 3 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting notifications_showonline = 4 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting notifications_showmessages = 5 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting sounds_showingame = 6 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting sounds_showonline = 7 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting sounds_showmessages = 8 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting notifications_sendmobile = 9 [default = k_ENotificationSettingNotifyUseDefault];
}
message CPlayer_GetPerFriendPreferences_Response {
repeated .PerFriendPreferences preferences = 1;
}
message CPlayer_SetPerFriendPreferences_Request {
optional .PerFriendPreferences preferences = 1;
}
message CPlayer_SetPerFriendPreferences_Response {
}
message CPlayer_AddFriend_Request {
optional fixed64 steamid = 1 [(description) = "Steam ID of user to whom to send a friend invite."];
}
message CPlayer_AddFriend_Response {
optional bool invite_sent = 1 [(description) = "True if the operation was successful, false otherwise."];
optional uint32 friend_relationship = 2 [(description) = "the resulting relationship. Depending on state, may move directly to friends rather than invite sent"];
optional int32 result = 3;
}
message CPlayer_RemoveFriend_Request {
optional fixed64 steamid = 1 [(description) = "Steam ID of friend to remove."];
}
message CPlayer_RemoveFriend_Response {
optional uint32 friend_relationship = 1 [(description) = "the resulting relationship"];
}
message CPlayer_IgnoreFriend_Request {
optional fixed64 steamid = 1;
optional bool unignore = 2 [(description) = "If set, remove from ignore/block list instead of adding "];
}
message CPlayer_IgnoreFriend_Response {
optional uint32 friend_relationship = 1 [(description) = "the resulting relationship"];
}
message CPlayer_GetCommunityPreferences_Request {
}
message CPlayer_CommunityPreferences {
optional bool hide_adult_content_violence = 1 [default = true];
optional bool hide_adult_content_sex = 2 [default = true];
optional bool parenthesize_nicknames = 4 [default = false];
optional .ETextFilterSetting text_filter_setting = 5 [default = k_ETextFilterSettingSteamLabOptedOut];
optional bool text_filter_ignore_friends = 6 [default = true];
optional uint32 text_filter_words_revision = 7;
optional uint32 timestamp_updated = 3;
}
message CPlayer_GetCommunityPreferences_Response {
optional .CPlayer_CommunityPreferences preferences = 1;
}
message CPlayer_SetCommunityPreferences_Request {
optional .CPlayer_CommunityPreferences preferences = 1;
}
message CPlayer_SetCommunityPreferences_Response {
}
message CPlayer_GetTextFilterWords_Request {
}
message CPlayer_TextFilterWords {
repeated string text_filter_custom_banned_words = 1;
repeated string text_filter_custom_clean_words = 2;
optional uint32 text_filter_words_revision = 3;
}
message CPlayer_GetTextFilterWords_Response {
optional .CPlayer_TextFilterWords words = 1;
}
message CPlayer_GetNewSteamAnnouncementState_Request {
optional int32 language = 1;
}
message CPlayer_GetNewSteamAnnouncementState_Response {
optional int32 state = 1;
optional string announcement_headline = 2;
optional string announcement_url = 3;
optional uint32 time_posted = 4;
optional uint64 announcement_gid = 5;
}
message CPlayer_UpdateSteamAnnouncementLastRead_Request {
optional uint64 announcement_gid = 1;
optional uint32 time_posted = 2;
}
message CPlayer_UpdateSteamAnnouncementLastRead_Response {
}
message CPlayer_GetPrivacySettings_Request {
}
message CPrivacySettings {
optional int32 privacy_state = 1;
optional int32 privacy_state_inventory = 2;
optional int32 privacy_state_gifts = 3;
optional int32 privacy_state_ownedgames = 4;
optional int32 privacy_state_playtime = 5;
optional int32 privacy_state_friendslist = 6;
}
message CPlayer_GetPrivacySettings_Response {
optional .CPrivacySettings privacy_settings = 1;
}
message CPlayer_GetDurationControl_Request {
optional uint32 appid = 1;
}
message CPlayer_GetDurationControl_Response {
optional bool is_enabled = 1;
optional int32 seconds = 2;
optional int32 seconds_today = 3;
optional bool is_steamchina_account = 4;
optional bool is_age_verified = 5;
optional uint32 seconds_allowed_today = 6;
optional bool age_verification_pending = 7;
optional bool block_minors = 8;
}
message CPlayer_LastPlayedTimes_Notification {
repeated .CPlayer_GetLastPlayedTimes_Response.Game games = 1;
}
message CPlayer_FriendNicknameChanged_Notification {
optional fixed32 accountid = 1;
optional string nickname = 2;
optional bool is_echo_to_self = 3;
}
message CPlayer_FriendEquippedProfileItemsChanged_Notification {
optional fixed32 accountid = 1;
}
message CPlayer_NewSteamAnnouncementState_Notification {
optional int32 state = 1;
optional string announcement_headline = 2;
optional string announcement_url = 3;
optional uint32 time_posted = 4;
optional uint64 announcement_gid = 5;
}
message CPlayer_CommunityPreferencesChanged_Notification {
optional .CPlayer_CommunityPreferences preferences = 1;
}
message CPlayer_TextFilterWordsChanged_Notification {
optional .CPlayer_TextFilterWords words = 1;
}
message CPlayer_PerFriendPreferencesChanged_Notification {
optional fixed32 accountid = 1;
optional .PerFriendPreferences preferences = 2;
}
message CPlayer_PrivacySettingsChanged_Notification {
optional .CPrivacySettings privacy_settings = 1;
}
service Player {
option (service_description) = "A service for accessing Steam player data";
rpc GetMutualFriendsForIncomingInvites (.CPlayer_GetMutualFriendsForIncomingInvites_Request) returns (.CPlayer_GetMutualFriendsForIncomingInvites_Response) {
option (method_description) = "Get me the mutual friends for each of my pending incoming invites (individuals and clans).";
}
rpc GetOwnedGames (.CPlayer_GetOwnedGames_Request) returns (.CPlayer_GetOwnedGames_Response) {
option (method_description) = "Return a list of games owned by the player";
}
rpc GetPlayNext (.CPlayer_GetPlayNext_Request) returns (.CPlayer_GetPlayNext_Response) {
option (method_description) = "Return suggested games for player to play next.";
}
rpc GetFriendsGameplayInfo (.CPlayer_GetFriendsGameplayInfo_Request) returns (.CPlayer_GetFriendsGameplayInfo_Response) {
option (method_description) = "Get a list of friends who are playing, have played, own, or want a game";
}
rpc GetGameBadgeLevels (.CPlayer_GetGameBadgeLevels_Request) returns (.CPlayer_GetGameBadgeLevels_Response) {
option (method_description) = "Returns the Steam Level of a user, the Badge level for the game, and if it's foil";
}
rpc GetProfileBackground (.CPlayer_GetProfileBackground_Request) returns (.CPlayer_GetProfileBackground_Response) {
option (method_description) = "Gets which profile background is active for a specific user";
}
rpc SetProfileBackground (.CPlayer_SetProfileBackground_Request) returns (.CPlayer_SetProfileBackground_Response) {
option (method_description) = "Sets the user's profile background";
}
rpc GetMiniProfileBackground (.CPlayer_GetMiniProfileBackground_Request) returns (.CPlayer_GetMiniProfileBackground_Response) {
option (method_description) = "Gets which mini profile background is active for a specific user";
}
rpc SetMiniProfileBackground (.CPlayer_SetMiniProfileBackground_Request) returns (.CPlayer_SetMiniProfileBackground_Response) {
option (method_description) = "Sets the user's mini profile background";
}
rpc GetAvatarFrame (.CPlayer_GetAvatarFrame_Request) returns (.CPlayer_GetAvatarFrame_Response) {
option (method_description) = "Gets which avatar frame is active for a specific user";
}
rpc SetAvatarFrame (.CPlayer_SetAvatarFrame_Request) returns (.CPlayer_SetAvatarFrame_Response) {
option (method_description) = "Sets the user's avatar frame for their profile";
}
rpc GetAnimatedAvatar (.CPlayer_GetAnimatedAvatar_Request) returns (.CPlayer_GetAnimatedAvatar_Response) {
option (method_description) = "Gets which animated avatar is active for a specific user";
}
rpc SetAnimatedAvatar (.CPlayer_SetAnimatedAvatar_Request) returns (.CPlayer_SetAnimatedAvatar_Response) {
option (method_description) = "Sets the user's animated avatar for their profile";
}
rpc GetSteamDeckKeyboardSkin (.CPlayer_GetSteamDeckKeyboardSkin_Request) returns (.CPlayer_GetSteamDeckKeyboardSkin_Response) {
option (method_description) = "Gets which Steam Deck keyboard skin is active for a specific user";
}
rpc SetSteamDeckKeyboardSkin (.CPlayer_SetSteamDeckKeyboardSkin_Request) returns (.CPlayer_SetSteamDeckKeyboardSkin_Response) {
option (method_description) = "Sets the user's current Steam Deck keyboard skin";
}
rpc GetProfileItemsOwned (.CPlayer_GetProfileItemsOwned_Request) returns (.CPlayer_GetProfileItemsOwned_Response) {
option (method_description) = "Returns the items the user can equip on their profile";
}
rpc GetProfileItemsEquipped (.CPlayer_GetProfileItemsEquipped_Request) returns (.CPlayer_GetProfileItemsEquipped_Response) {
option (method_description) = "Returns the items the user has equipped on their profile";
}
rpc SetEquippedProfileItemFlags (.CPlayer_SetEquippedProfileItemFlags_Request) returns (.CPlayer_SetEquippedProfileItemFlags_Response) {
option (method_description) = "Sets special flags on the equipped item";
}
rpc GetEmoticonList (.CPlayer_GetEmoticonList_Request) returns (.CPlayer_GetEmoticonList_Response) {
option (method_description) = "Gets a list of the emoticons a user has with metadata";
}
rpc GetAchievementsProgress (.CPlayer_GetAchievementsProgress_Request) returns (.CPlayer_GetAchievementsProgress_Response) {
option (method_description) = "Gets the achievement completion stats for the specified list of apps.";
}
rpc GetFavoriteBadge (.CPlayer_GetFavoriteBadge_Request) returns (.CPlayer_GetFavoriteBadge_Response) {
option (method_description) = "Gets the badge the user has set as their favorite";
}
rpc SetFavoriteBadge (.CPlayer_SetFavoriteBadge_Request) returns (.CPlayer_SetFavoriteBadge_Response) {
option (method_description) = "Sets the badge as the users favorite";
}
rpc GetProfileCustomization (.CPlayer_GetProfileCustomization_Request) returns (.CPlayer_GetProfileCustomization_Response) {
option (method_description) = "Returns the customizations (if any) for a profile";
}
rpc GetPurchasedProfileCustomizations (.CPlayer_GetPurchasedProfileCustomizations_Request) returns (.CPlayer_GetPurchasedProfileCustomizations_Response) {
option (method_description) = "Returns the purchased profile customizations";
}
rpc GetPurchasedAndUpgradedProfileCustomizations (.CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Request) returns (.CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response) {
option (method_description) = "Returns the purchased and upgraded profile customizations";
}
rpc GetProfileThemesAvailable (.CPlayer_GetProfileThemesAvailable_Request) returns (.CPlayer_GetProfileThemesAvailable_Response) {
option (method_description) = "Gets themes available for the user.";
}
rpc SetProfileTheme (.CPlayer_SetProfileTheme_Request) returns (.CPlayer_SetProfileTheme_Response) {
option (method_description) = "Selects a theme for the profile";
}
rpc SetProfilePreferences (.CPlayer_SetProfilePreferences_Request) returns (.CPlayer_SetProfilePreferences_Response) {
option (method_description) = "Sets profile preferences";
}
rpc PostStatusToFriends (.CPlayer_PostStatusToFriends_Request) returns (.CPlayer_PostStatusToFriends_Response) {
option (method_description) = "Posts custom status text into the blotter";
}
rpc GetPostedStatus (.CPlayer_GetPostedStatus_Request) returns (.CPlayer_GetPostedStatus_Response) {
option (method_description) = "Gets a posted status text for a user by id";
}
rpc DeletePostedStatus (.CPlayer_DeletePostedStatus_Request) returns (.CPlayer_DeletePostedStatus_Response) {
option (method_description) = "Deletes a posted status text for a user by id";
}
rpc ClientGetLastPlayedTimes (.CPlayer_GetLastPlayedTimes_Request) returns (.CPlayer_GetLastPlayedTimes_Response) {
option (method_description) = "Gets the last-played times for the account";
}
rpc GetTimeSSAAccepted (.CPlayer_GetTimeSSAAccepted_Request) returns (.CPlayer_GetTimeSSAAccepted_Response) {
option (method_description) = "Gets the time when the user accepted the SSA";
}
rpc AcceptSSA (.CPlayer_AcceptSSA_Request) returns (.CPlayer_AcceptSSA_Response) {
option (method_description) = "User is accepting the SSA";
}
rpc GetNicknameList (.CPlayer_GetNicknameList_Request) returns (.CPlayer_GetNicknameList_Response) {
option (method_description) = "Gets the list of nicknames this user has for other users";
}
rpc GetPerFriendPreferences (.CPlayer_GetPerFriendPreferences_Request) returns (.CPlayer_GetPerFriendPreferences_Response) {
option (method_description) = "Gets the list of per-friend preferences this user has set for other users";
}
rpc SetPerFriendPreferences (.CPlayer_SetPerFriendPreferences_Request) returns (.CPlayer_SetPerFriendPreferences_Response) {
option (method_description) = "Sets the logged in user's per-friend preferences for the given user";
}
rpc AddFriend (.CPlayer_AddFriend_Request) returns (.CPlayer_AddFriend_Response) {
option (method_description) = "Invites another Steam user to be a friend";
}
rpc RemoveFriend (.CPlayer_RemoveFriend_Request) returns (.CPlayer_RemoveFriend_Response) {
option (method_description) = "Removes a friend or ignores a friend suggestion";
}
rpc IgnoreFriend (.CPlayer_IgnoreFriend_Request) returns (.CPlayer_IgnoreFriend_Response) {
option (method_description) = "Blocks or unblocks communication with the user. Despite name, can be a non-friend.";
}
rpc GetCommunityPreferences (.CPlayer_GetCommunityPreferences_Request) returns (.CPlayer_GetCommunityPreferences_Response) {
option (method_description) = "Returns the player's community preferences";
}
rpc SetCommunityPreferences (.CPlayer_SetCommunityPreferences_Request) returns (.CPlayer_SetCommunityPreferences_Response) {
option (method_description) = "Sets the player's community preferences";
}
rpc GetTextFilterWords (.CPlayer_GetTextFilterWords_Request) returns (.CPlayer_GetTextFilterWords_Response) {
option (method_description) = "Get the custom text filtering dictionary for this user";
}
rpc GetNewSteamAnnouncementState (.CPlayer_GetNewSteamAnnouncementState_Request) returns (.CPlayer_GetNewSteamAnnouncementState_Response) {
option (method_description) = "Calculates and returns what to display for UI that renders new steam announcement available";
}
rpc UpdateSteamAnnouncementLastRead (.CPlayer_UpdateSteamAnnouncementLastRead_Request) returns (.CPlayer_UpdateSteamAnnouncementLastRead_Response) {
option (method_description) = "Marks latest announcement timestamp read by user";
}
rpc GetPrivacySettings (.CPlayer_GetPrivacySettings_Request) returns (.CPlayer_GetPrivacySettings_Response) {
option (method_description) = "Get current privacy settings.";
}
rpc GetDurationControl (.CPlayer_GetDurationControl_Request) returns (.CPlayer_GetDurationControl_Response) {
option (method_description) = "Get gameplay duration control settings.";
}
}
service PlayerClient {
option (service_description) = "Steam player data client notifications";
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyLastPlayedTimes (.CPlayer_LastPlayedTimes_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client of more recent play time";
}
rpc NotifyFriendNicknameChanged (.CPlayer_FriendNicknameChanged_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that a friend's nickname has changed";
}
rpc NotifyFriendEquippedProfileItemsChanged (.CPlayer_FriendEquippedProfileItemsChanged_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that a friend's equipped profile items have changed";
}
rpc NotifyNewSteamAnnouncementState (.CPlayer_NewSteamAnnouncementState_Notification) returns (.NoResponse) {
option (method_description) = "Notifies client of changes to steam announcement state for user";
}
rpc NotifyCommunityPreferencesChanged (.CPlayer_CommunityPreferencesChanged_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that their community preferences have changed";
}
rpc NotifyTextFilterWordsChanged (.CPlayer_TextFilterWordsChanged_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that their text filtering dictionary has changed";
}
rpc NotifyPerFriendPreferencesChanged (.CPlayer_PerFriendPreferencesChanged_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server that per-friend preferences have changed";
}
rpc NotifyPrivacyPrivacySettingsChanged (.CPlayer_PrivacySettingsChanged_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server that privacy settings changed";
}
}