Browse Source

update protobufs

pull/254/head
Rossen Georgiev 5 years ago
parent
commit
42af857e73
  1. 1
      protobufs/content_manifest.proto
  2. 1
      protobufs/encrypted_app_ticket.proto
  3. 33
      protobufs/steammessages_base.proto
  4. 60
      protobufs/steammessages_broadcast.proto
  5. 174
      protobufs/steammessages_chat.proto
  6. 41
      protobufs/steammessages_clientserver.proto
  7. 73
      protobufs/steammessages_clientserver_2.proto
  8. 19
      protobufs/steammessages_clientserver_friends.proto
  9. 3
      protobufs/steammessages_clientserver_login.proto
  10. 24
      protobufs/steammessages_cloud.proto
  11. 9
      protobufs/steammessages_credentials.proto
  12. 3
      protobufs/steammessages_datapublisher.proto
  13. 6
      protobufs/steammessages_depotbuilder.proto
  14. 11
      protobufs/steammessages_deviceauth.proto
  15. 5
      protobufs/steammessages_econ.proto
  16. 10
      protobufs/steammessages_friendmessages.proto
  17. 9
      protobufs/steammessages_gamenotifications.proto
  18. 3
      protobufs/steammessages_gameservers.proto
  19. 17
      protobufs/steammessages_inventory.proto
  20. 3
      protobufs/steammessages_linkfilter.proto
  21. 2
      protobufs/steammessages_offline.proto
  22. 15
      protobufs/steammessages_parental.proto
  23. 11
      protobufs/steammessages_partnerapps.proto
  24. 99
      protobufs/steammessages_player.proto
  25. 80
      protobufs/steammessages_publishedfile.proto
  26. 1
      protobufs/steammessages_secrets.proto
  27. 3
      protobufs/steammessages_shader.proto
  28. 9
      protobufs/steammessages_site_license.proto
  29. 17
      protobufs/steammessages_store.proto
  30. 8
      protobufs/steammessages_twofactor.proto
  31. 1
      protobufs/steammessages_unified_base.proto
  32. 4
      protobufs/steammessages_unified_test.proto
  33. 47
      protobufs/steammessages_useraccount.proto
  34. 7
      protobufs/steammessages_video.proto
  35. 129
      protobufs/steammessages_webui_friends.proto
  36. 1
      steam/core/msg/unified.py
  37. 290
      steam/protobufs/steammessages_base_pb2.py
  38. 402
      steam/protobufs/steammessages_broadcast_pb2.py
  39. 1535
      steam/protobufs/steammessages_chat_pb2.py
  40. 1223
      steam/protobufs/steammessages_clientserver_2_pb2.py
  41. 268
      steam/protobufs/steammessages_clientserver_friends_pb2.py
  42. 46
      steam/protobufs/steammessages_clientserver_login_pb2.py
  43. 836
      steam/protobufs/steammessages_clientserver_pb2.py
  44. 183
      steam/protobufs/steammessages_cloud_pb2.py
  45. 64
      steam/protobufs/steammessages_credentials_pb2.py
  46. 30
      steam/protobufs/steammessages_econ_pb2.py
  47. 46
      steam/protobufs/steammessages_friendmessages_pb2.py
  48. 111
      steam/protobufs/steammessages_parental_pb2.py
  49. 819
      steam/protobufs/steammessages_player_pb2.py
  50. 725
      steam/protobufs/steammessages_publishedfile_pb2.py
  51. 101
      steam/protobufs/steammessages_store_pb2.py
  52. 386
      steam/protobufs/steammessages_useraccount_pb2.py
  53. 1482
      steam/protobufs/steammessages_webui_friends_pb2.py

1
protobufs/content_manifest.proto

@ -54,4 +54,3 @@ message ContentDeltaChunks {
optional uint64 manifest_id_target = 3;
repeated .ContentDeltaChunks.DeltaChunk deltaChunks = 4;
}

1
protobufs/encrypted_app_ticket.proto

@ -9,4 +9,3 @@ message EncryptedAppTicket {
optional uint32 cb_encrypted_appownershipticket = 4;
optional bytes encrypted_ticket = 5;
}

33
protobufs/steammessages_base.proto

@ -3,6 +3,7 @@ import "google/protobuf/descriptor.proto";
option optimize_for = SPEED;
option py_generic_services = true;
option (force_php_generation) = true;
extend .google.protobuf.MessageOptions {
optional int32 msgpool_soft_limit = 50000 [default = 32];
@ -51,6 +52,15 @@ enum EProtoClanEventType {
k_EClanFreeTrial = 31;
k_EClanSeasonRelease = 32;
k_EClanSeasonUpdate = 33;
k_EClanCrosspostEvent = 34;
k_EClanInGameEventGeneral = 35;
}
enum PartnerEventNotificationType {
k_EEventStart = 0;
k_EEventBroadcastStart = 1;
k_EEventMatchStart = 2;
k_EEventPartnerMaxType = 3;
}
message CMsgIPAddress {
@ -60,6 +70,11 @@ message CMsgIPAddress {
}
}
message CMsgIPAddressBucket {
optional .CMsgIPAddress original_ip_address = 1;
optional fixed64 bucket = 2;
}
message CMsgProtoBufHeader {
optional fixed64 steamid = 1;
optional int32 client_sessionid = 2;
@ -83,6 +98,9 @@ message CMsgProtoBufHeader {
repeated uint32 forward_to_sysid = 27;
optional uint32 cm_sysid = 28;
optional string wg_token = 30;
optional uint32 launcher_type = 31 [default = 0];
optional uint32 realm = 32 [default = 0];
oneof ip_addr {
uint32 ip = 15;
bytes ip_v6 = 29;
@ -196,6 +214,9 @@ message CCommunity_ClanAnnouncementInfo {
optional int32 language = 10;
optional bool hidden = 11;
optional fixed64 forum_topic_id = 12;
optional fixed64 event_gid = 13;
optional int32 voteupcount = 14;
optional int32 votedowncount = 15;
}
message CClanEventData {
@ -225,3 +246,15 @@ message CClanEventData {
optional uint32 rtime32_last_modified = 24;
}
message CBilling_Address {
optional string first_name = 1;
optional string last_name = 2;
optional string address1 = 3;
optional string address2 = 4;
optional string city = 5;
optional string us_state = 6;
optional string country_code = 7;
optional string postcode = 8;
optional int32 zip_plus4 = 9;
optional string phone = 10;
}

60
protobufs/steammessages_broadcast.proto

@ -34,6 +34,7 @@ message CBroadcast_BeginBroadcastSession_Request {
optional uint64 rtmp_token = 6;
optional bool thumbnail_upload = 7;
optional string client_beta = 8;
optional uint32 sysid = 9;
}
message CBroadcast_BeginBroadcastSession_Response {
@ -59,6 +60,7 @@ message CBroadcast_StartBroadcastUpload_Request {
optional uint64 rtmp_token = 5 [default = 0, (description) = "Only set during RTMP uploads; secret key from the user."];
optional uint32 upload_ip_address = 6;
optional bool is_replay = 7;
optional uint32 sysid = 8;
}
message CBroadcast_StartBroadcastUpload_Response {
@ -208,6 +210,8 @@ message CBroadcast_PostChatMessage_Request {
optional fixed64 chat_id = 1;
optional string message = 2;
optional uint32 instance_id = 3;
optional uint32 language = 4 [default = 0, (description) = "ELanguage of the user posting the message, default is english"];
optional string country_code = 5 [(description) = "The two letter country code"];
}
message CBroadcast_PostChatMessage_Response {
@ -418,19 +422,20 @@ message CBroadcast_WebRTCGetHostCandidates_Response {
message CBroadcast_GetBroadcastUploadStats_Request {
optional uint32 row_limit = 1 [default = 100, (description) = "How many at maximum to return."];
optional uint32 start_time = 2 [default = 0, (description) = "Start time"];
optional uint64 upload_id = 3 [(description) = "Optional relay upload ID"];
optional uint64 upload_id = 3 [(description) = "Optional relay upload ID - not compatible with session_id"];
optional fixed64 steamid = 4 [(description) = "Optional the steamid whose stats you want, otherwise the user logged in - admin only"];
optional uint64 session_id = 5 [(description) = "Optional broadcast session ID - not compatiable with upload_id"];
}
message CBroadcast_GetBroadcastUploadStats_Response {
message UploadStats {
optional uint32 upload_result = 1;
optional uint32 upload_result = 1 [(description) = ""];
optional uint32 time_stopped = 2 [(description) = "time broadcast upload stopped"];
optional uint32 seconds_uploaded = 3 [(description) = "seconds of vido uploaded"];
optional uint32 max_viewers = 4 [(description) = "max concurrent viewers"];
optional uint32 resolution_x = 5 [(description) = "horizontal resultion"];
optional uint32 resolution_y = 6 [(description) = "vertical resultion"];
optional uint32 avg_bandwidth = 7;
optional uint32 avg_bandwidth = 7 [(description) = ""];
optional uint64 total_bytes = 8 [(description) = "total byte uploaded by broadcaster"];
optional uint32 app_id = 9 [(description) = "game broadcasted"];
optional uint32 total_unique_viewers = 10 [(description) = "total unique viewers seen"];
@ -443,6 +448,7 @@ message CBroadcast_GetBroadcastUploadStats_Response {
optional uint32 num_representations = 17 [(description) = "number of video represetations"];
optional string app_name = 18 [(description) = "game name"];
optional bool is_replay = 19 [(description) = "replay of previous recording"];
optional uint64 session_id = 20 [(description) = "broadcast session id"];
}
repeated .CBroadcast_GetBroadcastUploadStats_Response.UploadStats upload_stats = 1;
@ -552,147 +558,195 @@ message CBroadcast_WebRTCAddViewerCandidate_Notification {
service Broadcast {
option (service_description) = "Methods for Steam broadcast operations";
rpc BeginBroadcastSession (.CBroadcast_BeginBroadcastSession_Request) returns (.CBroadcast_BeginBroadcastSession_Response) {
option (method_description) = "Request from client to directory to begin a broadcast session. No data being sent to relay; just available for broadcast.";
}
rpc EndBroadcastSession (.CBroadcast_EndBroadcastSession_Request) returns (.CBroadcast_EndBroadcastSession_Response) {
option (method_description) = "Request from client to stop a broadcast session. Any uploads will terminate.";
}
rpc StartBroadcastUpload (.CBroadcast_StartBroadcastUpload_Request) returns (.CBroadcast_StartBroadcastUpload_Response) {
option (method_description) = "Request from client to begin sending video for a broadcast.";
}
rpc NotifyBroadcastUploadStop (.CBroadcast_NotifyBroadcastUploadStop_Notification) returns (.NoResponse) {
option (method_description) = "Tells directory that client stopped uploading broadcast";
}
rpc WatchBroadcast (.CBroadcast_WatchBroadcast_Request) returns (.CBroadcast_WatchBroadcast_Response) {
option (method_description) = "Request from viewer to watch a broadcast";
}
rpc HeartbeatBroadcast (.CBroadcast_HeartbeatBroadcast_Notification) returns (.NoResponse) {
option (method_description) = "Notify directory that user is still watching.";
}
rpc StopWatchingBroadcast (.CBroadcast_StopWatchingBroadcast_Notification) returns (.NoResponse) {
option (method_description) = "Request to immediately stop watching a broadcast. Optional Method, if not called, viewer will time out.";
}
rpc GetBroadcastStatus (.CBroadcast_GetBroadcastStatus_Request) returns (.CBroadcast_GetBroadcastStatus_Response) {
option (method_description) = "Request from viewer about broadcast details";
}
rpc GetBroadcastThumbnail (.CBroadcast_GetBroadcastThumbnail_Request) returns (.CBroadcast_GetBroadcastThumbnail_Response) {
option (method_description) = "Request thumbnail URL for broadcast";
}
rpc InviteToBroadcast (.CBroadcast_InviteToBroadcast_Request) returns (.CBroadcast_InviteToBroadcast_Response) {
option (method_description) = "Invites another steam user to watch the caller's broadcast";
}
rpc SendBroadcastStateToServer (.CBroadcast_SendBroadcastStateToServer_Request) returns (.CBroadcast_SendBroadcastStateToServer_Response) {
option (method_description) = "Sends users current broadcast state (permissions, game) to the server";
}
rpc NotifyBroadcastSessionHeartbeat (.CBroadcast_NotifyBroadcastSessionHeartbeat_Notification) returns (.NoResponse) {
option (method_description) = "Tells directory broadcast session is still available";
}
rpc GetBroadcastChatInfo (.CBroadcast_GetBroadcastChatInfo_Request) returns (.CBroadcast_GetBroadcastChatInfo_Response) {
option (method_description) = "Gets chat room info for a broadcast";
}
rpc PostChatMessage (.CBroadcast_PostChatMessage_Request) returns (.CBroadcast_PostChatMessage_Response) {
option (method_description) = "Post chat message to specified chat room";
}
rpc UpdateChatMessageFlair (.CBroadcast_UpdateChatMessageFlair_Request) returns (.CBroadcast_UpdateChatMessageFlair_Response) {
option (method_description) = "Update chat message flair in the specified chat room";
}
rpc MuteBroadcastChatUser (.CBroadcast_MuteBroadcastChatUser_Request) returns (.CBroadcast_MuteBroadcastChatUser_Response) {
option (method_description) = "Mute a user in your broadcast chat";
}
rpc RemoveUserChatText (.CBroadcast_RemoveUserChatText_Request) returns (.CBroadcast_RemoveUserChatText_Response) {
option (method_description) = "Tell all viewers to remove user chat text";
}
rpc GetBroadcastChatUserNames (.CBroadcast_GetBroadcastChatUserNames_Request) returns (.CBroadcast_GetBroadcastChatUserNames_Response) {
option (method_description) = "Get names for list of users in chat";
}
rpc StartBuildClip (.CBroadcast_StartBuildClip_Request) returns (.CBroadcast_StartBuildClip_Response) {
option (method_description) = "Start building a broadcast clip";
}
rpc GetBuildClipStatus (.CBroadcast_GetBuildClipStatus_Request) returns (.CBroadcast_GetBuildClipStatus_Response) {
option (method_description) = "Start building a broadcast clip";
}
rpc SetClipDetails (.CBroadcast_SetClipDetails_Request) returns (.CBroadcast_SetClipDetails_Response) {
option (method_description) = "Updates a broadcast clip";
}
rpc GetClipDetails (.CBroadcast_GetClipDetails_Request) returns (.CBroadcast_GetClipDetails_Response) {
option (method_description) = "Get details for Broadcast Clips";
}
rpc SetRTMPInfo (.CBroadcast_SetRTMPInfo_Request) returns (.CBroadcast_SetRTMPInfo_Response) {
option (method_description) = "Sets RTMP broadcast info";
}
rpc GetRTMPInfo (.CBroadcast_GetRTMPInfo_Request) returns (.CBroadcast_GetRTMPInfo_Response) {
option (method_description) = "Gets RTMP broadcast info";
}
rpc NotifyWebRTCHaveTURNServer (.CBroadcast_WebRTCHaveTURNServer_Notification) returns (.NoResponse) {
option (method_description) = "Notification from client to server with the client's TURN server";
}
rpc WebRTCStartResult (.CBroadcast_WebRTCStartResult_Request) returns (.CBroadcast_WebRTCStartResult_Response) {
option (method_description) = "Notify the server that a WebRTC session has been created by the host";
}
rpc WebRTCStopped (.CBroadcast_WebRTCStopped_Request) returns (.CBroadcast_WebRTCStopped_Response) {
option (method_description) = "Notify the server that a WebRTC session has been stopped by the host";
}
rpc WebRTCSetAnswer (.CBroadcast_WebRTCSetAnswer_Request) returns (.CBroadcast_WebRTCSetAnswer_Response) {
option (method_description) = "Notify the server that a WebRTC session has been created by the viewer";
}
rpc WebRTCLookupTURNServer (.CBroadcast_WebRTCLookupTURNServer_Request) returns (.CBroadcast_WebRTCLookupTURNServer_Response) {
option (method_description) = "Lookup the best TURN server for this client";
}
rpc WebRTCAddHostCandidate (.CBroadcast_WebRTCAddHostCandidate_Request) returns (.CBroadcast_WebRTCAddHostCandidate_Response) {
option (method_description) = "Add an ICE candidate for the host side of a WebRTC session";
}
rpc WebRTCAddViewerCandidate (.CBroadcast_WebRTCAddViewerCandidate_Request) returns (.CBroadcast_WebRTCAddViewerCandidate_Response) {
option (method_description) = "Add an ICE candidate for the viewer side of a WebRTC session";
}
rpc WebRTCGetHostCandidates (.CBroadcast_WebRTCGetHostCandidates_Request) returns (.CBroadcast_WebRTCGetHostCandidates_Response) {
option (method_description) = "Get the ICE candidates for the host side of a WebRTC session";
}
rpc GetBroadcastUploadStats (.CBroadcast_GetBroadcastUploadStats_Request) returns (.CBroadcast_GetBroadcastUploadStats_Response) {
option (method_description) = "Gets broadcast upload stats for user";
}
rpc GetBroadcastViewerStats (.CBroadcast_GetBroadcastViewerStats_Request) returns (.CBroadcast_GetBroadcastViewerStats_Response) {
option (method_description) = "Gets viewer stats for given broadcast";
}
}
service BroadcastClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyBroadcastViewerState (.CBroadcast_BroadcastViewerState_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that a viewers state has changed";
}
rpc NotifyWaitingBroadcastViewer (.CBroadcast_WaitingBroadcastViewer_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client one or more users is waiting for user to start broadcast";
}
rpc NotifyBroadcastUploadStarted (.CBroadcast_BroadcastUploadStarted_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client with information about a broadcast";
}
rpc NotifyStopBroadcastUpload (.CBroadcast_StopBroadcastUpload_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client telling it to stop uploading when the last viewer has disconnected from their broadcast";
}
rpc NotifySessionClosed (.CBroadcast_SessionClosed_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client telling it a session has been closed unexpectedly by the directory";
}
rpc NotifyViewerBroadcastInvite (.CBroadcast_ViewerBroadcastInvite_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that a broadcaster is inviting a viewer to watch their broadcast";
}
rpc NotifyBroadcastStatus (.CBroadcast_BroadcastStatus_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client about current broadcast status";
}
rpc NotifyBroadcastChannelLive (.CBroadcast_BroadcastChannelLive_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client about current broadcast status";
}
rpc SendThumbnailToRelay (.CBroadcast_SendThumbnailToRelay_Notification) returns (.NoResponse) {
option (method_description) = "Send thumbnails to relay";
}
rpc NotifyWebRTCNeedTURNServer (.CBroadcast_WebRTCNeedTURNServer_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that it needs the client's TURN server";
}
rpc NotifyWebRTCStart (.CBroadcast_WebRTCStart_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that it should start a WebRTC session";
}
rpc NotifyWebRTCSetAnswer (.CBroadcast_WebRTCSetAnswer_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client about the broadcast viewer WebRTC answer";
}
rpc NotifyWebRTCAddViewerCandidate (.CBroadcast_WebRTCAddViewerCandidate_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client about a broadcast viewer WebRTC ICE candidate";
}

174
protobufs/steammessages_chat.proto

@ -1,5 +1,6 @@
syntax = "proto2";
import "steammessages_unified_base.proto";
import "steammessages_clientserver_friends.proto";
option py_generic_services = true;
@ -112,6 +113,7 @@ message CChatRoomGroupHeaderState {
optional uint32 watching_broadcast_accountid = 20;
repeated .CChatPartyBeacon party_beacons = 22;
optional uint64 watching_broadcast_channel_id = 23;
optional uint64 active_minigame_id = 24;
}
message CChatRoomMember {
@ -210,6 +212,24 @@ message CChatRoom_SetChatRoomGroupWatchingBroadcast_Request {
message CChatRoom_SetChatRoomGroupWatchingBroadcast_Response {
}
message CChatRoom_JoinMiniGameForChatRoomGroup_Request {
optional uint64 chat_group_id = 1;
optional uint64 chat_id = 2;
}
message CChatRoom_JoinMiniGameForChatRoomGroup_Response {
optional uint64 minigame_id = 1;
}
message CChatRoom_EndMiniGameForChatRoomGroup_Request {
optional uint64 chat_group_id = 1;
optional uint64 chat_id = 2;
optional uint64 minigame_id = 3;
}
message CChatRoom_EndMiniGameForChatRoomGroup_Response {
}
message CChatRoom_MuteUser_Request {
optional uint64 chat_group_id = 1;
optional fixed64 steamid = 2;
@ -403,12 +423,14 @@ message CChatRoom_SendChatMessage_Request {
optional uint64 chat_group_id = 1;
optional uint64 chat_id = 2;
optional string message = 3;
optional bool echo_to_sender = 4;
}
message CChatRoom_SendChatMessage_Response {
optional string modified_message = 1;
optional uint32 server_timestamp = 2;
optional uint32 ordinal = 3;
optional string message_without_bb_code = 4;
}
message CChatRoom_JoinVoiceChat_Request {
@ -481,6 +503,7 @@ message CChatRoom_GetChatRoomGroupSummary_Response {
optional uint32 appid = 17;
repeated .CChatPartyBeacon party_beacons = 18;
optional uint64 watching_broadcast_channel_id = 19;
optional uint64 active_minigame_id = 20;
}
message CChatRoomSummaryPair {
@ -603,10 +626,12 @@ message CChatRoom_DeleteInviteLink_Response {
message CChatRoom_SetSessionActiveChatRoomGroups_Request {
repeated uint64 chat_group_ids = 1;
repeated uint64 chat_groups_data_requested = 2;
optional int32 virtualize_members_threshold = 3 [(description) = "If a chat room has more members than this threshold, we will opt in to a virtualized list"];
}
message CChatRoom_SetSessionActiveChatRoomGroups_Response {
repeated .CChatRoomGroupState chat_states = 1;
repeated uint64 virtualize_members_chat_group_ids = 2;
}
message CChatRoom_SetUserChatGroupPreferences_Request {
@ -645,6 +670,34 @@ message CChatRoom_DeleteChatMessages_Request {
message CChatRoom_DeleteChatMessages_Response {
}
message CChatRoom_UpdateMemberListView_Notification {
optional uint64 chat_group_id = 1;
optional uint64 view_id = 2 [(description) = "Client-generated ID. Should send the same value on all requests for the same view"];
optional int32 start = 3;
optional int32 end = 4;
optional int32 client_changenumber = 5 [(description) = "Any updates from this call on will have this changenumber present. Can be used to guarantee in-order updates."];
optional bool delete_view = 6 [(description) = "Indicates this view has been deleted."];
repeated int32 persona_subscribe_accountids = 7;
repeated int32 persona_unsubscribe_accountids = 8;
}
message CChatRoom_SearchMembers_Request {
optional uint64 chat_group_id = 1;
optional uint64 search_id = 2 [(description) = "Client-supplied id. For find-as-you-type searches, as search narrows the server will not return persona states previously returned for a given searchid."];
optional string search_text = 3;
optional int32 max_results = 4;
}
message CChatRoom_SearchMembers_Response {
message MemberMatch {
optional int32 accountid = 1;
optional .CMsgClientPersonaState.Friend persona = 2;
}
repeated .CChatRoom_SearchMembers_Response.MemberMatch matching_members = 1;
optional uint32 status_flags = 2;
}
message CClanChatRooms_GetClanChatRoomInfo_Request {
optional fixed64 steamid = 1;
optional bool autocreate = 2 [default = true, (description) = "Create a default chat room if none has been created before."];
@ -722,6 +775,40 @@ message ChatRoomClient_NotifyChatGroupUserStateChanged_Notification {
optional .EChatRoomMemberStateChange user_action = 4 [default = k_EChatRoomMemberStateChange_Invalid];
}
message ChatRoomClient_NotifyChatRoomDisconnect_Notification {
repeated uint64 chat_group_ids = 1;
}
message CChatRoomMemberListView {
optional int32 start = 3;
optional int32 end = 4;
optional int32 total_count = 5;
optional int32 client_changenumber = 6 [(description) = "Value sent by the client on the last UpdateMemberListView call. "];
optional int32 server_changenumber = 7 [(description) = "Value incremented by the server on each MemberListViewUpdated call. "];
}
message CChatRoomMemberSummaryCounts {
optional int32 ingame = 1;
optional int32 online = 2;
optional int32 offline = 3;
}
message CChatRoomClient_MemberListViewUpdated_Notification {
message MemberListViewEntry {
optional int32 rank = 1;
optional uint32 accountid = 2;
optional .CMsgClientPersonaState.Friend persona = 3;
}
optional uint64 chat_group_id = 1;
optional uint64 view_id = 2 [(description) = "Thew view_id supplied when the client created the view. "];
optional .CChatRoomMemberListView view = 3;
repeated .CChatRoomClient_MemberListViewUpdated_Notification.MemberListViewEntry members = 4;
optional uint32 status_flags = 5;
optional .CChatRoomMemberSummaryCounts member_summary = 6;
repeated .CMsgClientPersonaState.Friend subscribed_personas = 7;
}
message CChatUsability_ClientUsabilityMetrics_Notification {
message Settings {
optional bool notifications_show_ingame = 1;
@ -820,194 +907,281 @@ message CChatUsability_RequestClientUsabilityMetrics_Notification {
service Chat {
option (service_description) = "Chat-related services";
rpc RequestFriendPersonaStates (.CChat_RequestFriendPersonaStates_Request) returns (.CChat_RequestFriendPersonaStates_Response) {
option (method_description) = "Request to be notified of online friend persona state information. Responses sent via CMsgClientPersonaState.";
}
}
service ChatRoom {
option (service_description) = "Service for joining, managing, and using multi-user chat rooms";
rpc CreateChatRoomGroup (.CChatRoom_CreateChatRoomGroup_Request) returns (.CChatRoom_CreateChatRoomGroup_Response) {
option (method_description) = "Create's a chat group that can contain other chat rooms";
}
rpc SaveChatRoomGroup (.CChatRoom_SaveChatRoomGroup_Request) returns (.CChatRoom_SaveChatRoomGroup_Response) {
option (method_description) = "Saves's a chat group";
}
rpc RenameChatRoomGroup (.CChatRoom_RenameChatRoomGroup_Request) returns (.CChatRoom_RenameChatRoomGroup_Response) {
option (method_description) = "Rename a chat room group";
}
rpc SetChatRoomGroupTagline (.CChatRoom_SetChatRoomGroupTagline_Request) returns (.CChatRoom_SetChatRoomGroupTagline_Response) {
option (method_description) = "Set tagline for a chat room group";
}
rpc SetChatRoomGroupAvatar (.CChatRoom_SetChatRoomGroupAvatar_Request) returns (.CChatRoom_SetChatRoomGroupAvatar_Response) {
option (method_description) = "Set avatar SHA for a chat room group";
}
rpc SetChatRoomGroupWatchingBroadcast (.CChatRoom_SetChatRoomGroupWatchingBroadcast_Request) returns (.CChatRoom_SetChatRoomGroupWatchingBroadcast_Response) {
option (method_description) = "Sets a broadcast that the chat room group is watching";
}
rpc JoinMiniGameForChatRoomGroup (.CChatRoom_JoinMiniGameForChatRoomGroup_Request) returns (.CChatRoom_JoinMiniGameForChatRoomGroup_Response) {
option (method_description) = "Joins the minigame for the chat room group or starts a new one (Winter 2019 sale party game)";
}
rpc EndMiniGameForChatRoomGroup (.CChatRoom_EndMiniGameForChatRoomGroup_Request) returns (.CChatRoom_EndMiniGameForChatRoomGroup_Response) {
option (method_description) = "Ends the minigame in the chat room group";
}
rpc MuteUserInGroup (.CChatRoom_MuteUser_Request) returns (.CChatRoom_MuteUser_Response) {
option (method_description) = "Mute user in group";
}
rpc KickUserFromGroup (.CChatRoom_KickUser_Request) returns (.CChatRoom_KickUser_Response) {
option (method_description) = "Kick user from group";
}
rpc SetUserBanState (.CChatRoom_SetUserBanState_Request) returns (.CChatRoom_SetUserBanState_Response) {
option (method_description) = "Ban/unban user from group";
}
rpc RevokeInviteToGroup (.CChatRoom_RevokeInvite_Request) returns (.CChatRoom_RevokeInvite_Response) {
option (method_description) = "Revoke a direct invitation of a user";
}
rpc CreateRole (.CChatRoom_CreateRole_Request) returns (.CChatRoom_CreateRole_Response) {
option (method_description) = "Create role for goup";
}
rpc GetRoles (.CChatRoom_GetRoles_Request) returns (.CChatRoom_GetRoles_Response) {
option (method_description) = "Get all roles in group";
}
rpc RenameRole (.CChatRoom_RenameRole_Request) returns (.CChatRoom_RenameRole_Response) {
option (method_description) = "Rename role for goup";
}
rpc ReorderRole (.CChatRoom_ReorderRole_Request) returns (.CChatRoom_ReorderRole_Response) {
option (method_description) = "Reorder role with a goup";
}
rpc DeleteRole (.CChatRoom_DeleteRole_Request) returns (.CChatRoom_DeleteRole_Response) {
option (method_description) = "Delete role from group";
}
rpc GetRoleActions (.CChatRoom_GetRoleActions_Request) returns (.CChatRoom_GetRoleActions_Response) {
option (method_description) = "Get all defined roles and actions in group";
}
rpc ReplaceRoleActions (.CChatRoom_ReplaceRoleActions_Request) returns (.CChatRoom_ReplaceRoleActions_Response) {
option (method_description) = "Replace role actions in group";
}
rpc AddRoleToUser (.CChatRoom_AddRoleToUser_Request) returns (.CChatRoom_AddRoleToUser_Response) {
option (method_description) = "Add role to user in group";
}
rpc GetRolesForUser (.CChatRoom_GetRolesForUser_Request) returns (.CChatRoom_GetRolesForUser_Response) {
option (method_description) = "Get all roles assigned to user in group";
}
rpc DeleteRoleFromUser (.CChatRoom_DeleteRoleFromUser_Request) returns (.CChatRoom_DeleteRoleFromUser_Response) {
option (method_description) = "Delete role from user in group";
}
rpc JoinChatRoomGroup (.CChatRoom_JoinChatRoomGroup_Request) returns (.CChatRoom_JoinChatRoomGroup_Response) {
option (method_description) = "Join a multi-user chat room";
}
rpc InviteFriendToChatRoomGroup (.CChatRoom_InviteFriendToChatRoomGroup_Request) returns (.CChatRoom_InviteFriendToChatRoomGroup_Response) {
option (method_description) = "Invite a friend to a multi-user chat room";
}
rpc LeaveChatRoomGroup (.CChatRoom_LeaveChatRoomGroup_Request) returns (.CChatRoom_LeaveChatRoomGroup_Response) {
option (method_description) = "Leaves a chat room group and all related chats";
}
rpc CreateChatRoom (.CChatRoom_CreateChatRoom_Request) returns (.CChatRoom_CreateChatRoom_Response) {
option (method_description) = "Creates a chat room inside a chat room group";
}
rpc DeleteChatRoom (.CChatRoom_DeleteChatRoom_Request) returns (.CChatRoom_DeleteChatRoom_Response) {
option (method_description) = "Deletes a chat room inside a chat room group";
}
rpc RenameChatRoom (.CChatRoom_RenameChatRoom_Request) returns (.CChatRoom_RenameChatRoom_Response) {
option (method_description) = "Renames a chat room inside a chat room group";
}
rpc ReorderChatRoom (.CChatRoom_ReorderChatRoom_Request) returns (.CChatRoom_ReorderChatRoom_Response) {
option (method_description) = "Reorders a chat room inside a chat room group";
}
rpc SendChatMessage (.CChatRoom_SendChatMessage_Request) returns (.CChatRoom_SendChatMessage_Response) {
option (method_description) = "Send a chat message to a multi-user chat room";
}
rpc JoinVoiceChat (.CChatRoom_JoinVoiceChat_Request) returns (.CChatRoom_JoinVoiceChat_Response) {
option (method_description) = "Join the voice chat in a multi-room chat (should already be in the chat room)";
}
rpc LeaveVoiceChat (.CChatRoom_LeaveVoiceChat_Request) returns (.CChatRoom_LeaveVoiceChat_Response) {
option (method_description) = "Leave the voice chat in a multi-room chat";
}
rpc GetMessageHistory (.CChatRoom_GetMessageHistory_Request) returns (.CChatRoom_GetMessageHistory_Response) {
option (method_description) = "Get the history of messages in a chat room. You must currently be a member of the chat room.";
}
rpc GetMyChatRoomGroups (.CChatRoom_GetMyChatRoomGroups_Request) returns (.CChatRoom_GetMyChatRoomGroups_Response) {
option (method_description) = "Get a list of our chat rooms";
}
rpc GetChatRoomGroupState (.CChatRoom_GetChatRoomGroupState_Request) returns (.CChatRoom_GetChatRoomGroupState_Response) {
option (method_description) = "Get information about a single chat room";
}
rpc GetChatRoomGroupSummary (.CChatRoom_GetChatRoomGroupSummary_Request) returns (.CChatRoom_GetChatRoomGroupSummary_Response) {
option (method_description) = "Get basic information about a chat room group";
}
rpc AckChatMessage (.CChatRoom_AckChatMessage_Notification) returns (.NoResponse) {
option (method_description) = "Acknowledge that we have seen the most recent chat message in a chat";
}
rpc CreateInviteLink (.CChatRoom_CreateInviteLink_Request) returns (.CChatRoom_CreateInviteLink_Response) {
option (method_description) = "Creates a chatroom invite link";
}
rpc GetInviteLinkInfo (.CChatRoom_GetInviteLinkInfo_Request) returns (.CChatRoom_GetInviteLinkInfo_Response) {
option (method_description) = "Returns chat room info about provided link";
}
rpc GetInviteInfo (.CChatRoom_GetInviteInfo_Request) returns (.CChatRoom_GetInviteInfo_Response) {
option (method_description) = "Returns chat room info about any invite involving the sender and passed group id";
}
rpc GetInviteLinksForGroup (.CChatRoom_GetInviteLinksForGroup_Request) returns (.CChatRoom_GetInviteLinksForGroup_Response) {
option (method_description) = "Returns all invite links for the specified group";
}
rpc GetBanList (.CChatRoom_GetBanList_Request) returns (.CChatRoom_GetBanList_Response) {
option (method_description) = "Gets a list of users who have been banned from a chat room";
}
rpc GetInviteList (.CChatRoom_GetInviteList_Request) returns (.CChatRoom_GetInviteList_Response) {
option (method_description) = "Gets a list of users who have been invited to a chat room";
}
rpc DeleteInviteLink (.CChatRoom_DeleteInviteLink_Request) returns (.CChatRoom_DeleteInviteLink_Response) {
option (method_description) = "Deletes specified invite link";
}
rpc SetSessionActiveChatRoomGroups (.CChatRoom_SetSessionActiveChatRoomGroups_Request) returns (.CChatRoom_SetSessionActiveChatRoomGroups_Response) {
option (method_description) = "Set which chat rooms we are using in the active session";
}
rpc SetUserChatGroupPreferences (.CChatRoom_SetUserChatGroupPreferences_Request) returns (.CChatRoom_SetUserChatGroupPreferences_Response) {
option (method_description) = "Set preferences around chat notifications for a group";
}
rpc DeleteChatMessages (.CChatRoom_DeleteChatMessages_Request) returns (.CChatRoom_DeleteChatMessages_Response) {
option (method_description) = "Deletes specified chat messages";
}
rpc UpdateMemberListView (.CChatRoom_UpdateMemberListView_Notification) returns (.NoResponse) {
option (method_description) = "A client is indicating it has an active view into the members list.";
}
rpc SearchMembers (.CChatRoom_SearchMembers_Request) returns (.CChatRoom_SearchMembers_Response) {
option (method_description) = "Search chat room members by name.";
}
}
service ClanChatRooms {
option (service_description) = "Methods for getting clan chat information";
rpc GetClanChatRoomInfo (.CClanChatRooms_GetClanChatRoomInfo_Request) returns (.CClanChatRooms_GetClanChatRoomInfo_Response) {
option (method_description) = "Get a list of chat rooms for a clan, optionally creating a new one";
}
rpc SetClanChatRoomPrivate (.CClanChatRooms_SetClanChatRoomPrivate_Request) returns (.CClanChatRooms_SetClanChatRoomPrivate_Response) {
option (method_description) = "Set a clan chat room to be members only (or public)";
}
}
service ChatRoomClient {
option (service_description) = "Client notifications for chat events";
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyIncomingChatMessage (.CChatRoom_IncomingChatMessage_Notification) returns (.NoResponse) {
option (method_description) = "New chat message for a chat room";
}
rpc NotifyChatMessageModified (.CChatRoom_ChatMessageModified_Notification) returns (.NoResponse) {
option (method_description) = "An existing chat message has been modified on the backend";
}
rpc NotifyMemberStateChange (.CChatRoom_MemberStateChange_Notification) returns (.NoResponse) {
option (method_description) = "A chat room member's state has changed (join/part/permissions)";
}
rpc NotifyChatRoomHeaderStateChange (.CChatRoom_ChatRoomHeaderState_Notification) returns (.NoResponse) {
option (method_description) = "Chat Room header / metadata has changed";
}
rpc NotifyChatRoomGroupRoomsChange (.CChatRoom_ChatRoomGroupRoomsChange_Notification) returns (.NoResponse) {
option (method_description) = "Something about a chatroom group changed (created, deleted, etc.)";
}
rpc NotifyShouldRejoinChatRoomVoiceChat (.CChatRoom_NotifyShouldRejoinChatRoomVoiceChat_Notification) returns (.NoResponse) {
option (method_description) = "Voice chat was recreated or dropped on the backend and client needs to rejoin to remain in chat.";
}
rpc NotifyChatGroupUserStateChanged (.ChatRoomClient_NotifyChatGroupUserStateChanged_Notification) returns (.NoResponse) {
option (method_description) = "User chat group state (preferences, ack state, etc) have changed.";
}
rpc NotifyAckChatMessageEcho (.CChatRoom_AckChatMessage_Notification) returns (.NoResponse) {
option (method_description) = "A session acked an unread message, echo to other sessions.";
}
rpc NotifyChatRoomDisconnect (.ChatRoomClient_NotifyChatRoomDisconnect_Notification) returns (.NoResponse) {
option (method_description) = "The ChatRoom server hosting the chat rooms has reconnected to the user's Chat server (may have restarted), client should refresh state.";
}
rpc NotifyMemberListViewUpdated (.CChatRoomClient_MemberListViewUpdated_Notification) returns (.NoResponse) {
option (method_description) = "The list of members for a chat room with virtualized member list has changed on the server (or client requested)";
}
}
service ChatUsability {
option (service_description) = "Client notifications for chat events";
rpc NotifyClientUsabilityMetrics (.CChatUsability_ClientUsabilityMetrics_Notification) returns (.NoResponse) {
option (method_description) = "Incoming metrics from the client";
}
}
service ChatUsabilityClient {
option (service_description) = "Client notifications for chat usability";
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyRequestClientUsabilityMetrics (.CChatUsability_RequestClientUsabilityMetrics_Notification) returns (.NoResponse) {
option (method_description) = "Request client send usability metrics";
}

41
protobufs/steammessages_clientserver.proto

@ -84,6 +84,14 @@ message CMsgClientNetworkingCertReply {
optional bytes ca_signature = 6;
}
message CMsgClientNetworkingMobileCertRequest {
optional uint32 app_id = 1;
}
message CMsgClientNetworkingMobileCertReply {
optional string encoded_cert = 1;
}
message CMsgClientGetAppOwnershipTicket {
optional uint32 app_id = 1;
}
@ -106,7 +114,7 @@ message CMsgClientGameConnectTokens {
message CMsgGSServerType {
optional uint32 app_id_served = 1;
optional uint32 flags = 2;
optional uint32 game_ip_address = 3;
optional uint32 deprecated_game_ip_address = 3;
optional uint32 game_port = 4;
optional string game_dir = 5;
optional string game_version = 6;
@ -120,8 +128,9 @@ message CMsgGSStatusReply {
message CMsgGSPlayerList {
message Player {
optional uint64 steam_id = 1;
optional uint32 public_ip = 2;
optional uint32 deprecated_public_ip = 2;
optional bytes token = 3;
optional .CMsgIPAddress public_ip = 4;
}
repeated .CMsgGSPlayerList.Player players = 1;
@ -129,8 +138,9 @@ message CMsgGSPlayerList {
message CMsgGSUserPlaying {
optional fixed64 steam_id = 1;
optional uint32 public_ip = 2;
optional uint32 deprecated_public_ip = 2;
optional bytes token = 3;
optional .CMsgIPAddress public_ip = 4;
}
message CMsgGSDisconnectNotice {
@ -141,7 +151,7 @@ message CMsgClientGamesPlayed {
message GamePlayed {
optional uint64 steam_id_gs = 1;
optional fixed64 game_id = 2;
optional uint32 game_ip_address = 3;
optional uint32 deprecated_game_ip_address = 3;
optional uint32 game_port = 4;
optional bool is_secure = 5;
optional bytes token = 6;
@ -161,10 +171,13 @@ message CMsgClientGamesPlayed {
optional uint64 controller_workshop_file_id = 20 [default = 0];
optional uint32 launch_source = 21 [default = 0];
optional uint32 vr_hmd_runtime = 22;
optional .CMsgIPAddress game_ip_address = 23;
optional uint32 controller_connection_type = 24 [default = 0];
}
repeated .CMsgClientGamesPlayed.GamePlayed games_played = 1;
optional uint32 client_os_type = 2;
optional uint32 cloud_gaming_platform = 3;
}
message CMsgGSApprove {
@ -216,6 +229,7 @@ message CMsgClientLicenseList {
optional uint32 initial_time_unit = 14;
optional uint32 renewal_period = 15;
optional uint32 renewal_time_unit = 16;
optional uint64 access_token = 17;
}
optional int32 eresult = 1 [default = 2];
@ -340,9 +354,10 @@ message CMsgClientMMSCreateLobby {
optional int32 lobby_type = 3;
optional int32 lobby_flags = 4;
optional uint32 cell_id = 5;
optional uint32 public_ip = 6;
optional uint32 deprecated_public_ip = 6;
optional bytes metadata = 7;
optional string persona_name_owner = 8;
optional .CMsgIPAddress public_ip = 9;
}
message CMsgClientMMSCreateLobbyResponse {
@ -397,8 +412,9 @@ message CMsgClientMMSGetLobbyList {
optional uint32 app_id = 1;
optional int32 num_lobbies_requested = 3;
optional uint32 cell_id = 4;
optional uint32 public_ip = 5;
optional uint32 deprecated_public_ip = 5;
repeated .CMsgClientMMSGetLobbyList.Filter filters = 6;
optional .CMsgIPAddress public_ip = 7;
}
message CMsgClientMMSGetLobbyListResponse {
@ -494,17 +510,19 @@ message CMsgClientMMSSetLobbyLinked {
message CMsgClientMMSSetLobbyGameServer {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional uint32 game_server_ip = 3;
optional uint32 deprecated_game_server_ip = 3;
optional uint32 game_server_port = 4;
optional fixed64 game_server_steam_id = 5;
optional .CMsgIPAddress game_server_ip = 6;
}
message CMsgClientMMSLobbyGameServerSet {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional uint32 game_server_ip = 3;
optional uint32 deprecated_game_server_ip = 3;
optional uint32 game_server_port = 4;
optional fixed64 game_server_steam_id = 5;
optional .CMsgIPAddress game_server_ip = 6;
}
message CMsgClientMMSUserJoinedLobby {
@ -854,6 +872,7 @@ message CMsgClientUFSGetFileListForApp {
message CMsgClientUFSGetFileListForAppResponse {
option (msgpool_soft_limit) = 8;
option (msgpool_hard_limit) = 16;
message File {
optional uint32 app_id = 1;
optional string file_name = 2;
@ -944,8 +963,8 @@ message CMsgClientAppInfoRequest {
}
message CMsgClientAppInfoResponse {
option (msgpool_soft_limit) = 0;
option (msgpool_hard_limit) = 0;
message App {
message Section {
optional uint32 section_id = 1;
@ -1026,11 +1045,12 @@ message CMsgClientPICSProductInfoRequest {
repeated .CMsgClientPICSProductInfoRequest.AppInfo apps = 2;
optional bool meta_data_only = 3;
optional uint32 num_prev_failed = 4;
optional uint32 supports_package_tokens = 5;
}
message CMsgClientPICSProductInfoResponse {
option (msgpool_soft_limit) = 0;
option (msgpool_hard_limit) = 0;
message AppInfo {
optional uint32 appid = 1;
optional uint32 change_number = 2;
@ -1202,4 +1222,3 @@ message CMsgClientUnsignedInstallScript {
optional uint64 manifest_id = 6;
optional uint32 file_flags = 7;
}

73
protobufs/steammessages_clientserver_2.proto

@ -160,6 +160,7 @@ message CMsgClientUCMEnumerateUserSubscribedFilesWithUpdates {
optional uint32 app_id = 1;
optional uint32 start_index = 2;
optional fixed32 start_time = 3;
optional uint32 desired_revision = 4 [default = 0];
}
message CMsgClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse {
@ -178,26 +179,6 @@ message CMsgClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse {
optional uint32 total_results = 3;
}
message CMsgClientUCMPublishedFileSubscribed {
optional fixed64 published_file_id = 1;
optional uint32 app_id = 2;
optional fixed64 file_hcontent = 3;
optional uint32 file_size = 4;
optional uint32 rtime_subscribed = 5;
optional bool is_depot_content = 6;
optional uint32 rtime_updated = 7;
}
message CMsgClientUCMPublishedFileUnsubscribed {
optional fixed64 published_file_id = 1;
optional uint32 app_id = 2;
}
message CMsgClientUCMPublishedFileDeleted {
optional fixed64 published_file_id = 1;
optional uint32 app_id = 2;
}
message CMsgClientUCMPublishedFileUpdated {
optional fixed64 published_file_id = 1;
optional uint32 app_id = 2;
@ -205,6 +186,7 @@ message CMsgClientUCMPublishedFileUpdated {
optional fixed64 hcontent = 4;
optional fixed32 file_size = 5;
optional bool is_depot_content = 6;
optional uint32 revision = 7;
}
message CMsgClientWorkshopItemChangesRequest {
@ -540,10 +522,13 @@ message CMsgDownloadRateStatistics {
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;
}
message CMsgClientRequestAccountData {
@ -592,11 +577,12 @@ message CMsgGameServerData {
}
optional fixed64 steam_id_gs = 1;
optional uint32 ip = 2;
optional uint32 deprecated_ip = 2;
optional uint32 query_port = 3;
optional uint32 game_port = 4;
optional uint32 sourcetv_port = 5;
optional string name = 22;
optional .CMsgIPAddress game_ip_address = 23;
optional uint32 app_id = 6;
optional string gamedir = 7;
optional string version = 8;
@ -617,8 +603,9 @@ message CMsgGameServerData {
message CMsgGameServerRemove {
optional fixed64 steam_id = 1;
optional uint32 ip = 2;
optional uint32 deprecated_ip = 2;
optional uint32 query_port = 3;
optional .CMsgIPAddress ip = 4;
}
message CMsgClientGMSServerQuery {
@ -631,9 +618,10 @@ message CMsgClientGMSServerQuery {
message CMsgGMSClientServerQueryResponse {
message Server {
optional uint32 server_ip = 1;
optional uint32 deprecated_server_ip = 1;
optional uint32 server_port = 2;
optional uint32 auth_players = 3;
optional .CMsgIPAddress server_ip = 4;
}
repeated .CMsgGMSClientServerQueryResponse.Server servers = 1;
@ -789,7 +777,17 @@ message CMsgClientRequestForgottenPasswordEmailResponse {
}
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 {
@ -863,31 +861,6 @@ message CMsgClientEmailAddrInfo {
optional bool remind_user_about_email = 6;
}
message CMsgCREEnumeratePublishedFiles {
optional uint32 app_id = 1;
optional int32 query_type = 2;
optional uint32 start_index = 3;
optional uint32 days = 4;
optional uint32 count = 5;
repeated string tags = 6;
repeated string user_tags = 7;
optional uint32 matching_file_type = 8 [default = 13];
}
message CMsgCREEnumeratePublishedFilesResponse {
message PublishedFileId {
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 .CMsgCREEnumeratePublishedFilesResponse.PublishedFileId published_files = 2;
optional uint32 total_results = 3;
}
message CMsgCREItemVoteSummary {
message PublishedFileId {
optional fixed64 published_file_id = 1;
@ -1167,3 +1140,7 @@ message CMsgClientVoiceCallPreAuthorizeResponse {
optional int32 caller_id = 4;
}
message CMsgBadgeCraftedNotification {
optional uint32 appid = 1;
optional uint32 badge_level = 2;
}

19
protobufs/steammessages_clientserver_friends.proto

@ -130,7 +130,6 @@ message CMsgClientPersonaState {
optional uint32 game_server_port = 5;
optional uint32 persona_state_flags = 6;
optional uint32 online_session_instances = 7;
optional uint32 published_instance_id = 8;
optional bool persona_set_by_user = 10;
optional string player_name = 15;
optional uint32 query_port = 20;
@ -235,6 +234,22 @@ message CMsgClientEmoticonList {
optional uint32 time_received = 5;
}
repeated .CMsgClientEmoticonList.Emoticon emoticons = 1;
message Sticker {
optional string name = 1;
optional int32 count = 2;
optional uint32 time_received = 3;
optional uint32 appid = 4;
}
message Effect {
optional string name = 1;
optional int32 count = 2;
optional uint32 time_received = 3;
optional bool infinite_use = 4;
optional uint32 appid = 5;
}
repeated .CMsgClientEmoticonList.Emoticon emoticons = 1;
repeated .CMsgClientEmoticonList.Sticker stickers = 2;
repeated .CMsgClientEmoticonList.Effect effects = 3;
}

3
protobufs/steammessages_clientserver_login.proto

@ -34,7 +34,7 @@ message CMsgClientLogon {
optional uint32 client_os_type = 7;
optional bool should_remember_password = 8 [default = false];
optional string wine_version = 9;
optional uint32 ping_ms_from_cell_search = 10;
optional uint32 deprecated_10 = 10;
optional .CMsgIPAddress obfuscated_private_ip = 11;
optional uint32 deprecated_public_ip = 20;
optional uint32 qos_level = 21;
@ -154,4 +154,3 @@ message CMsgClientChallengeRequest {
message CMsgClientChallengeResponse {
optional fixed64 challenge = 1;
}

24
protobufs/steammessages_cloud.proto

@ -17,7 +17,7 @@ message CCloud_BeginHTTPUpload_Request {
optional string filename = 3 [(description) = "Name of the file to store in the cloud."];
optional string file_sha = 4 [(description) = "Hex string (40 digits) representing the SHA1 digest of the file."];
optional bool is_public = 5 [(description) = "True if the file should be marked public on the UFS, false otherwise."];
repeated string platforms_to_sync = 6 [(description) = "Array of string specifying which platforms to sync; value values: all, windows, osx, linux."];
repeated string platforms_to_sync = 6 [(description) = "Array of string specifying which platforms to sync; value values: all, Windows, MacOS, linux, Switch, iPhoneOS, Android."];
repeated string request_headers_names = 7 [(description) = "Names for headers you'll want to set on your upload request. May be left blank."];
repeated string request_headers_values = 8 [(description) = "Values for headers you'll want to set on your upload request. The number of names must equal the number of values."];
}
@ -61,6 +61,8 @@ message CCloud_UserFile {
optional string url = 6;
optional fixed64 steamid_creator = 7;
optional uint32 flags = 8;
repeated string platforms_to_sync = 9 [(description) = "Array of string specifying which platforms to sync; value values: all, Windows, MacOS, linux, Switch, iPhoneOS, Android."];
optional string file_sha = 10 [(description) = "Hex string (40 digits) representing the SHA1 digest of the file."];
}
message CCloud_GetFileDetails_Response {
@ -115,6 +117,9 @@ message CCloud_ExternalStorageTransferReport_Notification {
optional uint64 bytes_actual = 7;
optional uint32 duration_ms = 8;
optional uint32 cellid = 9;
optional bool proxied = 10;
optional bool ipv6_local = 11;
optional bool ipv6_remote = 12;
}
message CCloud_ClientBeginFileUpload_Request {
@ -128,6 +133,7 @@ message CCloud_ClientBeginFileUpload_Request {
optional uint32 cell_id = 9 [(description) = "Client's cell ID so we can pick storage location."];
optional bool can_encrypt = 10 [(description) = "if true, client can encrypt the file before uploading it"];
optional bool is_shared_file = 11 [(description) = "if true, this is going to be UGC or a screenshot or some other shared file"];
optional uint32 realm = 12 [(description) = "Steam Realm"];
}
message ClientCloudFileUploadBlockDetails {
@ -166,6 +172,7 @@ message CCloud_ClientCommitFileUpload_Response {
message CCloud_ClientFileDownload_Request {
optional uint32 appid = 1 [(description) = "App ID the file is part of."];
optional string filename = 2 [(description) = "Filename of the file."];
optional uint32 realm = 3 [(description) = "Steam Realm"];
}
message CCloud_ClientFileDownload_Response {
@ -216,48 +223,63 @@ message CCloud_EnumerateUserApps_Response {
service Cloud {
option (service_description) = "A service for Steam Cloud operations.";
rpc GetUploadServerInfo (.CCloud_GetUploadServerInfo_Request) returns (.CCloud_GetUploadServerInfo_Response) {
option (method_description) = "Returns the URL of the proper cloud server for a user.";
}
rpc BeginHTTPUpload (.CCloud_BeginHTTPUpload_Request) returns (.CCloud_BeginHTTPUpload_Response) {
option (method_description) = "Begins the process of uploading a file to Steam external storage services. File should be uploaded via HTTP PUT to the returned URL, after which the upload must be finalized by a call to CommitHTTPUpload.";
}
rpc CommitHTTPUpload (.CCloud_CommitHTTPUpload_Request) returns (.CCloud_CommitHTTPUpload_Response) {
option (method_description) = "Commits a file upload initiated by BeginHTTPUpload and transferred via HTTP PUT.";
}
rpc GetFileDetails (.CCloud_GetFileDetails_Request) returns (.CCloud_GetFileDetails_Response) {
option (method_description) = "Returns details on a Cloud file.";
}
rpc EnumerateUserFiles (.CCloud_EnumerateUserFiles_Request) returns (.CCloud_EnumerateUserFiles_Response) {
option (method_description) = "Enumerates Cloud files for a user of a given app ID. Returns up to 500 files at a time.";
}
rpc Delete (.CCloud_Delete_Request) returns (.CCloud_Delete_Response) {
option (method_description) = "Deletes a file from the user's cloud.";
}
rpc GetClientEncryptionKey (.CCloud_GetClientEncryptionKey_Request) returns (.CCloud_GetClientEncryptionKey_Response) {
option (method_description) = "Gets the user's Cloud file encryption key.";
}
rpc CDNReport (.CCloud_CDNReport_Notification) returns (.NoResponse) {
option (method_description) = "Reports the result of a CDN transfer.";
}
rpc ExternalStorageTransferReport (.CCloud_ExternalStorageTransferReport_Notification) returns (.NoResponse) {
option (method_description) = "Reports the result of an external Cloud storage transfer.";
}
rpc ClientBeginFileUpload (.CCloud_ClientBeginFileUpload_Request) returns (.CCloud_ClientBeginFileUpload_Response) {
option (method_description) = "Initiate an upload to Cloud.";
}
rpc ClientCommitFileUpload (.CCloud_ClientCommitFileUpload_Request) returns (.CCloud_ClientCommitFileUpload_Response) {
option (method_description) = "Commit the file upload or indicate failure.";
}
rpc ClientFileDownload (.CCloud_ClientFileDownload_Request) returns (.CCloud_ClientFileDownload_Response) {
option (method_description) = "Initiate a file download.";
}
rpc ClientDeleteFile (.CCloud_ClientDeleteFile_Request) returns (.CCloud_ClientDeleteFile_Response) {
option (method_description) = "Delete or forget a file.";
}
rpc ClientConflictResolution (.CCloud_ClientConflictResolution_Notification) returns (.NoResponse) {
option (method_description) = "User has picked a resolution for a Cloud conflict.";
}
rpc EnumerateUserApps (.CCloud_EnumerateUserApps_Request) returns (.CCloud_EnumerateUserApps_Response) {
option (method_description) = "Enumerates apps stroing cloud files for a user.";
}

9
protobufs/steammessages_credentials.proto

@ -39,6 +39,7 @@ message CCredentials_GetSteamGuardDetails_Response {
repeated .CCredentials_GetSteamGuardDetails_Response.NewAuthentication newauthentication = 5;
optional bool authentication_exists_from_same_ip_before_mintime = 6;
optional uint32 public_ipv4 = 7;
optional string public_ip_address = 8;
}
optional bool is_steamguard_enabled = 1;
@ -88,6 +89,7 @@ message CCredentials_SteamGuardPhishingReport_Response {
}
message CCredentials_LastCredentialChangeTime_Request {
optional bool user_changes_only = 1;
}
message CCredentials_LastCredentialChangeTime_Response {
@ -106,24 +108,31 @@ message CCredentials_GetAccountAuthSecret_Response {
service Credentials {
option (service_description) = "Credentials service";
rpc TestAvailablePassword (.CCredentials_TestAvailablePassword_Request) returns (.CCredentials_TestAvailablePassword_Response) {
option (method_description) = "TestAvailablePassword.";
}
rpc GetSteamGuardDetails (.CCredentials_GetSteamGuardDetails_Request) returns (.CCredentials_GetSteamGuardDetails_Response) {
option (method_description) = "GetSteamGuardDetails.";
}
rpc NewMachineNotificationDialogResult (.CCredentials_NewMachineNotificationDialog_Request) returns (.CCredentials_NewMachineNotificationDialog_Response) {
option (method_description) = "NewMachineNotificationDialogResult.";
}
rpc ValidateEmailAddress (.CCredentials_ValidateEmailAddress_Request) returns (.CCredentials_ValidateEmailAddress_Response) {
option (method_description) = "Validate an email address given a token";
}
rpc SteamGuardPhishingReport (.CCredentials_SteamGuardPhishingReport_Request) returns (.CCredentials_SteamGuardPhishingReport_Response) {
option (method_description) = "SteamGuardPhishingReport";
}
rpc GetCredentialChangeTimeDetails (.CCredentials_LastCredentialChangeTime_Request) returns (.CCredentials_LastCredentialChangeTime_Response) {
option (method_description) = "GetCredentialChangeTimeDetails.";
}
rpc GetAccountAuthSecret (.CCredentials_GetAccountAuthSecret_Request) returns (.CCredentials_GetAccountAuthSecret_Response) {
option (method_description) = "GetAccountAuthSecret";
}

3
protobufs/steammessages_datapublisher.proto

@ -28,10 +28,13 @@ message CValveHWSurvey_GetSurveySchedule_Response {
service DataPublisher {
option (service_description) = "Data Publisher (DP) server services";
rpc ClientContentCorruptionReport (.CDataPublisher_ClientContentCorruptionReport_Notification) returns (.NoResponse);
}
service ValveHWSurvey {
option (service_description) = "ValveHWSurvey";
rpc GetSurveySchedule (.CValveHWSurvey_GetSurveySchedule_Request) returns (.CValveHWSurvey_GetSurveySchedule_Response) {
option (method_description) = "Should I run the survey";
}

6
protobufs/steammessages_depotbuilder.proto

@ -84,21 +84,27 @@ message CContentBuilder_SignInstallScript_Response {
service ContentBuilder {
option (service_description) = "Interface to build and upload depot content";
rpc InitDepotBuild (.CContentBuilder_InitDepotBuild_Request) returns (.CContentBuilder_InitDepotBuild_Response) {
option (method_description) = "Get inital parameters to start building a depot";
}
rpc StartDepotUpload (.CContentBuilder_StartDepotUpload_Request) returns (.CContentBuilder_StartDepotUpload_Response) {
option (method_description) = "Start uploading manifest and chunks for a depot";
}
rpc GetMissingDepotChunks (.CContentBuilder_GetMissingDepotChunks_Request) returns (.CContentBuilder_GetMissingDepotChunks_Response) {
option (method_description) = "Get list of missing chunks for depot upload";
}
rpc FinishDepotUpload (.CContentBuilder_FinishDepotUpload_Request) returns (.CContentBuilder_FinishDepotUpload_Response) {
option (method_description) = "Commit a depot build after manifest and all chunks are uploaded";
}
rpc CommitAppBuild (.CContentBuilder_CommitAppBuild_Request) returns (.CContentBuilder_CommitAppBuild_Response) {
option (method_description) = "Combine previous depot uploads into an app build and commit it";
}
rpc SignInstallScript (.CContentBuilder_SignInstallScript_Request) returns (.CContentBuilder_SignInstallScript_Response) {
option (method_description) = "Sign an install script";
}

11
protobufs/steammessages_deviceauth.proto

@ -153,36 +153,47 @@ message CDeviceAuth_GetBorrowerPlayHistory_Response {
service DeviceAuth {
option (service_description) = "Library Sharing settings service";
rpc GetOwnAuthorizedDevices (.CDeviceAuth_GetOwnAuthorizedDevices_Request) returns (.CDeviceAuth_GetOwnAuthorizedDevices_Response) {
option (method_description) = "Get list of authorized devices";
}
rpc AcceptAuthorizationRequest (.CDeviceAuth_AcceptAuthorizationRequest_Request) returns (.CDeviceAuth_AcceptAuthorizationRequest_Response) {
option (method_description) = "Accept an authorization request by another users";
}
rpc AuthorizeRemoteDevice (.CDeviceAuth_AuthorizeRemoteDevice_Request) returns (.CDeviceAuth_AuthorizeRemoteDevice_Response) {
option (method_description) = "Authorize own remote device that has pending request";
}
rpc DeauthorizeRemoteDevice (.CDeviceAuth_DeauthorizeRemoteDevice_Request) returns (.CDeviceAuth_DeauthorizeRemoteDevice_Response) {
option (method_description) = "Revoke own device authorization";
}
rpc GetUsedAuthorizedDevices (.CDeviceAuth_GetUsedAuthorizedDevices_Request) returns (.CDeviceAuth_GetUsedAuthorizedDevices_Response) {
option (method_description) = "Get list of authorized devices user played borrowed games on";
}
rpc GetAuthorizedBorrowers (.CDeviceAuth_GetAuthorizedBorrowers_Request) returns (.CDeviceAuth_GetAuthorizedBorrowers_Response) {
option (method_description) = "Get list of users that can borrow on an authorized device";
}
rpc AddAuthorizedBorrowers (.CDeviceAuth_AddAuthorizedBorrowers_Request) returns (.CDeviceAuth_AddAuthorizedBorrowers_Response) {
option (method_description) = "Add users that can borrow on limited authorized devices";
}
rpc RemoveAuthorizedBorrowers (.CDeviceAuth_RemoveAuthorizedBorrowers_Request) returns (.CDeviceAuth_RemoveAuthorizedBorrowers_Response) {
option (method_description) = "Remove users that can borrow on limited authorized devices";
}
rpc GetAuthorizedAsBorrower (.CDeviceAuth_GetAuthorizedAsBorrower_Request) returns (.CDeviceAuth_GetAuthorizedAsBorrower_Response) {
option (method_description) = "Get list of lenders that authorized given account as borrower";
}
rpc GetExcludedGamesInLibrary (.CDeviceAuth_GetExcludedGamesInLibrary_Request) returns (.CDeviceAuth_GetExcludedGamesInLibrary_Response) {
option (method_description) = "Get list of excluded games in lenders library";
}
rpc GetBorrowerPlayHistory (.CDeviceAuth_GetBorrowerPlayHistory_Request) returns (.CDeviceAuth_GetBorrowerPlayHistory_Response) {
option (method_description) = "Get list played games as borrower";
}

5
protobufs/steammessages_econ.proto

@ -71,6 +71,8 @@ message CEconItem_Description {
optional bool marketable = 25;
repeated .CEconItem_Tag tags = 26;
optional string item_expiration = 27;
optional string market_buy_country_restriction = 30;
optional string market_sell_country_restriction = 31;
}
message CEconItem_Tag {
@ -88,12 +90,15 @@ message CEcon_GetAssetClassInfo_Response {
service Econ {
option (service_description) = "A service that provides communication with the econ servers";
rpc GetTradeOfferAccessToken (.CEcon_GetTradeOfferAccessToken_Request) returns (.CEcon_GetTradeOfferAccessToken_Response) {
option (method_description) = "Get the user's trade offer access token";
}
rpc ClientGetItemShopOverlayAuthURL (.CEcon_ClientGetItemShopOverlayAuthURL_Request) returns (.CEcon_ClientGetItemShopOverlayAuthURL_Response) {
option (method_description) = "Generates a URL which sets a secure cookie for in-game-browser itemshop purchases";
}
rpc GetAssetClassInfo (.CEcon_GetAssetClassInfo_Request) returns (.CEcon_GetAssetClassInfo_Response) {
option (method_description) = "Returns description information about the passed in asset classes";
}

10
protobufs/steammessages_friendmessages.proto

@ -51,12 +51,14 @@ message CFriendMessages_SendMessage_Request {
optional bool contains_bbcode = 4;
optional bool echo_to_sender = 5;
optional bool low_priority = 6;
optional string client_message_id = 8;
}
message CFriendMessages_SendMessage_Response {
optional string modified_message = 1;
optional uint32 server_timestamp = 2;
optional uint32 ordinal = 3;
optional string message_without_bb_code = 4;
}
message CFriendMessages_AckMessage_Notification {
@ -87,27 +89,35 @@ message CFriendMessages_IncomingMessage_Notification {
service FriendMessages {
option (service_description) = "A service for relaying and logging friend messages (user-to-user chats and offline messaging)";
rpc GetRecentMessages (.CFriendMessages_GetRecentMessages_Request) returns (.CFriendMessages_GetRecentMessages_Response) {
option (method_description) = "Get a log of recent chat messages between two users";
}
rpc GetActiveMessageSessions (.CFriendsMessages_GetActiveMessageSessions_Request) returns (.CFriendsMessages_GetActiveMessageSessions_Response) {
option (method_description) = "Get information about recent offline messages and chats";
}
rpc SendMessage (.CFriendMessages_SendMessage_Request) returns (.CFriendMessages_SendMessage_Response) {
option (method_description) = "Send a chat message to a friend";
}
rpc AckMessage (.CFriendMessages_AckMessage_Notification) returns (.NoResponse) {
option (method_description) = "Acknowledge that we have seen the most recent message from a friend";
}
rpc IsInFriendsUIBeta (.CFriendMessages_IsInFriendsUIBeta_Request) returns (.CFriendMessages_IsInFriendsUIBeta_Response) {
option (method_description) = "See if a friend is in the friendsui beta.";
}
}
service FriendMessagesClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc IncomingMessage (.CFriendMessages_IncomingMessage_Notification) returns (.NoResponse) {
option (method_description) = "New chat message from a friend.";
}
rpc NotifyAckMessageEcho (.CFriendMessages_AckMessage_Notification) returns (.NoResponse) {
option (method_description) = "A session acked an unread message, echo to other sessions.";
}

9
protobufs/steammessages_gamenotifications.proto

@ -116,31 +116,40 @@ message CGameNotifications_OnUserStatusChanged_Notification {
service GameNotifications {
option (service_description) = "A service for functions related to the asyncronous game notification server.";
rpc UserCreateSession (.CGameNotifications_CreateSession_Request) returns (.CGameNotifications_CreateSession_Response) {
option (method_description) = "Creates an async game session";
}
rpc UserDeleteSession (.CGameNotifications_DeleteSession_Request) returns (.CGameNotifications_DeleteSession_Response) {
option (method_description) = "Deletes an async game session";
}
rpc UserUpdateSession (.CGameNotifications_UpdateSession_Request) returns (.CGameNotifications_UpdateSession_Response) {
option (method_description) = "Updates an async game session";
}
rpc EnumerateSessions (.CGameNotifications_EnumerateSessions_Request) returns (.CGameNotifications_EnumerateSessions_Response) {
option (method_description) = "Enumerates a user's sessions";
}
rpc GetSessionDetails (.CGameNotifications_GetSessionDetails_Request) returns (.CGameNotifications_GetSessionDetails_Response) {
option (method_description) = "Get the details for a specific session";
}
rpc UpdateNotificationSettings (.CGameNotifications_UpdateNotificationSettings_Request) returns (.CGameNotifications_UpdateNotificationSettings_Response) {
option (method_description) = "Updates whether a user allows game notifications for a specific app";
}
}
service GameNotificationsClient {
option (service_description) = "Client notifications";
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc OnNotificationsRequested (.CGameNotifications_OnNotificationsRequested_Notification) returns (.NoResponse) {
option (method_description) = "Requests that the user opt into notifications";
}
rpc OnUserStatusChanged (.CGameNotifications_OnUserStatusChanged_Notification) returns (.NoResponse) {
option (method_description) = "Notification that the user's status has changed";
}

3
protobufs/steammessages_gameservers.proto

@ -52,12 +52,15 @@ message CGameServers_GetServerIPsBySteamID_Request {
service GameServers {
option (service_description) = "A service for searching and managing game servers.";
rpc GetServerList (.CGameServers_GetServerList_Request) returns (.CGameServers_GetServerList_Response) {
option (method_description) = "Gets a list of servers given a filter string";
}
rpc GetServerSteamIDsByIP (.CGameServers_GetServerSteamIDsByIP_Request) returns (.CGameServers_IPsWithSteamIDs_Response) {
option (method_description) = "Gets a list of server SteamIDs given a list of IPs";
}
rpc GetServerIPsBySteamID (.CGameServers_GetServerIPsBySteamID_Request) returns (.CGameServers_IPsWithSteamIDs_Response) {
option (method_description) = "Gets a list of server IP addresses given a list of SteamIDs";
}

17
protobufs/steammessages_inventory.proto

@ -140,55 +140,72 @@ message CInventoryClient_NewItems_Notification {
service Inventory {
option (service_description) = "A service that provides access to inventory";
rpc GetInventory (.CInventory_GetInventory_Request) returns (.CInventory_Response) {
option (method_description) = "Retrieves a users inventory as a big JSON blob";
}
rpc ExchangeItem (.CInventory_ExchangeItem_Request) returns (.CInventory_Response) {
option (method_description) = "Craft an item in a user's inventory";
}
rpc GetEligiblePromoItemDefIDs (.CInventory_GetEligiblePromoItemDefIDs_Request) returns (.CInventory_GetEligiblePromoItemDefIDs_Response) {
option (method_description) = "Returns a list of promo item defs the user is eligible for";
}
rpc AddPromoItem (.CInventory_AddItem_Request) returns (.CInventory_Response) {
option (method_description) = "Adds a promo item to a user's inventory";
}
rpc SafeModifyItems (.CInventory_ModifyItems_Request) returns (.CInventory_Response) {
option (method_description) = "Modify an item in a user's inventory (safe properties only)";
}
rpc ConsumePlaytime (.CInventory_ConsumePlaytime_Request) returns (.CInventory_Response) {
option (method_description) = "Consumes playtime and possibly returns a granted item";
}
rpc ConsumeItem (.CInventory_ConsumeItem_Request) returns (.CInventory_Response) {
option (method_description) = "Consume an item";
}
rpc DevGenerateItem (.CInventory_AddItem_Request) returns (.CInventory_Response) {
option (method_description) = "Grant an item when in developer mode";
}
rpc DevSetNextDrop (.CInventory_DevSetNextDrop_Request) returns (.CInventory_Response) {
option (method_description) = "Consume an item";
}
rpc SplitItemStack (.CInventory_SplitItemStack_Request) returns (.CInventory_Response) {
option (method_description) = "Split an item stack into two stacks";
}
rpc CombineItemStacks (.CInventory_CombineItemStacks_Request) returns (.CInventory_Response) {
option (method_description) = "Combine two stacks of items";
}
rpc GetItemDefMeta (.CInventory_GetItemDefMeta_Request) returns (.CInventory_GetItemDefMeta_Response) {
option (method_description) = "Get metadata about the current item definition for this game.";
}
rpc GetUserPurchaseInfo (.CInventory_GetUserPurchaseInfo_Request) returns (.CInventory_GetUserPurchaseInfo_Response) {
option (method_description) = "Returns information about the user such as their currency";
}
rpc PurchaseInit (.CInventory_PurchaseInit_Request) returns (.CInventory_PurchaseInit_Response) {
option (method_description) = "Initializes a purchase for the user";
}
rpc PurchaseFinalize (.CInventory_PurchaseFinalize_Request) returns (.CInventory_Response) {
option (method_description) = "Finalizes a purchase for the user";
}
}
service InventoryClient {
option (service_description) = "Client notifications inventory service events";
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyNewItems (.CInventoryClient_NewItems_Notification) returns (.NoResponse) {
option (method_description) = "Notify client that the user received new items";
}

3
protobufs/steammessages_linkfilter.proto

@ -34,12 +34,15 @@ message CCommunity_GetLinkFilterListVersion_Response {
service CommunityLinkFilter {
option (service_description) = "A service for recording data about Steam Community phishing link filtering";
rpc GetLinkFilterHashPrefixes (.CCommunity_GetLinkFilterHashPrefixes_Request) returns (.CCommunity_GetLinkFilterHashPrefixes_Response) {
option (method_description) = "Get a list of hash prefixes for the specified hit type, to use for client caching.";
}
rpc GetLinkFilterHashes (.CCommunity_GetLinkFilterHashes_Request) returns (.CCommunity_GetLinkFilterHashes_Response) {
option (method_description) = "Get a list of hashes for the specified hit type, to use for client caching.";
}
rpc GetLinkFilterListVersion (.CCommunity_GetLinkFilterListVersion_Request) returns (.CCommunity_GetLinkFilterListVersion_Response) {
option (method_description) = "Get a list of hashes describing the version of each chunk of the requested size.";
}

2
protobufs/steammessages_offline.proto

@ -26,9 +26,11 @@ message COffline_GetUnsignedOfflineLogonTicket_Response {
service Offline {
option (service_description) = "Offline settings service";
rpc GetOfflineLogonTicket (.COffline_GetOfflineLogonTicket_Request) returns (.COffline_GetOfflineLogonTicket_Response) {
option (method_description) = "Get a serialized and signed offline logon ticket for the current user";
}
rpc GetUnsignedOfflineLogonTicket (.COffline_GetUnsignedOfflineLogonTicket_Request) returns (.COffline_GetUnsignedOfflineLogonTicket_Response) {
option (method_description) = "Get an unsigned offline logon ticket for the current user";
}

15
protobufs/steammessages_parental.proto

@ -20,6 +20,7 @@ message ParentalSettings {
optional bool is_enabled = 9;
optional uint32 enabled_features = 10;
optional string recovery_email = 11;
optional bool is_site_license_lock = 12;
}
message CParental_EnableParentalSettings_Request {
@ -125,46 +126,60 @@ message CParental_ParentalLock_Notification {
service Parental {
option (service_description) = "Parental settings service";
rpc EnableParentalSettings (.CParental_EnableParentalSettings_Request) returns (.CParental_EnableParentalSettings_Response) {
option (method_description) = "Enable parental settings for the logged in account, optionally setting the current settings";
}
rpc DisableParentalSettings (.CParental_DisableParentalSettings_Request) returns (.CParental_DisableParentalSettings_Response) {
option (method_description) = "Disable parental settings for the logged in account";
}
rpc GetParentalSettings (.CParental_GetParentalSettings_Request) returns (.CParental_GetParentalSettings_Response) {
option (method_description) = "Get the current parental settings for the logged in account";
}
rpc GetSignedParentalSettings (.CParental_GetSignedParentalSettings_Request) returns (.CParental_GetSignedParentalSettings_Response) {
option (method_description) = "Get the current parental settings for the logged in account in a form that can by verified by the receiver";
}
rpc SetParentalSettings (.CParental_SetParentalSettings_Request) returns (.CParental_SetParentalSettings_Response) {
option (method_description) = "Set the current parental settings for the logged in account";
}
rpc ValidateToken (.CParental_ValidateToken_Request) returns (.CParental_ValidateToken_Response) {
option (method_description) = "Check if the given parental unlock token is correct for the logged in account";
}
rpc ValidatePassword (.CParental_ValidatePassword_Request) returns (.CParental_ValidatePassword_Response) {
option (method_description) = "Validate the plaintext password for the logged in account and return an unlock token";
}
rpc LockClient (.CParental_LockClient_Request) returns (.CParental_LockClient_Response) {
option (method_description) = "Notify connected clients that a lock has occurred in a browser";
}
rpc RequestRecoveryCode (.CParental_RequestRecoveryCode_Request) returns (.CParental_RequestRecoveryCode_Response) {
option (method_description) = "Request a recovery code be sent to the recovery email address for the specified account";
}
rpc DisableWithRecoveryCode (.CParental_DisableWithRecoveryCode_Request) returns (.CParental_DisableWithRecoveryCode_Response) {
option (method_description) = "Attempt a recovery unlock on the specified account";
}
}
service ParentalClient {
option (service_description) = "Parental settings client notifications";
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifySettingsChange (.CParental_ParentalSettingsChange_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client of a change in parental settings";
}
rpc NotifyUnlock (.CParental_ParentalUnlock_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that an unlock has occurred in a browser";
}
rpc NotifyLock (.CParental_ParentalLock_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that a lock has occurred in a browser";
}

11
protobufs/steammessages_partnerapps.proto

@ -91,35 +91,46 @@ message CPartnerApps_Download_Response {
service PartnerApps {
option (service_description) = "Service methods for app management by partners";
rpc RequestKVSignUploadToken (.CPartnerApps_RequestUploadToken_Request) returns (.CPartnerApps_RequestUploadToken_Response) {
option (method_description) = "Request upload token for installscript file upload / signing";
}
rpc RequestDRMUploadToken (.CPartnerApps_RequestUploadToken_Request) returns (.CPartnerApps_RequestUploadToken_Response) {
option (method_description) = "Request upload token for executable file upload / processing";
}
rpc RequestCEGUploadToken (.CPartnerApps_RequestUploadToken_Request) returns (.CPartnerApps_RequestUploadToken_Response) {
option (method_description) = "Request upload token for custom executable file upload / processing";
}
rpc RequestDepotUploadToken (.CPartnerApps_RequestUploadToken_Request) returns (.CPartnerApps_RequestUploadToken_Response) {
option (method_description) = "Request upload token for steampipe depot upload";
}
rpc FinishUploadKVSign (.CPartnerApps_FinishUpload_Request) returns (.CPartnerApps_FinishUploadKVSign_Response) {
option (method_description) = "Commit method to sign an installscript after an upload is complete";
}
rpc FinishUploadDRMUpload (.CPartnerApps_FinishUploadLegacyDRM_Request) returns (.CPartnerApps_FinishUploadLegacyDRM_Response) {
option (method_description) = "Commit method for executable file processing";
}
rpc FinishUploadCEGUpload (.CPartnerApps_FinishUpload_Request) returns (.CPartnerApps_FinishUpload_Response) {
option (method_description) = "Commit method for custom executable file processing";
}
rpc FinishUploadDepotUpload (.CPartnerApps_FinishUploadDepot_Request) returns (.CPartnerApps_FinishUploadDepot_Response) {
option (method_description) = "Commit method for custom executable file processing";
}
rpc GetDepotBuildResult (.CPartnerApps_GetDepotBuildResult_Request) returns (.CPartnerApps_GetDepotBuildResult_Response) {
option (method_description) = "Get build status for previously uploaded depot ZIP";
}
rpc FindDRMUploads (.CPartnerApps_FindDRMUploads_Request) returns (.CPartnerApps_FindDRMUploads_Response) {
option (method_description) = "Finds N most recent prior uploads by appid";
}
rpc Download (.CPartnerApps_Download_Request) returns (.CPartnerApps_Download_Response);
}

99
protobufs/steammessages_player.proto

@ -48,6 +48,37 @@ message CPlayer_GetFriendsGameplayInfo_Response {
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo in_wishlist = 6;
}
message CPlayer_GetFriendsAppsActivity_Request {
optional string news_language = 1 [(description) = "Language for which to query about news items (for the being_discussed results). DEPRECATED AND UNUSED."];
optional uint32 request_flags = 2 [(description) = "Flags describing the request; see EGetFriendsAppsActivityFlags"];
}
message CPlayer_GetFriendsAppsActivity_Response {
message FriendPlayTime {
optional fixed64 steamid = 1;
optional uint32 minutes_played_this_week = 2 [(description) = "Minutes this friend played the game (from the enclosing structure) this week."];
optional uint32 minutes_played_two_weeks = 3 [(description) = "Minutes this friend played the game (from the enclosing structure) in the past 2 weeks."];
optional uint32 minutes_played_forever = 4 [(description) = "Minutes this friend played the game (from the enclosing structure) all time."];
optional uint32 event_count = 5 [(description) = "Number of events involving this user & app. (Only set for results in being_discussed.) DEPRECATED AND UNUSED."];
}
message AppFriendsInfo {
optional uint32 appid = 1;
repeated .CPlayer_GetFriendsAppsActivity_Response.FriendPlayTime friends = 2 [(description) = "Friends (w/ playtime) that meet a specific criteria -- e.g. for trending, only includes friends w/ more playtime this week."];
optional uint32 display_order = 3 [(description) = "Index indicating the order in which this app should be displayed, relative to other apps in the same response."];
}
repeated .CPlayer_GetFriendsAppsActivity_Response.AppFriendsInfo trending = 1 [(description) = "Apps that friends have played more this week than last, with list of friends who've played more this week"];
repeated .CPlayer_GetFriendsAppsActivity_Response.AppFriendsInfo recent_purchases = 2 [(description) = "Apps friends have played in the past two weeks for which the user recently acquired a license"];
repeated .CPlayer_GetFriendsAppsActivity_Response.AppFriendsInfo unowned = 3 [(description) = "Apps friends have played in the past two weeks for which the user has no license"];
repeated .CPlayer_GetFriendsAppsActivity_Response.AppFriendsInfo popular = 4 [(description) = "Apps friends have played in the past two weeks, for which the user has a license, sorted by count"];
repeated .CPlayer_GetFriendsAppsActivity_Response.AppFriendsInfo dont_forget = 5 [(description) = "Apps friends have played in the past two weeks which the user has neither purchased nor played in the past two weeks"];
repeated .CPlayer_GetFriendsAppsActivity_Response.AppFriendsInfo being_discussed = 6 [(description) = "Owned apps that friends have posted status or screenshots for in the past two weeks. DEPRECATED AND UNUSED."];
repeated .CPlayer_GetFriendsAppsActivity_Response.AppFriendsInfo new_to_group = 7 [(description) = "Owned apps that none of your friends had played prior to 2 weeks."];
repeated .CPlayer_GetFriendsAppsActivity_Response.AppFriendsInfo returned_to_group = 8 [(description) = "Owned apps that friends hadn't played for a while, but are again."];
optional uint32 active_friend_count = 9 [default = 0, (description) = "Number of friends with non-trivial activity in the past two weeks."];
}
message CPlayer_GetGameBadgeLevels_Request {
optional uint32 appid = 1;
}
@ -78,6 +109,25 @@ message CPlayer_GetEmoticonList_Response {
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_PostStatusToFriends_Request {
optional uint32 appid = 1;
optional string status_text = 2;
@ -117,6 +167,15 @@ message CPlayer_GetLastPlayedTimes_Response {
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;
@ -173,6 +232,7 @@ message CPlayer_AddFriend_Request {
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 {
@ -256,6 +316,9 @@ message CPlayer_GetDurationControl_Request {
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;
}
message CPlayer_LastPlayedTimes_Notification {
@ -291,88 +354,124 @@ message CPlayer_PrivacySettingsChanged_Notification {
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 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 GetFriendsAppsActivity (.CPlayer_GetFriendsAppsActivity_Request) returns (.CPlayer_GetFriendsAppsActivity_Response) {
option (method_description) = "Get lists of apps friends are active in, in a variety of ways";
}
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 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 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 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 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 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 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";
}

80
protobufs/steammessages_publishedfile.proto

@ -3,6 +3,15 @@ import "steammessages_unified_base.proto";
option py_generic_services = true;
enum EPublishedFileRevision {
k_EPublishedFileRevision_Default = 0;
k_EPublishedFileRevision_Latest = 1;
k_EPublishedFileRevision_ApprovedSnapshot = 2;
k_EPublishedFileRevision_ApprovedSnapshot_China = 3;
k_EPublishedFileRevision_RejectedSnapshot = 4;
k_EPublishedFileRevision_RejectedSnapshot_China = 5;
}
enum EPublishedFileForSaleStatus {
k_PFFSS_NotForSale = 0;
k_PFFSS_PendingApproval = 1;
@ -78,6 +87,7 @@ message CPublishedFile_GetDetails_Request {
optional uint32 return_playtime_stats = 13 [(description) = "Return playtime stats for the specified number of days before today."];
optional uint32 appid = 14;
optional bool strip_description_bbcode = 15 [(description) = "Strips BBCode from descriptions."];
optional .EPublishedFileRevision desired_revision = 16 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
}
message PublishedFileDetails {
@ -192,6 +202,9 @@ message PublishedFileDetails {
optional int32 language = 61 [default = 0, (description) = "The language of the title and description."];
optional bool maybe_inappropriate_sex = 65;
optional bool maybe_inappropriate_violence = 66;
optional uint64 revision_change_number = 67 [(description) = "The change number for the specified revision."];
optional .EPublishedFileRevision revision = 68 [default = k_EPublishedFileRevision_Default, (description) = "The revision of the data returned, usually k_EPublishedFileRevision_Latest, but can be another revision/snapshot depending on the caller."];
repeated .EPublishedFileRevision available_revisions = 69 [(description) = "Available revisions"];
}
message CPublishedFile_GetDetails_Response {
@ -202,6 +215,7 @@ message CPublishedFile_GetItemInfo_Request {
message WorkshopItem {
optional fixed64 published_file_id = 1;
optional uint32 time_updated = 2;
optional .EPublishedFileRevision desired_revision = 3 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
}
optional uint32 app_id = 1;
@ -219,6 +233,7 @@ message CPublishedFile_GetItemInfo_Response {
optional uint32 update_time = 1;
repeated .CPublishedFile_GetItemInfo_Response.WorkshopItemInfo workshop_items = 2;
repeated fixed64 private_items = 3;
}
message CPublishedFile_GetUserFiles_Request {
@ -227,6 +242,10 @@ message CPublishedFile_GetUserFiles_Request {
optional string value = 2;
}
message TagGroup {
repeated string tags = 1;
}
optional fixed64 steamid = 1 [(description) = "Steam ID of the user whose files are being requested."];
optional uint32 appid = 2 [(description) = "App Id of the app that the files were published to."];
optional uint32 page = 4 [default = 1, (description) = "(Optional) Starting page for results."];
@ -242,6 +261,7 @@ message CPublishedFile_GetUserFiles_Request {
optional string match_cloud_filename = 16 [(description) = "Match this cloud filename if specified."];
optional uint32 cache_max_age_seconds = 27 [default = 0, (description) = "Allow stale data to be returned for the specified number of seconds."];
optional int32 language = 29 [default = 0, (description) = "Specifies the localized text to return. Defaults to English."];
repeated .CPublishedFile_GetUserFiles_Request.TagGroup taggroups = 34 [(description) = "(Optional) At least one of the tags must be present on a published file to satisfy the query."];
optional bool totalonly = 17 [(description) = "(Optional) If true, only return the total number of files that satisfy this query."];
optional bool ids_only = 18 [(description) = "(Optional) If true, only return the published file ids of files that satisfy this query."];
optional bool return_vote_data = 19 [default = true, (description) = "Return vote data"];
@ -254,6 +274,7 @@ message CPublishedFile_GetUserFiles_Request {
optional bool return_metadata = 28 [default = false, (description) = "Populate the metadata field"];
optional uint32 return_playtime_stats = 31 [(description) = "Return playtime stats for the specified number of days before today."];
optional bool strip_description_bbcode = 32 [(description) = "Strips BBCode from descriptions."];
optional .EPublishedFileRevision desired_revision = 33 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
}
message CPublishedFile_GetUserFiles_Response {
@ -340,6 +361,7 @@ message CPublishedFile_RefreshVotingQueue_Request {
optional bool match_all_tags = 4 [default = true, (description) = "If true, then files must have all the tags specified. If false, then must have at least one of the tags specified."];
repeated string excluded_tags = 5 [(description) = "Exclude any files that have any of these tags."];
optional uint32 desired_queue_size = 6 [(description) = "Desired number of items in the voting queue. May be clamped by the server"];
optional .EPublishedFileRevision desired_revision = 8 [default = k_EPublishedFileRevision_Default, (description) = "Filter to items that have data for the specified revision."];
}
message CPublishedFile_RefreshVotingQueue_Response {
@ -351,6 +373,10 @@ message CPublishedFile_QueryFiles_Request {
optional string value = 2;
}
message TagGroup {
repeated string tags = 1;
}
optional uint32 query_type = 1 [(description) = "enumeration EPublishedFileQueryType in clientenums.h"];
optional uint32 page = 2 [(description) = "Current page"];
optional string cursor = 39 [(description) = "Cursor to paginate through the results (set to '*' for the first request). Prefer this over using the page parameter, as it will allow you to do deep pagination. When used, the page parameter will be ignored."];
@ -370,6 +396,7 @@ message CPublishedFile_QueryFiles_Request {
optional uint32 cache_max_age_seconds = 31 [default = 0, (description) = "Allow stale data to be returned for the specified number of seconds."];
optional int32 language = 33 [default = 0, (description) = "Language to search in and also what gets returned. Defaults to English."];
repeated .CPublishedFile_QueryFiles_Request.KVTag required_kv_tags = 34 [(description) = "Required key-value tags to match on."];
repeated .CPublishedFile_QueryFiles_Request.TagGroup taggroups = 42 [(description) = "(Optional) At least one of the tags must be present on a published file to satisfy the query."];
optional bool totalonly = 16 [(description) = "(Optional) If true, only return the total number of files that satisfy this query."];
optional bool ids_only = 35 [(description) = "(Optional) If true, only return the published file ids of files that satisfy this query."];
optional bool return_vote_data = 17 [(description) = "Return vote data"];
@ -383,6 +410,7 @@ message CPublishedFile_QueryFiles_Request {
optional uint32 return_playtime_stats = 36 [(description) = "Return playtime stats for the specified number of days before today."];
optional bool return_details = 37 [(description) = "By default, if none of the other 'return_*' fields are set, only some voting details are returned. Set this to true to return the default set of details."];
optional bool strip_description_bbcode = 38 [(description) = "Strips BBCode from descriptions."];
optional .EPublishedFileRevision desired_revision = 40 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
}
message CPublishedFile_QueryFiles_Response {
@ -474,7 +502,28 @@ message CPublishedFile_RemoveChild_Request {
message CPublishedFile_RemoveChild_Response {
}
message CPublishedFile_GetUserVoteSummary_Request {
repeated fixed64 publishedfileids = 1;
}
message CPublishedFile_GetUserVoteSummary_Response {
message VoteSummary {
optional fixed64 publishedfileid = 1;
optional bool vote_for = 2;
optional bool vote_against = 3;
optional bool reported = 4;
}
repeated .CPublishedFile_GetUserVoteSummary_Response.VoteSummary summaries = 1;
}
message CPublishedFile_FileSubscribed_Notification {
message RevisionData {
optional .EPublishedFileRevision revision = 1 [default = k_EPublishedFileRevision_Default];
optional fixed64 file_hcontent = 2 [(description) = "Manifest GID"];
optional uint32 rtime_updated = 3 [(description) = "Last time content updated"];
}
optional fixed64 published_file_id = 1 [(description) = "PublishedFileID_t for the content"];
optional uint32 app_id = 2;
optional fixed64 file_hcontent = 3 [(description) = "UGC file handle or manifest GID"];
@ -482,6 +531,7 @@ message CPublishedFile_FileSubscribed_Notification {
optional uint32 rtime_subscribed = 5;
optional bool is_depot_content = 6 [(description) = "True if workshop item is delivered via Steampipe"];
optional uint32 rtime_updated = 7 [(description) = "Last time content updated"];
repeated .CPublishedFile_FileSubscribed_Notification.RevisionData revisions = 8 [(description) = "Data for each of the revisions that this item has"];
}
message CPublishedFile_FileUnsubscribed_Notification {
@ -496,82 +546,112 @@ message CPublishedFile_FileDeleted_Client_Notification {
service PublishedFile {
option (service_description) = "A service to access published file data";
rpc Subscribe (.CPublishedFile_Subscribe_Request) returns (.CPublishedFile_Subscribe_Response) {
option (method_description) = "Subscribes the user to the published file";
}
rpc Unsubscribe (.CPublishedFile_Unsubscribe_Request) returns (.CPublishedFile_Unsubscribe_Response) {
option (method_description) = "Unsubscribes the user from the published file";
}
rpc CanSubscribe (.CPublishedFile_CanSubscribe_Request) returns (.CPublishedFile_CanSubscribe_Response) {
option (method_description) = "Check if the user can subscribe to the published file";
}
rpc Publish (.CPublishedFile_Publish_Request) returns (.CPublishedFile_Publish_Response) {
option (method_description) = "Publishes a clouded user file to the Workshop.";
}
rpc GetDetails (.CPublishedFile_GetDetails_Request) returns (.CPublishedFile_GetDetails_Response) {
option (method_description) = "Retrieves information about a set of published files.";
}
rpc GetItemInfo (.CPublishedFile_GetItemInfo_Request) returns (.CPublishedFile_GetItemInfo_Response) {
option (method_description) = "Retrieves information about a set of published files.";
}
rpc GetUserFiles (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response) {
option (method_description) = "Retrieves files published by a user.";
}
rpc AreFilesInSubscriptionList (.CPublishedFile_AreFilesInSubscriptionList_Request) returns (.CPublishedFile_AreFilesInSubscriptionList_Response) {
option (method_description) = "Determines which files in the given list are in a user's subscription list";
}
rpc Update (.CPublishedFile_Update_Request) returns (.CPublishedFile_Update_Response) {
option (method_description) = "Updates information about a published file.";
}
rpc GetChangeHistoryEntry (.CPublishedFile_GetChangeHistoryEntry_Request) returns (.CPublishedFile_GetChangeHistoryEntry_Response) {
option (method_description) = "Returns data on a specific change history entry for a published file";
}
rpc GetChangeHistory (.CPublishedFile_GetChangeHistory_Request) returns (.CPublishedFile_GetChangeHistory_Response) {
option (method_description) = "Returns data on the change history for a published file";
}
rpc RefreshVotingQueue (.CPublishedFile_RefreshVotingQueue_Request) returns (.CPublishedFile_RefreshVotingQueue_Response) {
option (method_description) = "Refresh the voting queue for the user";
}
rpc QueryFiles (.CPublishedFile_QueryFiles_Request) returns (.CPublishedFile_QueryFiles_Response) {
option (method_description) = "Performs a search query for published files";
}
rpc AddAppRelationship (.CPublishedFile_AddAppRelationship_Request) returns (.CPublishedFile_AddAppRelationship_Response) {
option (method_description) = "Adds a relationship between the published file and the given app";
}
rpc RemoveAppRelationship (.CPublishedFile_RemoveAppRelationship_Request) returns (.CPublishedFile_RemoveAppRelationship_Response) {
option (method_description) = "Remove a relationship between the published file and the given app";
}
rpc GetAppRelationships (.CPublishedFile_GetAppRelationships_Request) returns (.CPublishedFile_GetAppRelationships_Response) {
option (method_description) = "Returns the list of app relationships for this published file";
}
rpc StartPlaytimeTracking (.CPublishedFile_StartPlaytimeTracking_Request) returns (.CPublishedFile_StartPlaytimeTracking_Response) {
option (method_description) = "Start usage tracking for a given set of published files";
}
rpc StopPlaytimeTracking (.CPublishedFile_StopPlaytimeTracking_Request) returns (.CPublishedFile_StopPlaytimeTracking_Response) {
option (method_description) = "Stops usage tracking for a given set of published files";
}
rpc StopPlaytimeTrackingForAllAppItems (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request) returns (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response) {
option (method_description) = "Stops usage tracking for all items currently tracked for the specified app";
}
rpc SetPlaytimeForControllerConfigs (.CPublishedFile_SetPlaytimeForControllerConfigs_Request) returns (.CPublishedFile_SetPlaytimeForControllerConfigs_Response) {
option (method_description) = "Stops usage tracking all controller configs for the given app and set the usage time for the for the given controller configs";
}
rpc AddChild (.CPublishedFile_AddChild_Request) returns (.CPublishedFile_AddChild_Response) {
option (method_description) = "Adds a parent->child relationship between the given items.";
}
rpc RemoveChild (.CPublishedFile_RemoveChild_Request) returns (.CPublishedFile_RemoveChild_Response) {
option (method_description) = "Removes parent->child relationship between the given items.";
}
rpc GetUserVoteSummary (.CPublishedFile_GetUserVoteSummary_Request) returns (.CPublishedFile_GetUserVoteSummary_Response) {
option (method_description) = "Get user vote summary";
}
}
service PublishedFileClient {
option (service_description) = "Published file client notifications";
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyFileSubscribed (.CPublishedFile_FileSubscribed_Notification) returns (.NoResponse) {
option (method_description) = "Notification from the server when a user subscribes to a file";
}
rpc NotifyFileUnsubscribed (.CPublishedFile_FileUnsubscribed_Notification) returns (.NoResponse) {
option (method_description) = "Notification from the server when a user unsubscribes from a file";
}
rpc NotifyFileDeleted (.CPublishedFile_FileDeleted_Client_Notification) returns (.NoResponse) {
option (method_description) = "Notification from the server when a published file is deleted";
}

1
protobufs/steammessages_secrets.proto

@ -32,6 +32,7 @@ message CKeyEscrow_Response {
service Secrets {
option (service_description) = "Service for accessing credentials and guarding secrets";
rpc KeyEscrow (.CKeyEscrow_Request) returns (.CKeyEscrow_Response) {
option (method_description) = "Service to perform authenticated key-exchange involving Steam Client";
}

3
protobufs/steammessages_shader.proto

@ -46,12 +46,15 @@ message CShader_GetBucketManifest_Response {
service Shader {
option (service_description) = "Shader methods";
rpc RegisterShader (.CShader_RegisterShader_Request) returns (.CShader_RegisterShader_Response) {
option (method_description) = "Client just finished playing a game, detected new shader cache entries and is notifying us about them";
}
rpc SendShader (.CShader_SendShader_Request) returns (.CShader_SendShader_Response) {
option (method_description) = "Client is sending us actual compiled shader code that we requested";
}
rpc GetBucketManifest (.CShader_GetBucketManifest_Request) returns (.CShader_GetBucketManifest_Response) {
option (method_description) = "Client wants to know the manifest ID to fetch (if any) for a bucket's depot";
}

9
protobufs/steammessages_site_license.proto

@ -89,30 +89,39 @@ message CSiteLicense_ClientGetAvailableSeats_Response {
service SiteManagerClient {
option (service_description) = "Local site manager client service";
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc IncomingClient (.CSiteManagerClient_IncomingClient_Request) returns (.CSiteManagerClient_IncomingClient_Response) {
option (method_description) = "Rack informing site manager of new inbound client PSK connection";
}
rpc ClientSeatCheckoutNotification (.CSiteLicense_ClientSeatCheckout_Notification) returns (.NoResponse) {
option (method_description) = "Notify client directly about seat checkout result";
}
rpc TrackedPaymentsNotification (.CSiteManagerClient_TrackedPayments_Notification) returns (.NoResponse) {
option (method_description) = "Rack informing site manager of existing tracked payments";
}
}
service SiteLicense {
option (service_description) = "Site License service";
rpc InitiateAssociation (.CSiteLicense_InitiateAssociation_Request) returns (.CSiteLicense_InitiateAssociation_Response) {
option (method_description) = "Client is requesting connetion info for local site";
}
rpc LCSAuthenticate (.CSiteLicense_LCSAuthenticate_Request) returns (.CSiteLicense_LCSAuthenticate_Response) {
option (method_description) = "Local cafe server authentication";
}
rpc LCSAssociateUser (.CSiteLicense_LCSAssociateUser_Request) returns (.CSiteLicense_LCSAssociateUser_Response) {
option (method_description) = "Local cafe server wants to grant user access to site";
}
rpc ClientSeatCheckout (.CSiteLicense_ClientSeatCheckout_Request) returns (.CSiteLicense_ClientSeatCheckout_Response) {
option (method_description) = "Client is requesting use of a site license seat";
}
rpc ClientGetAvailableSeats (.CSiteLicense_ClientGetAvailableSeats_Request) returns (.CSiteLicense_ClientGetAvailableSeats_Response) {
option (method_description) = "Client is requesting the number of currently available seats";
}

17
protobufs/steammessages_store.proto

@ -66,12 +66,29 @@ message CStore_GetStorePreferences_Response {
optional .CStore_UserContentDescriptorPreferences content_descriptor_preferences = 3;
}
message CStore_StorePreferencesChanged_Notification {
optional .CStore_UserPreferences preferences = 1;
optional .CStore_UserTagPreferences tag_preferences = 2;
optional .CStore_UserContentDescriptorPreferences content_descriptor_preferences = 3;
}
service Store {
option (service_description) = "A service to access store data.";
rpc GetLocalizedNameForTags (.CStore_GetLocalizedNameForTags_Request) returns (.CStore_GetLocalizedNameForTags_Response) {
option (method_description) = "Gets tag names in a different language";
}
rpc GetStorePreferences (.CStore_GetStorePreferences_Request) returns (.CStore_GetStorePreferences_Response) {
option (method_description) = "Returns the desired ratings board and maximum rating to show on the store";
}
}
service StoreClient {
option (service_description) = "Steam store to client notifications";
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyStorePreferencesChanged (.CStore_StorePreferencesChanged_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that the user's store preferences have changed";
}
}

8
protobufs/steammessages_twofactor.proto

@ -108,27 +108,35 @@ message CTwoFactor_ValidateToken_Response {
service TwoFactor {
option (service_description) = "Two Factor Authentication Service";
rpc QueryStatus (.CTwoFactor_Status_Request) returns (.CTwoFactor_Status_Response) {
option (method_description) = "Get two-factor authentication settings for the logged-in account";
}
rpc AddAuthenticator (.CTwoFactor_AddAuthenticator_Request) returns (.CTwoFactor_AddAuthenticator_Response) {
option (method_description) = "Add two-factor authenticator to the logged-in account";
}
rpc SendEmail (.CTwoFactor_SendEmail_Request) returns (.CTwoFactor_SendEmail_Response) {
option (method_description) = "Send email to the account";
}
rpc FinalizeAddAuthenticator (.CTwoFactor_FinalizeAddAuthenticator_Request) returns (.CTwoFactor_FinalizeAddAuthenticator_Response) {
option (method_description) = "Finalize two-factor authentication addition to the logged-in account";
}
rpc RemoveAuthenticator (.CTwoFactor_RemoveAuthenticator_Request) returns (.CTwoFactor_RemoveAuthenticator_Response) {
option (method_description) = "Remove two-factor authentication addition from the logged-in account";
}
rpc CreateEmergencyCodes (.CTwoFactor_CreateEmergencyCodes_Request) returns (.CTwoFactor_CreateEmergencyCodes_Response) {
option (method_description) = "Generate emergency authenticator codes";
}
rpc DestroyEmergencyCodes (.CTwoFactor_DestroyEmergencyCodes_Request) returns (.CTwoFactor_DestroyEmergencyCodes_Response) {
option (method_description) = "Destroy emergency authenticator codes for the account";
}
rpc ValidateToken (.CTwoFactor_ValidateToken_Request) returns (.CTwoFactor_ValidateToken_Response) {
option (method_description) = "Validate (and consume) a token";
}

1
protobufs/steammessages_unified_base.proto

@ -32,4 +32,3 @@ enum EProtoExecutionSite {
message NoResponse {
}

4
protobufs/steammessages_unified_test.proto

@ -29,17 +29,21 @@ message CMsgTest_NotifyServer_Notification {
service TestSteamClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc MessageToClient (.CMsgTest_MessageToClient_Request) returns (.CMsgTest_MessageToClient_Response) {
option (method_description) = "Some description - MessageToClient.";
}
rpc NotifyClient (.CMsgTest_NotifyClient_Notification) returns (.NoResponse) {
option (method_description) = "Some description - NotifyClient.";
}
}
service TestServerFromClient {
rpc MessageToServer (.CMsgTest_MessageToServer_Request) returns (.CMsgTest_MessageToServer_Response) {
option (method_description) = "Some description - MessageToServer.";
}
rpc NotifyServer (.CMsgTest_NotifyServer_Notification) returns (.NoResponse) {
option (method_description) = "Some description - NotifyServer.";
}

47
protobufs/steammessages_useraccount.proto

@ -21,6 +21,26 @@ enum EExternalAccountType {
k_EExternalFacebookPage = 7;
}
message CUserAccount_GetAvailableValveDiscountPromotions_Request {
optional string country_code = 1;
}
message CUserAccount_GetAvailableValveDiscountPromotions_Response {
message ValveDiscountPromotionDetails {
optional uint32 promotionid = 1;
optional string promotion_description = 2;
optional int64 minimum_cart_amount = 3;
optional int64 minimum_cart_amount_for_display = 4;
optional int64 discount_amount = 5;
optional int32 currency_code = 6;
optional int32 available_use_count = 7;
optional int32 promotional_discount_type = 8;
optional int32 loyalty_reward_id = 9;
}
repeated .CUserAccount_GetAvailableValveDiscountPromotions_Response.ValveDiscountPromotionDetails promotions = 1;
}
message CUserAccount_GetAccountLinkStatus_Request {
}
@ -29,6 +49,13 @@ message CUserAccount_GetAccountLinkStatus_Response {
optional uint32 identity_verification = 2;
}
message CUserAccount_CancelLicenseForApp_Request {
optional uint32 appid = 1;
}
message CUserAccount_CancelLicenseForApp_Response {
}
message CUserAccount_CreateFriendInviteToken_Request {
optional uint32 invite_limit = 1;
optional uint32 invite_duration = 2;
@ -108,6 +135,7 @@ message CEmbeddedClient_AuthorizeCurrentDevice_Request {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional string device_info = 3;
optional uint32 deviceid = 4;
}
message CEmbeddedClient_Token {
@ -124,36 +152,55 @@ message CEmbeddedClient_AuthorizeDevice_Response {
service UserAccount {
option (service_description) = "A service to get user account information";
rpc GetAvailableValveDiscountPromotions (.CUserAccount_GetAvailableValveDiscountPromotions_Request) returns (.CUserAccount_GetAvailableValveDiscountPromotions_Response) {
option (method_description) = "Gets the available promotional discounts available to the user";
}
rpc GetAccountLinkStatus (.CUserAccount_GetAccountLinkStatus_Request) returns (.CUserAccount_GetAccountLinkStatus_Response) {
option (method_description) = "Fetches account link status";
}
rpc CancelLicenseForApp (.CUserAccount_CancelLicenseForApp_Request) returns (.CUserAccount_CancelLicenseForApp_Response) {
option (method_description) = "Cancels a free license for a user";
}
rpc CreateFriendInviteToken (.CUserAccount_CreateFriendInviteToken_Request) returns (.CUserAccount_CreateFriendInviteToken_Response) {
option (method_description) = "Create a limited-use token that can be used to create a friend request";
}
rpc GetFriendInviteTokens (.CUserAccount_GetFriendInviteTokens_Request) returns (.CUserAccount_GetFriendInviteTokens_Response) {
option (method_description) = "Get the set of active tokens for the user";
}
rpc ViewFriendInviteToken (.CUserAccount_ViewFriendInviteToken_Request) returns (.CUserAccount_ViewFriendInviteToken_Response) {
option (method_description) = "View details about an invite token ";
}
rpc RedeemFriendInviteToken (.CUserAccount_RedeemFriendInviteToken_Request) returns (.CUserAccount_RedeemFriendInviteToken_Response) {
option (method_description) = "Create a friend relationship using the given invite token";
}
rpc RevokeFriendInviteToken (.CUserAccount_RevokeFriendInviteToken_Request) returns (.CUserAccount_RevokeFriendInviteToken_Response) {
option (method_description) = "Revoke an active friend invite token";
}
rpc RegisterCompatTool (.CUserAccount_RegisterCompatTool_Request) returns (.CUserAccount_RegisterCompatTool_Response) {
option (method_description) = "Register intended account usage of a tool";
}
}
service AccountLinking {
option (service_description) = "A service to manage and link to external accounts";
rpc GetLinkedAccountInfo (.CAccountLinking_GetLinkedAccountInfo_Request) returns (.CAccountLinking_GetLinkedAccountInfo_Response) {
option (method_description) = "List all my active linked external accounts; may be requested to return the access token";
}
}
service EmbeddedClient {
option (service_description) = "Service to authorize and manage Steam functions directly embedded in games";
rpc AuthorizeCurrentDevice (.CEmbeddedClient_AuthorizeCurrentDevice_Request) returns (.CEmbeddedClient_AuthorizeDevice_Response) {
option (method_description) = "Use a logged-in (password/etc) session to create a durable access token";
}

7
protobufs/steammessages_video.proto

@ -53,24 +53,31 @@ message CFovasVideo_ClientGetOPFSettings_Response {
service Video {
option (service_description) = "Video methods";
rpc ClientGetVideoURL (.CVideo_ClientGetVideoURL_Request) returns (.CVideo_ClientGetVideoURL_Response) {
option (method_description) = "Get the initial URL to begin streaming a video";
}
rpc SetVideoBookmark (.CVideo_SetVideoBookmark_Notification) returns (.NoResponse) {
option (method_description) = "Bookmarks the locations in the video the user has reached. As as record playback settings per video. Fire and forget.";
}
rpc GetVideoBookmarks (.CVideo_GetVideoBookmarks_Request) returns (.CVideo_GetVideoBookmarks_Response) {
option (method_description) = "Returns the video bookmarks locations for the specific videos. Includes playback settings per video";
}
}
service VideoClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyUnlockedH264 (.CVideo_UnlockedH264_Notification) returns (.NoResponse) {
option (method_description) = "Notification from server to client that h264 has been unlocked";
}
}
service FovasVideo {
option (service_description) = "Fovas Video Service Methods";
rpc ClientGetOPFSettings (.CFovasVideo_ClientGetOPFSettings_Request) returns (.CFovasVideo_ClientGetOPFSettings_Response) {
option (method_description) = "Retrieve the OPF settings JSON blob. Available via the Client for 360 Player App";
}

129
protobufs/steammessages_webui_friends.proto

@ -91,6 +91,14 @@ message CCommunity_GetCommentThreadRatings_Response {
repeated uint32 upvoter_accountids = 5;
}
message CCommunity_RateClanAnnouncement_Response {
}
message CCommunity_GetClanAnnouncementVoteForUser_Response {
optional bool voted_up = 1;
optional bool voted_down = 2;
}
message CAppPriority {
optional uint32 priority = 1;
repeated uint32 appid = 2;
@ -107,12 +115,34 @@ message CCommunity_PartnerEventResult {
optional uint32 appid = 4;
optional bool possible_takeover = 5;
optional uint32 rtime32_last_modified = 6 [default = 0];
optional int32 user_app_priority = 7;
}
message CCommunity_GetBestEventsForUser_Response {
repeated .CCommunity_PartnerEventResult results = 1;
}
message CCommunity_ClearUserPartnerEventsAppPriorities_Response {
}
message CCommunity_PartnerEventsAppPriority {
optional uint32 appid = 1;
optional int32 user_app_priority = 2;
}
message CCommunity_GetUserPartnerEventsAppPriorities_Response {
repeated .CCommunity_PartnerEventsAppPriority priorities = 1;
}
message CCommunity_ClearSinglePartnerEventsAppPriority_Response {
}
message CCommunity_PartnerEventsShowMoreForApp_Response {
}
message CCommunity_PartnerEventsShowLessForApp_Response {
}
message CCommunity_MarkPartnerEventsForUser_Request_PartnerEventMarking {
optional uint32 clanid = 1;
optional fixed64 event_gid = 2;
@ -124,33 +154,71 @@ message CCommunity_MarkPartnerEventsForUser_Request_PartnerEventMarking {
message CCommunity_MarkPartnerEventsForUser_Response {
}
message xCCommunity_ClanAnnouncementInfo {
optional uint64 gid = 1;
optional uint64 clanid = 2;
optional uint64 posterid = 3;
optional string headline = 4;
optional uint32 posttime = 5;
optional uint32 updatetime = 6;
optional string body = 7;
optional int32 commentcount = 8;
repeated string tags = 9;
optional int32 language = 10;
optional bool hidden = 11;
optional fixed64 forum_topic_id = 12;
message CCommunity_GetUserPartnerEventViewStatus_Response {
repeated .CCommunity_GetUserPartnerEventViewStatus_Response_PartnerEvent events = 1;
}
message CPlayer_PostStatusToFriends_Response {
message CCommunity_GetUserPartnerEventViewStatus_Response_PartnerEvent {
optional fixed64 event_gid = 1;
optional uint32 last_shown_time = 2;
optional uint32 last_read_time = 3;
optional uint32 clan_account_id = 4;
}
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 ProfileItem {
optional uint64 communityitemid = 1;
optional string image_small = 2;
optional string image_large = 3;
optional string name = 4;
optional string item_title = 5;
optional string item_description = 6;
optional uint32 appid = 7;
optional uint32 item_type = 8;
optional uint32 item_class = 9;
optional string movie_webm = 10;
optional string movie_mp4 = 11;
}
message CPlayer_DeletePostedStatus_Response {
message CPlayer_GetProfileBackground_Response {
optional .ProfileItem profile_background = 1;
}
message CPlayer_SetProfileBackground_Response {
}
message CPlayer_GetMiniProfileBackground_Response {
optional .ProfileItem profile_background = 1;
}
message CPlayer_SetMiniProfileBackground_Response {
}
message CPlayer_GetAvatarFrame_Response {
optional .ProfileItem avatar_frame = 1;
}
message CPlayer_SetAvatarFrame_Response {
}
message CPlayer_GetAnimatedAvatar_Response {
optional .ProfileItem avatar = 1;
}
message CPlayer_SetAnimatedAvatar_Response {
}
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;
}
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;
}
message CWebRTCClient_InitiateWebRTCConnection_Request {
@ -659,14 +727,6 @@ message CFriendsList_GetFriendsList_Response {
optional .CMsgClientFriendsList friendslist = 1;
}
message xCMsgClientSecret {
optional uint32 version = 1;
optional uint32 appid = 2;
optional uint32 deviceid = 3;
optional fixed64 nonce = 4;
optional bytes hmac = 5;
}
message CClan_RespondToClanInvite_Request {
optional fixed64 steamid = 1;
optional bool accept = 2;
@ -675,9 +735,6 @@ message CClan_RespondToClanInvite_Request {
message CClan_RespondToClanInvite_Response {
}
message CBroadcast_SetClipDetails_Response {
}
message CProductImpressionsFromClient_Notification {
repeated .CProductImpressionsFromClient_Notification_Impression impressions = 1;
}
@ -699,9 +756,17 @@ service Community {
rpc DeleteCommentFromThread (.NotImplemented) returns (.CCommunity_DeleteCommentFromThread_Response);
rpc RateCommentThread (.NotImplemented) returns (.CCommunity_RateCommentThread_Response);
rpc GetCommentThreadRatings (.NotImplemented) returns (.CCommunity_GetCommentThreadRatings_Response);
rpc RateClanAnnouncement (.NotImplemented) returns (.CCommunity_RateClanAnnouncement_Response);
rpc GetClanAnnouncementVoteForUser (.NotImplemented) returns (.CCommunity_GetClanAnnouncementVoteForUser_Response);
rpc GetUserPartnerEventNews (.NotImplemented) returns (.CCommunity_GetUserPartnerEventNews_Response);
rpc GetBestEventsForUser (.NotImplemented) returns (.CCommunity_GetBestEventsForUser_Response);
rpc MarkPartnerEventsForUser (.NotImplemented) returns (.CCommunity_MarkPartnerEventsForUser_Response);
rpc GetUserPartnerEventViewStatus (.NotImplemented) returns (.CCommunity_GetUserPartnerEventViewStatus_Response);
rpc PartnerEventsShowMoreForApp (.NotImplemented) returns (.CCommunity_PartnerEventsShowMoreForApp_Response);
rpc PartnerEventsShowLessForApp (.NotImplemented) returns (.CCommunity_PartnerEventsShowLessForApp_Response);
rpc ClearUserPartnerEventsAppPriorities (.NotImplemented) returns (.CCommunity_ClearUserPartnerEventsAppPriorities_Response);
rpc GetUserPartnerEventsAppPriorities (.NotImplemented) returns (.CCommunity_GetUserPartnerEventsAppPriorities_Response);
rpc ClearSinglePartnerEventsAppPriority (.NotImplemented) returns (.CCommunity_ClearSinglePartnerEventsAppPriority_Response);
}
service WebRTCClient {

1
steam/core/msg/unified.py

@ -38,6 +38,7 @@ service_lookup = {
'SiteLicense': 'steam.protobufs.steammessages_site_license_pb2',
'SiteManagerClient': 'steam.protobufs.steammessages_site_license_pb2',
'Store': 'steam.protobufs.steammessages_store_pb2',
'StoreClient': 'steam.protobufs.steammessages_store_pb2',
'TwoFactor': 'steam.protobufs.steammessages_twofactor_pb2',
'AccountLinking': 'steam.protobufs.steammessages_useraccount_pb2',
'EmbeddedClient': 'steam.protobufs.steammessages_useraccount_pb2',

290
steam/protobufs/steammessages_base_pb2.py

File diff suppressed because one or more lines are too long

402
steam/protobufs/steammessages_broadcast_pb2.py

File diff suppressed because one or more lines are too long

1535
steam/protobufs/steammessages_chat_pb2.py

File diff suppressed because one or more lines are too long

1223
steam/protobufs/steammessages_clientserver_2_pb2.py

File diff suppressed because one or more lines are too long

268
steam/protobufs/steammessages_clientserver_friends_pb2.py

File diff suppressed because one or more lines are too long

46
steam/protobufs/steammessages_clientserver_login_pb2.py

File diff suppressed because one or more lines are too long

836
steam/protobufs/steammessages_clientserver_pb2.py

File diff suppressed because one or more lines are too long

183
steam/protobufs/steammessages_cloud_pb2.py

File diff suppressed because one or more lines are too long

64
steam/protobufs/steammessages_credentials_pb2.py

File diff suppressed because one or more lines are too long

30
steam/protobufs/steammessages_econ_pb2.py

@ -23,7 +23,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
package='',
syntax='proto2',
serialized_options=_b('\220\001\001'),
serialized_pb=_b('\n\x18steammessages_econ.proto\x1a steammessages_unified_base.proto\"D\n&CEcon_GetTradeOfferAccessToken_Request\x12\x1a\n\x12generate_new_token\x18\x01 \x01(\x08\"K\n\'CEcon_GetTradeOfferAccessToken_Response\x12 \n\x18trade_offer_access_token\x18\x01 \x01(\t\"C\n-CEcon_ClientGetItemShopOverlayAuthURL_Request\x12\x12\n\nreturn_url\x18\x01 \x01(\t\"=\n.CEcon_ClientGetItemShopOverlayAuthURL_Response\x12\x0b\n\x03url\x18\x01 \x01(\t\"\xa9\x01\n\x1f\x43\x45\x63on_GetAssetClassInfo_Request\x12\x10\n\x08language\x18\x01 \x01(\t\x12\r\n\x05\x61ppid\x18\x02 \x01(\r\x12\x37\n\x07\x63lasses\x18\x03 \x03(\x0b\x32&.CEcon_GetAssetClassInfo_Request.Class\x1a,\n\x05\x43lass\x12\x0f\n\x07\x63lassid\x18\x01 \x01(\x04\x12\x12\n\ninstanceid\x18\x02 \x01(\x04\"V\n\x19\x43\x45\x63onItem_DescriptionLine\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\r\n\x05\x63olor\x18\x03 \x01(\t\x12\r\n\x05label\x18\x04 \x01(\t\".\n\x10\x43\x45\x63onItem_Action\x12\x0c\n\x04link\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x92\x06\n\x15\x43\x45\x63onItem_Description\x12\r\n\x05\x61ppid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63lassid\x18\x02 \x01(\x04\x12\x12\n\ninstanceid\x18\x03 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x04 \x01(\x08\x12\x18\n\x10\x62\x61\x63kground_color\x18\x05 \x01(\t\x12\x10\n\x08icon_url\x18\x06 \x01(\t\x12\x16\n\x0eicon_url_large\x18\x07 \x01(\t\x12\x30\n\x0c\x64\x65scriptions\x18\x08 \x03(\x0b\x32\x1a.CEconItem_DescriptionLine\x12\x10\n\x08tradable\x18\t \x01(\x08\x12\"\n\x07\x61\x63tions\x18\n \x03(\x0b\x32\x11.CEconItem_Action\x12\x36\n\x12owner_descriptions\x18\x0b \x03(\x0b\x32\x1a.CEconItem_DescriptionLine\x12(\n\rowner_actions\x18\x0c \x03(\x0b\x32\x11.CEconItem_Action\x12\x15\n\rfraudwarnings\x18\r \x03(\t\x12\x0c\n\x04name\x18\x0e \x01(\t\x12\x12\n\nname_color\x18\x0f \x01(\t\x12\x0c\n\x04type\x18\x10 \x01(\t\x12\x13\n\x0bmarket_name\x18\x11 \x01(\t\x12\x18\n\x10market_hash_name\x18\x12 \x01(\t\x12\x12\n\nmarket_fee\x18\x13 \x01(\t\x12\x16\n\x0emarket_fee_app\x18\x1c \x01(\x05\x12.\n\x0e\x63ontained_item\x18\x14 \x01(\x0b\x32\x16.CEconItem_Description\x12)\n\x0emarket_actions\x18\x15 \x03(\x0b\x32\x11.CEconItem_Action\x12\x11\n\tcommodity\x18\x16 \x01(\x08\x12#\n\x1bmarket_tradable_restriction\x18\x17 \x01(\x05\x12%\n\x1dmarket_marketable_restriction\x18\x18 \x01(\x05\x12\x12\n\nmarketable\x18\x19 \x01(\x08\x12\x1c\n\x04tags\x18\x1a \x03(\x0b\x32\x0e.CEconItem_Tag\x12\x17\n\x0fitem_expiration\x18\x1b \x01(\t\"\x98\x03\n\rCEconItem_Tag\x12\x31\n\x05\x61ppid\x18\x01 \x01(\rB\"\x82\xb5\x18\x1eThe app that contains the item\x12J\n\x08\x63\x61tegory\x18\x02 \x01(\tB8\x82\xb5\x18\x34The internal name of the category the tag belongs to\x12\x37\n\rinternal_name\x18\x03 \x01(\tB \x82\xb5\x18\x1cThe internal name of the tag\x12G\n\x17localized_category_name\x18\x04 \x01(\tB&\x82\xb5\x18\"The localized name of the category\x12=\n\x12localized_tag_name\x18\x05 \x01(\tB!\x82\xb5\x18\x1dThe localized name of the tag\x12G\n\x05\x63olor\x18\x06 \x01(\tB8\x82\xb5\x18\x34The color to use when displaying the tag to the user\"P\n CEcon_GetAssetClassInfo_Response\x12,\n\x0c\x64\x65scriptions\x18\x01 \x03(\x0b\x32\x16.CEconItem_Description2\xe2\x04\n\x04\x45\x63on\x12\x9a\x01\n\x18GetTradeOfferAccessToken\x12\'.CEcon_GetTradeOfferAccessToken_Request\x1a(.CEcon_GetTradeOfferAccessToken_Response\"+\x82\xb5\x18\'Get the user\'s trade offer access token\x12\xd9\x01\n\x1f\x43lientGetItemShopOverlayAuthURL\x12..CEcon_ClientGetItemShopOverlayAuthURL_Request\x1a/.CEcon_ClientGetItemShopOverlayAuthURL_Response\"U\x82\xb5\x18QGenerates a URL which sets a secure cookie for in-game-browser itemshop purchases\x12\x9f\x01\n\x11GetAssetClassInfo\x12 .CEcon_GetAssetClassInfo_Request\x1a!.CEcon_GetAssetClassInfo_Response\"E\x82\xb5\x18\x41Returns description information about the passed in asset classes\x1a?\x82\xb5\x18;A service that provides communication with the econ serversB\x03\x90\x01\x01')
serialized_pb=_b('\n\x18steammessages_econ.proto\x1a steammessages_unified_base.proto\"D\n&CEcon_GetTradeOfferAccessToken_Request\x12\x1a\n\x12generate_new_token\x18\x01 \x01(\x08\"K\n\'CEcon_GetTradeOfferAccessToken_Response\x12 \n\x18trade_offer_access_token\x18\x01 \x01(\t\"C\n-CEcon_ClientGetItemShopOverlayAuthURL_Request\x12\x12\n\nreturn_url\x18\x01 \x01(\t\"=\n.CEcon_ClientGetItemShopOverlayAuthURL_Response\x12\x0b\n\x03url\x18\x01 \x01(\t\"\xa9\x01\n\x1f\x43\x45\x63on_GetAssetClassInfo_Request\x12\x10\n\x08language\x18\x01 \x01(\t\x12\r\n\x05\x61ppid\x18\x02 \x01(\r\x12\x37\n\x07\x63lasses\x18\x03 \x03(\x0b\x32&.CEcon_GetAssetClassInfo_Request.Class\x1a,\n\x05\x43lass\x12\x0f\n\x07\x63lassid\x18\x01 \x01(\x04\x12\x12\n\ninstanceid\x18\x02 \x01(\x04\"V\n\x19\x43\x45\x63onItem_DescriptionLine\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\r\n\x05\x63olor\x18\x03 \x01(\t\x12\r\n\x05label\x18\x04 \x01(\t\".\n\x10\x43\x45\x63onItem_Action\x12\x0c\n\x04link\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xe3\x06\n\x15\x43\x45\x63onItem_Description\x12\r\n\x05\x61ppid\x18\x01 \x01(\x05\x12\x0f\n\x07\x63lassid\x18\x02 \x01(\x04\x12\x12\n\ninstanceid\x18\x03 \x01(\x04\x12\x10\n\x08\x63urrency\x18\x04 \x01(\x08\x12\x18\n\x10\x62\x61\x63kground_color\x18\x05 \x01(\t\x12\x10\n\x08icon_url\x18\x06 \x01(\t\x12\x16\n\x0eicon_url_large\x18\x07 \x01(\t\x12\x30\n\x0c\x64\x65scriptions\x18\x08 \x03(\x0b\x32\x1a.CEconItem_DescriptionLine\x12\x10\n\x08tradable\x18\t \x01(\x08\x12\"\n\x07\x61\x63tions\x18\n \x03(\x0b\x32\x11.CEconItem_Action\x12\x36\n\x12owner_descriptions\x18\x0b \x03(\x0b\x32\x1a.CEconItem_DescriptionLine\x12(\n\rowner_actions\x18\x0c \x03(\x0b\x32\x11.CEconItem_Action\x12\x15\n\rfraudwarnings\x18\r \x03(\t\x12\x0c\n\x04name\x18\x0e \x01(\t\x12\x12\n\nname_color\x18\x0f \x01(\t\x12\x0c\n\x04type\x18\x10 \x01(\t\x12\x13\n\x0bmarket_name\x18\x11 \x01(\t\x12\x18\n\x10market_hash_name\x18\x12 \x01(\t\x12\x12\n\nmarket_fee\x18\x13 \x01(\t\x12\x16\n\x0emarket_fee_app\x18\x1c \x01(\x05\x12.\n\x0e\x63ontained_item\x18\x14 \x01(\x0b\x32\x16.CEconItem_Description\x12)\n\x0emarket_actions\x18\x15 \x03(\x0b\x32\x11.CEconItem_Action\x12\x11\n\tcommodity\x18\x16 \x01(\x08\x12#\n\x1bmarket_tradable_restriction\x18\x17 \x01(\x05\x12%\n\x1dmarket_marketable_restriction\x18\x18 \x01(\x05\x12\x12\n\nmarketable\x18\x19 \x01(\x08\x12\x1c\n\x04tags\x18\x1a \x03(\x0b\x32\x0e.CEconItem_Tag\x12\x17\n\x0fitem_expiration\x18\x1b \x01(\t\x12&\n\x1emarket_buy_country_restriction\x18\x1e \x01(\t\x12\'\n\x1fmarket_sell_country_restriction\x18\x1f \x01(\t\"\x98\x03\n\rCEconItem_Tag\x12\x31\n\x05\x61ppid\x18\x01 \x01(\rB\"\x82\xb5\x18\x1eThe app that contains the item\x12J\n\x08\x63\x61tegory\x18\x02 \x01(\tB8\x82\xb5\x18\x34The internal name of the category the tag belongs to\x12\x37\n\rinternal_name\x18\x03 \x01(\tB \x82\xb5\x18\x1cThe internal name of the tag\x12G\n\x17localized_category_name\x18\x04 \x01(\tB&\x82\xb5\x18\"The localized name of the category\x12=\n\x12localized_tag_name\x18\x05 \x01(\tB!\x82\xb5\x18\x1dThe localized name of the tag\x12G\n\x05\x63olor\x18\x06 \x01(\tB8\x82\xb5\x18\x34The color to use when displaying the tag to the user\"P\n CEcon_GetAssetClassInfo_Response\x12,\n\x0c\x64\x65scriptions\x18\x01 \x03(\x0b\x32\x16.CEconItem_Description2\xe2\x04\n\x04\x45\x63on\x12\x9a\x01\n\x18GetTradeOfferAccessToken\x12\'.CEcon_GetTradeOfferAccessToken_Request\x1a(.CEcon_GetTradeOfferAccessToken_Response\"+\x82\xb5\x18\'Get the user\'s trade offer access token\x12\xd9\x01\n\x1f\x43lientGetItemShopOverlayAuthURL\x12..CEcon_ClientGetItemShopOverlayAuthURL_Request\x1a/.CEcon_ClientGetItemShopOverlayAuthURL_Response\"U\x82\xb5\x18QGenerates a URL which sets a secure cookie for in-game-browser itemshop purchases\x12\x9f\x01\n\x11GetAssetClassInfo\x12 .CEcon_GetAssetClassInfo_Request\x1a!.CEcon_GetAssetClassInfo_Response\"E\x82\xb5\x18\x41Returns description information about the passed in asset classes\x1a?\x82\xb5\x18;A service that provides communication with the econ serversB\x03\x90\x01\x01')
,
dependencies=[steammessages__unified__base__pb2.DESCRIPTOR,])
@ -529,6 +529,20 @@ _CECONITEM_DESCRIPTION = _descriptor.Descriptor(
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='market_buy_country_restriction', full_name='CEconItem_Description.market_buy_country_restriction', index=28,
number=30, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='market_sell_country_restriction', full_name='CEconItem_Description.market_sell_country_restriction', index=29,
number=31, type=9, cpp_type=9, label=1,
has_default_value=False, default_value=_b("").decode('utf-8'),
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
@ -542,7 +556,7 @@ _CECONITEM_DESCRIPTION = _descriptor.Descriptor(
oneofs=[
],
serialized_start=650,
serialized_end=1436,
serialized_end=1517,
)
@ -607,8 +621,8 @@ _CECONITEM_TAG = _descriptor.Descriptor(
extension_ranges=[],
oneofs=[
],
serialized_start=1439,
serialized_end=1847,
serialized_start=1520,
serialized_end=1928,
)
@ -638,8 +652,8 @@ _CECON_GETASSETCLASSINFO_RESPONSE = _descriptor.Descriptor(
extension_ranges=[],
oneofs=[
],
serialized_start=1849,
serialized_end=1929,
serialized_start=1930,
serialized_end=2010,
)
_CECON_GETASSETCLASSINFO_REQUEST_CLASS.containing_type = _CECON_GETASSETCLASSINFO_REQUEST
@ -757,8 +771,8 @@ _ECON = _descriptor.ServiceDescriptor(
file=DESCRIPTOR,
index=0,
serialized_options=_b('\202\265\030;A service that provides communication with the econ servers'),
serialized_start=1932,
serialized_end=2542,
serialized_start=2013,
serialized_end=2623,
methods=[
_descriptor.MethodDescriptor(
name='GetTradeOfferAccessToken',

46
steam/protobufs/steammessages_friendmessages_pb2.py

File diff suppressed because one or more lines are too long

111
steam/protobufs/steammessages_parental_pb2.py

File diff suppressed because one or more lines are too long

819
steam/protobufs/steammessages_player_pb2.py

File diff suppressed because one or more lines are too long

725
steam/protobufs/steammessages_publishedfile_pb2.py

File diff suppressed because one or more lines are too long

101
steam/protobufs/steammessages_store_pb2.py

@ -24,7 +24,7 @@ DESCRIPTOR = _descriptor.FileDescriptor(
package='',
syntax='proto2',
serialized_options=_b('\220\001\001'),
serialized_pb=_b('\n\x19steammessages_store.proto\x1a steammessages_unified_base.proto\"J\n&CStore_GetLocalizedNameForTags_Request\x12\x10\n\x08language\x18\x01 \x01(\t\x12\x0e\n\x06tagids\x18\x02 \x03(\r\"\x9f\x01\n\'CStore_GetLocalizedNameForTags_Response\x12:\n\x04tags\x18\x01 \x03(\x0b\x32,.CStore_GetLocalizedNameForTags_Response.Tag\x1a\x38\n\x03Tag\x12\r\n\x05tagid\x18\x01 \x01(\r\x12\x14\n\x0c\x65nglish_name\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\"CStore_GetStorePreferences_Request\"\xb1\x03\n\x16\x43Store_UserPreferences\x12\x18\n\x10primary_language\x18\x01 \x01(\r\x12\x1b\n\x13secondary_languages\x18\x02 \x01(\r\x12\x18\n\x10platform_windows\x18\x03 \x01(\x08\x12\x14\n\x0cplatform_mac\x18\x04 \x01(\x08\x12\x16\n\x0eplatform_linux\x18\x05 \x01(\x08\x12#\n\x1bhide_adult_content_violence\x18\x06 \x01(\x08\x12\x1e\n\x16hide_adult_content_sex\x18\x07 \x01(\x08\x12\x19\n\x11timestamp_updated\x18\x08 \x01(\r\x12\x1c\n\x14hide_store_broadcast\x18\t \x01(\x08\x12`\n\x17review_score_preference\x18\n \x01(\x0e\x32\x1b.EUserReviewScorePreference:\"k_EUserReviewScorePreference_Unset\x12\x38\n0timestamp_content_descriptor_preferences_updated\x18\x0b \x01(\x05\"\x91\x01\n\x19\x43Store_UserTagPreferences\x12\x37\n\x0ftags_to_exclude\x18\x01 \x03(\x0b\x32\x1e.CStore_UserTagPreferences.Tag\x1a;\n\x03Tag\x12\r\n\x05tagid\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x17\n\x0ftimestamp_added\x18\x03 \x01(\r\"\xd9\x01\n\'CStore_UserContentDescriptorPreferences\x12\x62\n\x1e\x63ontent_descriptors_to_exclude\x18\x01 \x03(\x0b\x32:.CStore_UserContentDescriptorPreferences.ContentDescriptor\x1aJ\n\x11\x43ontentDescriptor\x12\x1c\n\x14\x63ontent_descriptorid\x18\x01 \x01(\r\x12\x17\n\x0ftimestamp_added\x18\x02 \x01(\r\"\xda\x01\n#CStore_GetStorePreferences_Response\x12,\n\x0bpreferences\x18\x01 \x01(\x0b\x32\x17.CStore_UserPreferences\x12\x33\n\x0ftag_preferences\x18\x02 \x01(\x0b\x32\x1a.CStore_UserTagPreferences\x12P\n\x1e\x63ontent_descriptor_preferences\x18\x03 \x01(\x0b\x32(.CStore_UserContentDescriptorPreferences*\xa0\x01\n\x1a\x45UserReviewScorePreference\x12&\n\"k_EUserReviewScorePreference_Unset\x10\x00\x12+\n\'k_EUserReviewScorePreference_IncludeAll\x10\x01\x12-\n)k_EUserReviewScorePreference_ExcludeBombs\x10\x02\x32\xf9\x02\n\x05Store\x12\x98\x01\n\x17GetLocalizedNameForTags\x12\'.CStore_GetLocalizedNameForTags_Request\x1a(.CStore_GetLocalizedNameForTags_Response\"*\x82\xb5\x18&Gets tag names in a different language\x12\xaf\x01\n\x13GetStorePreferences\x12#.CStore_GetStorePreferences_Request\x1a$.CStore_GetStorePreferences_Response\"M\x82\xb5\x18IReturns the desired ratings board and maximum rating to show on the store\x1a#\x82\xb5\x18\x1f\x41 service to access store data.B\x03\x90\x01\x01')
serialized_pb=_b('\n\x19steammessages_store.proto\x1a steammessages_unified_base.proto\"J\n&CStore_GetLocalizedNameForTags_Request\x12\x10\n\x08language\x18\x01 \x01(\t\x12\x0e\n\x06tagids\x18\x02 \x03(\r\"\x9f\x01\n\'CStore_GetLocalizedNameForTags_Response\x12:\n\x04tags\x18\x01 \x03(\x0b\x32,.CStore_GetLocalizedNameForTags_Response.Tag\x1a\x38\n\x03Tag\x12\r\n\x05tagid\x18\x01 \x01(\r\x12\x14\n\x0c\x65nglish_name\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\"$\n\"CStore_GetStorePreferences_Request\"\xb1\x03\n\x16\x43Store_UserPreferences\x12\x18\n\x10primary_language\x18\x01 \x01(\r\x12\x1b\n\x13secondary_languages\x18\x02 \x01(\r\x12\x18\n\x10platform_windows\x18\x03 \x01(\x08\x12\x14\n\x0cplatform_mac\x18\x04 \x01(\x08\x12\x16\n\x0eplatform_linux\x18\x05 \x01(\x08\x12#\n\x1bhide_adult_content_violence\x18\x06 \x01(\x08\x12\x1e\n\x16hide_adult_content_sex\x18\x07 \x01(\x08\x12\x19\n\x11timestamp_updated\x18\x08 \x01(\r\x12\x1c\n\x14hide_store_broadcast\x18\t \x01(\x08\x12`\n\x17review_score_preference\x18\n \x01(\x0e\x32\x1b.EUserReviewScorePreference:\"k_EUserReviewScorePreference_Unset\x12\x38\n0timestamp_content_descriptor_preferences_updated\x18\x0b \x01(\x05\"\x91\x01\n\x19\x43Store_UserTagPreferences\x12\x37\n\x0ftags_to_exclude\x18\x01 \x03(\x0b\x32\x1e.CStore_UserTagPreferences.Tag\x1a;\n\x03Tag\x12\r\n\x05tagid\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x17\n\x0ftimestamp_added\x18\x03 \x01(\r\"\xd9\x01\n\'CStore_UserContentDescriptorPreferences\x12\x62\n\x1e\x63ontent_descriptors_to_exclude\x18\x01 \x03(\x0b\x32:.CStore_UserContentDescriptorPreferences.ContentDescriptor\x1aJ\n\x11\x43ontentDescriptor\x12\x1c\n\x14\x63ontent_descriptorid\x18\x01 \x01(\r\x12\x17\n\x0ftimestamp_added\x18\x02 \x01(\r\"\xda\x01\n#CStore_GetStorePreferences_Response\x12,\n\x0bpreferences\x18\x01 \x01(\x0b\x32\x17.CStore_UserPreferences\x12\x33\n\x0ftag_preferences\x18\x02 \x01(\x0b\x32\x1a.CStore_UserTagPreferences\x12P\n\x1e\x63ontent_descriptor_preferences\x18\x03 \x01(\x0b\x32(.CStore_UserContentDescriptorPreferences\"\xe2\x01\n+CStore_StorePreferencesChanged_Notification\x12,\n\x0bpreferences\x18\x01 \x01(\x0b\x32\x17.CStore_UserPreferences\x12\x33\n\x0ftag_preferences\x18\x02 \x01(\x0b\x32\x1a.CStore_UserTagPreferences\x12P\n\x1e\x63ontent_descriptor_preferences\x18\x03 \x01(\x0b\x32(.CStore_UserContentDescriptorPreferences*\xa0\x01\n\x1a\x45UserReviewScorePreference\x12&\n\"k_EUserReviewScorePreference_Unset\x10\x00\x12+\n\'k_EUserReviewScorePreference_IncludeAll\x10\x01\x12-\n)k_EUserReviewScorePreference_ExcludeBombs\x10\x02\x32\xf9\x02\n\x05Store\x12\x98\x01\n\x17GetLocalizedNameForTags\x12\'.CStore_GetLocalizedNameForTags_Request\x1a(.CStore_GetLocalizedNameForTags_Response\"*\x82\xb5\x18&Gets tag names in a different language\x12\xaf\x01\n\x13GetStorePreferences\x12#.CStore_GetStorePreferences_Request\x1a$.CStore_GetStorePreferences_Response\"M\x82\xb5\x18IReturns the desired ratings board and maximum rating to show on the store\x1a#\x82\xb5\x18\x1f\x41 service to access store data.2\xee\x01\n\x0bStoreClient\x12\xb1\x01\n\x1dNotifyStorePreferencesChanged\x12,.CStore_StorePreferencesChanged_Notification\x1a\x0b.NoResponse\"U\x82\xb5\x18QNotification from server to client that the user\'s store preferences have changed\x1a+\x82\xb5\x18#Steam store to client notifications\xc0\xb5\x18\x02\x42\x03\x90\x01\x01')
,
dependencies=[steammessages__unified__base__pb2.DESCRIPTOR,])
@ -49,8 +49,8 @@ _EUSERREVIEWSCOREPREFERENCE = _descriptor.EnumDescriptor(
],
containing_type=None,
serialized_options=None,
serialized_start=1365,
serialized_end=1525,
serialized_start=1594,
serialized_end=1754,
)
_sym_db.RegisterEnumDescriptor(_EUSERREVIEWSCOREPREFERENCE)
@ -486,6 +486,51 @@ _CSTORE_GETSTOREPREFERENCES_RESPONSE = _descriptor.Descriptor(
serialized_end=1362,
)
_CSTORE_STOREPREFERENCESCHANGED_NOTIFICATION = _descriptor.Descriptor(
name='CStore_StorePreferencesChanged_Notification',
full_name='CStore_StorePreferencesChanged_Notification',
filename=None,
file=DESCRIPTOR,
containing_type=None,
fields=[
_descriptor.FieldDescriptor(
name='preferences', full_name='CStore_StorePreferencesChanged_Notification.preferences', index=0,
number=1, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='tag_preferences', full_name='CStore_StorePreferencesChanged_Notification.tag_preferences', index=1,
number=2, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
_descriptor.FieldDescriptor(
name='content_descriptor_preferences', full_name='CStore_StorePreferencesChanged_Notification.content_descriptor_preferences', index=2,
number=3, type=11, cpp_type=10, label=1,
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
serialized_options=None, file=DESCRIPTOR),
],
extensions=[
],
nested_types=[],
enum_types=[
],
serialized_options=None,
is_extendable=False,
syntax='proto2',
extension_ranges=[],
oneofs=[
],
serialized_start=1365,
serialized_end=1591,
)
_CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE_TAG.containing_type = _CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE
_CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE.fields_by_name['tags'].message_type = _CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE_TAG
_CSTORE_USERPREFERENCES.fields_by_name['review_score_preference'].enum_type = _EUSERREVIEWSCOREPREFERENCE
@ -496,6 +541,9 @@ _CSTORE_USERCONTENTDESCRIPTORPREFERENCES.fields_by_name['content_descriptors_to_
_CSTORE_GETSTOREPREFERENCES_RESPONSE.fields_by_name['preferences'].message_type = _CSTORE_USERPREFERENCES
_CSTORE_GETSTOREPREFERENCES_RESPONSE.fields_by_name['tag_preferences'].message_type = _CSTORE_USERTAGPREFERENCES
_CSTORE_GETSTOREPREFERENCES_RESPONSE.fields_by_name['content_descriptor_preferences'].message_type = _CSTORE_USERCONTENTDESCRIPTORPREFERENCES
_CSTORE_STOREPREFERENCESCHANGED_NOTIFICATION.fields_by_name['preferences'].message_type = _CSTORE_USERPREFERENCES
_CSTORE_STOREPREFERENCESCHANGED_NOTIFICATION.fields_by_name['tag_preferences'].message_type = _CSTORE_USERTAGPREFERENCES
_CSTORE_STOREPREFERENCESCHANGED_NOTIFICATION.fields_by_name['content_descriptor_preferences'].message_type = _CSTORE_USERCONTENTDESCRIPTORPREFERENCES
DESCRIPTOR.message_types_by_name['CStore_GetLocalizedNameForTags_Request'] = _CSTORE_GETLOCALIZEDNAMEFORTAGS_REQUEST
DESCRIPTOR.message_types_by_name['CStore_GetLocalizedNameForTags_Response'] = _CSTORE_GETLOCALIZEDNAMEFORTAGS_RESPONSE
DESCRIPTOR.message_types_by_name['CStore_GetStorePreferences_Request'] = _CSTORE_GETSTOREPREFERENCES_REQUEST
@ -503,6 +551,7 @@ DESCRIPTOR.message_types_by_name['CStore_UserPreferences'] = _CSTORE_USERPREFERE
DESCRIPTOR.message_types_by_name['CStore_UserTagPreferences'] = _CSTORE_USERTAGPREFERENCES
DESCRIPTOR.message_types_by_name['CStore_UserContentDescriptorPreferences'] = _CSTORE_USERCONTENTDESCRIPTORPREFERENCES
DESCRIPTOR.message_types_by_name['CStore_GetStorePreferences_Response'] = _CSTORE_GETSTOREPREFERENCES_RESPONSE
DESCRIPTOR.message_types_by_name['CStore_StorePreferencesChanged_Notification'] = _CSTORE_STOREPREFERENCESCHANGED_NOTIFICATION
DESCRIPTOR.enum_types_by_name['EUserReviewScorePreference'] = _EUSERREVIEWSCOREPREFERENCE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
@ -579,6 +628,13 @@ CStore_GetStorePreferences_Response = _reflection.GeneratedProtocolMessageType('
))
_sym_db.RegisterMessage(CStore_GetStorePreferences_Response)
CStore_StorePreferencesChanged_Notification = _reflection.GeneratedProtocolMessageType('CStore_StorePreferencesChanged_Notification', (_message.Message,), dict(
DESCRIPTOR = _CSTORE_STOREPREFERENCESCHANGED_NOTIFICATION,
__module__ = 'steammessages_store_pb2'
# @@protoc_insertion_point(class_scope:CStore_StorePreferencesChanged_Notification)
))
_sym_db.RegisterMessage(CStore_StorePreferencesChanged_Notification)
DESCRIPTOR._options = None
@ -588,8 +644,8 @@ _STORE = _descriptor.ServiceDescriptor(
file=DESCRIPTOR,
index=0,
serialized_options=_b('\202\265\030\037A service to access store data.'),
serialized_start=1528,
serialized_end=1905,
serialized_start=1757,
serialized_end=2134,
methods=[
_descriptor.MethodDescriptor(
name='GetLocalizedNameForTags',
@ -614,6 +670,30 @@ _sym_db.RegisterServiceDescriptor(_STORE)
DESCRIPTOR.services_by_name['Store'] = _STORE
_STORECLIENT = _descriptor.ServiceDescriptor(
name='StoreClient',
full_name='StoreClient',
file=DESCRIPTOR,
index=1,
serialized_options=_b('\202\265\030#Steam store to client notifications\300\265\030\002'),
serialized_start=2137,
serialized_end=2375,
methods=[
_descriptor.MethodDescriptor(
name='NotifyStorePreferencesChanged',
full_name='StoreClient.NotifyStorePreferencesChanged',
index=0,
containing_service=None,
input_type=_CSTORE_STOREPREFERENCESCHANGED_NOTIFICATION,
output_type=steammessages__unified__base__pb2._NORESPONSE,
serialized_options=_b('\202\265\030QNotification from server to client that the user\'s store preferences have changed'),
),
])
_sym_db.RegisterServiceDescriptor(_STORECLIENT)
DESCRIPTOR.services_by_name['StoreClient'] = _STORECLIENT
Store = service_reflection.GeneratedServiceType('Store', (_service.Service,), dict(
DESCRIPTOR = _STORE,
__module__ = 'steammessages_store_pb2'
@ -625,4 +705,15 @@ Store_Stub = service_reflection.GeneratedServiceStubType('Store_Stub', (Store,),
))
StoreClient = service_reflection.GeneratedServiceType('StoreClient', (_service.Service,), dict(
DESCRIPTOR = _STORECLIENT,
__module__ = 'steammessages_store_pb2'
))
StoreClient_Stub = service_reflection.GeneratedServiceStubType('StoreClient_Stub', (StoreClient,), dict(
DESCRIPTOR = _STORECLIENT,
__module__ = 'steammessages_store_pb2'
))
# @@protoc_insertion_point(module_scope)

386
steam/protobufs/steammessages_useraccount_pb2.py

File diff suppressed because one or more lines are too long

1482
steam/protobufs/steammessages_webui_friends_pb2.py

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save