steamutils 1.3.35 → 1.3.36

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  2. package/.idea/steamutils.iml +1 -1
  3. package/.idea/vcs.xml +1 -1
  4. package/bufferHelpers.js +115 -115
  5. package/free_packages.json +10048 -10048
  6. package/index.js +337 -125
  7. package/package.json +8 -7
  8. package/protos/csgo/base_gcmessages_csgo.proto +547 -547
  9. package/protos/csgo/c_peer2peer_netmessages.proto +55 -55
  10. package/protos/csgo/clientmessages.proto +48 -48
  11. package/protos/csgo/connectionless_netmessages.proto +19 -19
  12. package/protos/csgo/cs_gameevents.proto +34 -34
  13. package/protos/csgo/cs_usercmd.proto +34 -34
  14. package/protos/csgo/cstrike15_gcmessages.proto +1402 -1402
  15. package/protos/csgo/cstrike15_usermessages.proto +596 -596
  16. package/protos/csgo/demo.proto +160 -160
  17. package/protos/csgo/econ_gcmessages.proto +228 -228
  18. package/protos/csgo/engine_gcmessages.proto +14 -14
  19. package/protos/csgo/enums_clientserver.proto +1529 -1529
  20. package/protos/csgo/fatdemo.proto +125 -125
  21. package/protos/csgo/gameevents.proto +120 -120
  22. package/protos/csgo/gcsdk_gcmessages.proto +323 -323
  23. package/protos/csgo/gcsystemmsgs.proto +242 -242
  24. package/protos/csgo/netmessages.proto +604 -604
  25. package/protos/csgo/network_connection.proto +126 -126
  26. package/protos/csgo/networkbasetypes.proto +244 -244
  27. package/protos/csgo/networksystem_protomessages.proto +17 -17
  28. package/protos/csgo/steamdatagram_messages_auth.proto +65 -65
  29. package/protos/csgo/steamdatagram_messages_sdr.proto +534 -534
  30. package/protos/csgo/steammessages.proto +597 -597
  31. package/protos/csgo/steammessages_base.proto +301 -301
  32. package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -68
  33. package/protos/csgo/steammessages_gamenetworkingui.proto +61 -61
  34. package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -22
  35. package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -18
  36. package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -254
  37. package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -233
  38. package/protos/csgo/steammessages_steamlearn.steamworkssdk.proto +357 -357
  39. package/protos/csgo/steammessages_unified_base.steamworkssdk.proto +30 -30
  40. package/protos/csgo/steamnetworkingsockets_messages.proto +205 -205
  41. package/protos/csgo/steamnetworkingsockets_messages_certs.proto +39 -39
  42. package/protos/csgo/steamnetworkingsockets_messages_udp.proto +75 -75
  43. package/protos/csgo/te.proto +259 -259
  44. package/protos/csgo/uifontfile_format.proto +13 -13
  45. package/protos/csgo/usercmd.proto +38 -38
  46. package/protos/csgo/usermessages.proto +721 -721
  47. package/protos/csgo/valveextensions.proto +17 -17
  48. package/protos/google/protobuf/descriptor.proto +281 -281
  49. package/protos/steam/clientmetrics.proto +45 -45
  50. package/protos/steam/content_manifest.proto +62 -62
  51. package/protos/steam/contenthubs.proto +41 -41
  52. package/protos/steam/encrypted_app_ticket.proto +10 -10
  53. package/protos/steam/enums.proto +444 -444
  54. package/protos/steam/enums_clientserver.proto +1539 -1539
  55. package/protos/steam/enums_productinfo.proto +13 -13
  56. package/protos/steam/htmlmessages.proto +1027 -1027
  57. package/protos/steam/offline_ticket.proto +8 -8
  58. package/protos/steam/renderer/rendermessages.proto +893 -893
  59. package/protos/steam/steamdatagram_messages_auth.proto +65 -65
  60. package/protos/steam/steamdatagram_messages_sdr.proto +533 -533
  61. package/protos/steam/steammessages_accounthardware.steamclient.proto +201 -201
  62. package/protos/steam/steammessages_appoverview.proto +187 -187
  63. package/protos/steam/steammessages_auth.steamclient.proto +435 -435
  64. package/protos/steam/steammessages_base.proto +332 -332
  65. package/protos/steam/steammessages_broadcast.steamclient.proto +759 -759
  66. package/protos/steam/steammessages_chat.steamclient.proto +1281 -1281
  67. package/protos/steam/steammessages_client_objects.proto +645 -645
  68. package/protos/steam/steammessages_clientlanp2p.proto +42 -42
  69. package/protos/steam/steammessages_clientmetrics.steamclient.proto +194 -194
  70. package/protos/steam/steammessages_clientnotificationtypes.proto +231 -231
  71. package/protos/steam/steammessages_clientserver.proto +392 -392
  72. package/protos/steam/steammessages_clientserver_2.proto +760 -760
  73. package/protos/steam/steammessages_clientserver_appinfo.proto +131 -131
  74. package/protos/steam/steammessages_clientserver_friends.proto +260 -260
  75. package/protos/steam/steammessages_clientserver_gameservers.proto +159 -159
  76. package/protos/steam/steammessages_clientserver_lbs.proto +70 -70
  77. package/protos/steam/steammessages_clientserver_login.proto +167 -167
  78. package/protos/steam/steammessages_clientserver_ucm.proto +205 -205
  79. package/protos/steam/steammessages_clientserver_uds.proto +124 -124
  80. package/protos/steam/steammessages_clientserver_ufs.proto +172 -172
  81. package/protos/steam/steammessages_clientserver_userstats.proto +80 -80
  82. package/protos/steam/steammessages_clientsettings.proto +168 -168
  83. package/protos/steam/steammessages_cloud.steamclient.proto +513 -513
  84. package/protos/steam/steammessages_contentsystem.steamclient.proto +115 -115
  85. package/protos/steam/steammessages_credentials.steamclient.proto +115 -115
  86. package/protos/steam/steammessages_datapublisher.steamclient.proto +116 -116
  87. package/protos/steam/steammessages_depotbuilder.steamclient.proto +118 -118
  88. package/protos/steam/steammessages_deviceauth.steamclient.proto +203 -203
  89. package/protos/steam/steammessages_econ.steamclient.proto +150 -150
  90. package/protos/steam/steammessages_friendmessages.steamclient.proto +168 -168
  91. package/protos/steam/steammessages_gamenetworking.steamclient.proto +32 -32
  92. package/protos/steam/steammessages_gamenetworkingui.proto +61 -61
  93. package/protos/steam/steammessages_gamenotifications.steamclient.proto +156 -156
  94. package/protos/steam/steammessages_gameservers.steamclient.proto +152 -152
  95. package/protos/steam/steammessages_hiddevices.proto +157 -157
  96. package/protos/steam/steammessages_inventory.steamclient.proto +224 -224
  97. package/protos/steam/steammessages_linkfilter.steamclient.proto +49 -49
  98. package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +33 -33
  99. package/protos/steam/steammessages_market.steamclient.proto +26 -26
  100. package/protos/steam/steammessages_marketingmessages.steamclient.proto +274 -274
  101. package/protos/steam/steammessages_offline.steamclient.proto +40 -40
  102. package/protos/steam/steammessages_parental.steamclient.proto +228 -228
  103. package/protos/steam/steammessages_parties.steamclient.proto +94 -94
  104. package/protos/steam/steammessages_partnerapps.steamclient.proto +138 -138
  105. package/protos/steam/steammessages_player.steamclient.proto +1060 -1060
  106. package/protos/steam/steammessages_publishedfile.steamclient.proto +813 -813
  107. package/protos/steam/steammessages_qms.steamclient.proto +125 -125
  108. package/protos/steam/steammessages_remoteclient.proto +99 -99
  109. package/protos/steam/steammessages_remoteclient_discovery.proto +235 -235
  110. package/protos/steam/steammessages_remoteclient_service.steamclient.proto +86 -86
  111. package/protos/steam/steammessages_remoteclient_service_messages.proto +217 -217
  112. package/protos/steam/steammessages_remoteplay.proto +976 -976
  113. package/protos/steam/steammessages_secrets.steamclient.proto +39 -39
  114. package/protos/steam/steammessages_shader.steamclient.proto +108 -108
  115. package/protos/steam/steammessages_site_license.steamclient.proto +128 -128
  116. package/protos/steam/steammessages_sitelicenseclient.proto +38 -38
  117. package/protos/steam/steammessages_siteserverui.proto +130 -130
  118. package/protos/steam/steammessages_star.steamclient.proto +64 -64
  119. package/protos/steam/steammessages_steamtv.steamclient.proto +630 -630
  120. package/protos/steam/steammessages_store.steamclient.proto +371 -371
  121. package/protos/steam/steammessages_storebrowse.steamclient.proto +402 -402
  122. package/protos/steam/steammessages_timedtrial.steamclient.proto +50 -50
  123. package/protos/steam/steammessages_twofactor.steamclient.proto +186 -186
  124. package/protos/steam/steammessages_unified_base.steamclient.proto +33 -33
  125. package/protos/steam/steammessages_unified_test.steamclient.proto +61 -61
  126. package/protos/steam/steammessages_useraccount.steamclient.proto +249 -249
  127. package/protos/steam/steammessages_vac.steamclient.proto +44 -44
  128. package/protos/steam/steammessages_video.steamclient.proto +171 -171
  129. package/protos/steam/steammessages_virtualcontroller.proto +138 -138
  130. package/protos/steam/steammessages_workshop.steamclient.proto +23 -23
  131. package/protos/steam/steamnetworkingsockets_messages.proto +205 -205
  132. package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -39
  133. package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -75
  134. package/protos/steam/webuimessages_base.proto +24 -24
  135. package/protos/steam/webuimessages_gamenotes.proto +21 -21
  136. package/protos/steam/webuimessages_steamengine.proto +32 -32
  137. package/protos/steam/webuimessages_storagedevicemanager.proto +110 -110
  138. package/protos/steam/webuimessages_systemmanager.proto +17 -17
  139. package/protos/steam/webuimessages_transport.proto +18 -18
  140. package/protos/steam/webuimessages_transportvalidation.proto +97 -97
  141. package/protos/webui/common.proto +5508 -5508
  142. package/protos/webui/common_base.proto +27 -27
  143. package/protos/webui/service_accountlinking.proto +27 -27
  144. package/protos/webui/service_accountprivacy.proto +42 -42
  145. package/protos/webui/service_auction.proto +97 -97
  146. package/protos/webui/service_authentication.proto +222 -222
  147. package/protos/webui/service_authenticationsupport.proto +74 -74
  148. package/protos/webui/service_broadcast.proto +562 -562
  149. package/protos/webui/service_chat.proto +11 -11
  150. package/protos/webui/service_chatroom.proto +810 -810
  151. package/protos/webui/service_chatusability.proto +107 -107
  152. package/protos/webui/service_clan.proto +41 -41
  153. package/protos/webui/service_clanchatrooms.proto +25 -25
  154. package/protos/webui/service_clanfaqs.proto +202 -202
  155. package/protos/webui/service_clientcomm.proto +150 -150
  156. package/protos/webui/service_clientmetrics.proto +63 -63
  157. package/protos/webui/service_cloud.proto +222 -222
  158. package/protos/webui/service_cloudconfigstore.proto +51 -51
  159. package/protos/webui/service_cloudgaming.proto +30 -30
  160. package/protos/webui/service_community.proto +365 -365
  161. package/protos/webui/service_econ.proto +134 -134
  162. package/protos/webui/service_embedded.proto +24 -24
  163. package/protos/webui/service_experimentservice.proto +6 -6
  164. package/protos/webui/service_fovasvideo.proto +15 -15
  165. package/protos/webui/service_friendmessages.proto +133 -133
  166. package/protos/webui/service_friendslist.proto +70 -70
  167. package/protos/webui/service_gamenotes.proto +15 -15
  168. package/protos/webui/service_helprequestlogs.proto +26 -26
  169. package/protos/webui/service_loyaltyrewards.proto +252 -252
  170. package/protos/webui/service_marketingmessages.proto +184 -184
  171. package/protos/webui/service_mobileapp.proto +18 -18
  172. package/protos/webui/service_mobileauth.proto +24 -24
  173. package/protos/webui/service_mobiledevice.proto +26 -26
  174. package/protos/webui/service_mobileperaccount.proto +31 -31
  175. package/protos/webui/service_news.proto +101 -101
  176. package/protos/webui/service_parental.proto +178 -178
  177. package/protos/webui/service_partnermembershipinvite.proto +29 -29
  178. package/protos/webui/service_partnerstorebrowse.proto +6 -6
  179. package/protos/webui/service_phone.proto +51 -51
  180. package/protos/webui/service_physicalgoods.proto +15 -15
  181. package/protos/webui/service_player.proto +885 -885
  182. package/protos/webui/service_promotioneventinvites.proto +50 -50
  183. package/protos/webui/service_promotionplanning.proto +72 -72
  184. package/protos/webui/service_publishedfile.proto +687 -687
  185. package/protos/webui/service_publishing.proto +119 -119
  186. package/protos/webui/service_quest.proto +127 -127
  187. package/protos/webui/service_salefeature.proto +315 -315
  188. package/protos/webui/service_saleitemrewards.proto +54 -54
  189. package/protos/webui/service_shoppingcart.proto +108 -108
  190. package/protos/webui/service_steamawards.proto +19 -19
  191. package/protos/webui/service_steamcharts.proto +75 -75
  192. package/protos/webui/service_steamengine.proto +36 -36
  193. package/protos/webui/service_steamlearn.proto +727 -727
  194. package/protos/webui/service_steamnotification.proto +84 -84
  195. package/protos/webui/service_steamtv.proto +495 -495
  196. package/protos/webui/service_steamvrvoicechat.proto +67 -67
  197. package/protos/webui/service_steamvrwebrtc.proto +48 -48
  198. package/protos/webui/service_storagedevicemanager.proto +104 -104
  199. package/protos/webui/service_store.proto +289 -289
  200. package/protos/webui/service_storeappsimilarity.proto +76 -76
  201. package/protos/webui/service_storebrowse.proto +73 -73
  202. package/protos/webui/service_storequery.proto +97 -97
  203. package/protos/webui/service_storesales.proto +15 -15
  204. package/protos/webui/service_storetopsellers.proto +44 -44
  205. package/protos/webui/service_systemmanager.proto +11 -11
  206. package/protos/webui/service_test_transporterror.proto +6 -6
  207. package/protos/webui/service_transportauth.proto +12 -12
  208. package/protos/webui/service_transportvalidation.proto +69 -69
  209. package/protos/webui/service_twofactor.proto +181 -181
  210. package/protos/webui/service_useraccount.proto +138 -138
  211. package/protos/webui/service_usergameactivity.proto +34 -34
  212. package/protos/webui/service_usergamenotes.proto +53 -53
  213. package/protos/webui/service_usernews.proto +68 -68
  214. package/protos/webui/service_userreviews.proto +96 -96
  215. package/protos/webui/service_video.proto +128 -128
  216. package/protos/webui/service_voicechat.proto +139 -139
  217. package/protos/webui/service_webrtc.proto +52 -52
  218. package/.idea/deployment.xml +0 -21
@@ -1,513 +1,513 @@
1
- import "steammessages_base.proto";
2
- import "steammessages_unified_base.steamclient.proto";
3
- import "enums.proto";
4
- import "steammessages_client_objects.proto";
5
-
6
- option cc_generic_services = true;
7
-
8
- message CCloud_ClientLogUploadCheck_Notification {
9
- optional uint64 client_id = 1;
10
- }
11
-
12
- message CCloud_ClientLogUploadComplete_Notification {
13
- optional uint64 client_id = 1;
14
- optional uint64 request_id = 2;
15
- }
16
-
17
- message CCloud_GetUploadServerInfo_Request {
18
- optional uint32 appid = 1 [(description) = "App ID to which a file will be uploaded to."];
19
- }
20
-
21
- message CCloud_GetUploadServerInfo_Response {
22
- optional string server_url = 1;
23
- }
24
-
25
- message CCloud_BeginHTTPUpload_Request {
26
- optional uint32 appid = 1 [(description) = "App ID for which the file is being uploaded."];
27
- optional uint32 file_size = 2 [(description) = "Original file size in bytes."];
28
- optional string filename = 3 [(description) = "Name of the file to store in the cloud."];
29
- optional string file_sha = 4 [(description) = "Hex string (40 digits) representing the SHA1 digest of the file."];
30
- optional bool is_public = 5 [(description) = "True if the file should be marked public on the UFS, false otherwise."];
31
- repeated string platforms_to_sync = 6 [(description) = "Array of string specifying which platforms to sync; value values: all, Windows, MacOS, linux, Switch, iPhoneOS, Android."];
32
- repeated string request_headers_names = 7 [(description) = "Names for headers you'll want to set on your upload request. May be left blank."];
33
- 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."];
34
- optional uint64 upload_batch_id = 9 [(description) = "ID of this batch returned by prior BeginAppUploadBatch call."];
35
- }
36
-
37
- message CCloud_BeginHTTPUpload_Response {
38
- message HTTPHeaders {
39
- optional string name = 1;
40
- optional string value = 2;
41
- }
42
-
43
- optional fixed64 ugcid = 1 [(description) = "UGC ID of the uploaded file."];
44
- optional fixed32 timestamp = 2 [(description) = "Server timestamp of file."];
45
- optional string url_host = 3 [(description) = "Host name of server to which file should be uploaded via HTTP PUT."];
46
- optional string url_path = 4 [(description) = "Relative path on server to which file should be uploaded."];
47
- optional bool use_https = 5 [(description) = "If true, use https, otherwise use http."];
48
- repeated .CCloud_BeginHTTPUpload_Response.HTTPHeaders request_headers = 6 [(description) = "Name-value pairs to be sent in HTTP PUT request."];
49
- }
50
-
51
- message CCloud_CommitHTTPUpload_Request {
52
- optional bool transfer_succeeded = 1 [(description) = "True if the HTTP PUT to the upload URL succeeded (URL provided in response to Cloud.BeginHTTPUpload), false if a failure occurred."];
53
- optional uint32 appid = 2 [(description) = "App ID for which the file is being uploaded. Must match the app ID provided to Cloud.BeginHTTPUpload."];
54
- optional string file_sha = 3 [(description) = "Hex string (40 digits) representing the SHA1 digest of the file. Must match the SHA1 digest provided to Cloud.BeginHTTPUpload."];
55
- optional string filename = 4 [(description) = "Filename as specified in the Cloud.BeginHTTPUpload request."];
56
- }
57
-
58
- message CCloud_CommitHTTPUpload_Response {
59
- optional bool file_committed = 1 [(description) = "True if the file was successfully committed, false otherwise."];
60
- }
61
-
62
- message CCloud_BeginUGCUpload_Request {
63
- optional uint32 appid = 1 [(description) = "App ID this UGC belongs to."];
64
- optional uint32 file_size = 2 [(description) = "File size in bytes."];
65
- optional string filename = 3 [(description) = "Name of the file."];
66
- optional string file_sha = 4 [(description) = "Hex string (40 digits) representing the SHA1 digest of the file."];
67
- optional string content_type = 5 [(description) = "MIME content type of the file"];
68
- }
69
-
70
- message CCloud_BeginUGCUpload_Response {
71
- message HTTPHeaders {
72
- optional string name = 1;
73
- optional string value = 2;
74
- }
75
-
76
- optional .EPublishedFileStorageSystem storage_system = 1 [default = k_EPublishedFileStorageSystemInvalid, (description) = "UGC Storage system chosen for this file"];
77
- optional fixed64 ugcid = 2 [(description) = "UGC ID of the uploaded file."];
78
- optional fixed32 timestamp = 3 [(description) = "Server timestamp of file."];
79
- optional string url_host = 4 [(description) = "Host name of server to which file should be uploaded via HTTP PUT."];
80
- optional string url_path = 5 [(description) = "Relative path on server to which file should be uploaded."];
81
- optional bool use_https = 6 [(description) = "If true, use https, otherwise use http."];
82
- repeated .CCloud_BeginUGCUpload_Response.HTTPHeaders request_headers = 7 [(description) = "Name-value pairs to be sent in HTTP PUT request."];
83
- }
84
-
85
- message CCloud_CommitUGCUpload_Request {
86
- optional bool transfer_succeeded = 1 [(description) = "True if the HTTP PUT to the upload URL succeeded (URL provided in response to Cloud.BeginUGCUpload), false if a failure occurred."];
87
- optional uint32 appid = 2 [(description) = "App ID for which the file is being uploaded. Must match the app ID provided to Cloud.BeginUGCUpload."];
88
- optional fixed64 ugcid = 3 [(description) = "UGC ID of the uploaded file."];
89
- }
90
-
91
- message CCloud_CommitUGCUpload_Response {
92
- optional bool file_committed = 1 [(description) = "True if the file was successfully committed, false otherwise."];
93
- }
94
-
95
- message CCloud_GetFileDetails_Request {
96
- optional uint64 ugcid = 1 [(description) = "ID of the Cloud file to get details for."];
97
- optional uint32 appid = 2 [(description) = "App ID the file belongs to."];
98
- }
99
-
100
- message CCloud_UserFile {
101
- optional uint32 appid = 1;
102
- optional uint64 ugcid = 2;
103
- optional string filename = 3;
104
- optional uint64 timestamp = 4;
105
- optional uint32 file_size = 5;
106
- optional string url = 6;
107
- optional fixed64 steamid_creator = 7;
108
- optional uint32 flags = 8;
109
- repeated string platforms_to_sync = 9 [(description) = "Array of string specifying which platforms to sync; value values: all, Windows, MacOS, linux, Switch, iPhoneOS, Android."];
110
- optional string file_sha = 10 [(description) = "Hex string (40 digits) representing the SHA1 digest of the file."];
111
- }
112
-
113
- message CCloud_GetFileDetails_Response {
114
- optional .CCloud_UserFile details = 1;
115
- }
116
-
117
- message CCloud_EnumerateUserFiles_Request {
118
- optional uint32 appid = 1 [(description) = "App ID to enumerate the files of."];
119
- optional bool extended_details = 2 [(description) = "(Optional) Get extended details back on the files found. Defaults to only returned the app Id and UGC Id of the files found."];
120
- optional uint32 count = 3 [(description) = "(Optional) Maximum number of results to return on this call. Defaults to a maximum of 500 files returned."];
121
- optional uint32 start_index = 4 [(description) = "(Optional) Starting index to begin enumeration at. Defaults to the beginning of the list."];
122
- }
123
-
124
- message CCloud_EnumerateUserFiles_Response {
125
- repeated .CCloud_UserFile files = 1;
126
- optional uint32 total_files = 2;
127
- }
128
-
129
- message CCloud_Delete_Request {
130
- optional string filename = 1;
131
- optional uint32 appid = 2 [(description) = "App ID the file belongs to."];
132
- optional uint64 upload_batch_id = 3 [(description) = "ID of this batch returned by prior BeginAppUploadBatch call."];
133
- }
134
-
135
- message CCloud_Delete_Response {
136
- }
137
-
138
- message CCloud_GetClientEncryptionKey_Request {
139
- }
140
-
141
- message CCloud_GetClientEncryptionKey_Response {
142
- optional bytes key = 1 [(description) = "AES-256 encryption key"];
143
- optional int32 crc = 2 [(description) = "CRC of key"];
144
- }
145
-
146
- message CCloud_CDNReport_Notification {
147
- optional fixed64 steamid = 1;
148
- optional string url = 2;
149
- optional bool success = 3;
150
- optional uint32 http_status_code = 4;
151
- optional uint64 expected_bytes = 5;
152
- optional uint64 received_bytes = 6;
153
- optional uint32 duration = 7;
154
- }
155
-
156
- message CCloud_ExternalStorageTransferReport_Notification {
157
- optional string host = 1;
158
- optional string path = 2;
159
- optional bool is_upload = 3;
160
- optional bool success = 4;
161
- optional uint32 http_status_code = 5;
162
- optional uint64 bytes_expected = 6;
163
- optional uint64 bytes_actual = 7;
164
- optional uint32 duration_ms = 8;
165
- optional uint32 cellid = 9;
166
- optional bool proxied = 10;
167
- optional bool ipv6_local = 11;
168
- optional bool ipv6_remote = 12;
169
- optional uint32 time_to_connect_ms = 13;
170
- optional uint32 time_to_send_req_ms = 14;
171
- optional uint32 time_to_first_byte_ms = 15;
172
- optional uint32 time_to_last_byte_ms = 16;
173
- }
174
-
175
- message CCloud_BeginAppUploadBatch_Request {
176
- optional uint32 appid = 1 [(description) = "App ID for this batch is for."];
177
- optional string machine_name = 2 [(description) = "Client machine name (may be user's alias)."];
178
- repeated string files_to_upload = 3 [(description) = "Filenames of files to upload in this batch"];
179
- repeated string files_to_delete = 4 [(description) = "Filenames of files to delete in this batch"];
180
- optional uint64 client_id = 5 [(description) = "Client ID number"];
181
- optional uint64 app_build_id = 6 [(description) = "Current local build of the app which made these changes"];
182
- }
183
-
184
- message CCloud_BeginAppUploadBatch_Response {
185
- optional uint64 batch_id = 1 [(description) = "ID of this batch."];
186
- optional uint64 app_change_number = 4 [(description) = "New App Change Number"];
187
- }
188
-
189
- message CCloud_CompleteAppUploadBatch_Notification {
190
- optional uint32 appid = 1 [(description) = "App ID for this batch is for."];
191
- optional uint64 batch_id = 2 [(description) = "ID of this batch."];
192
- optional uint32 batch_eresult = 3 [(description) = "result of this batch."];
193
- }
194
-
195
- message CCloud_CompleteAppUploadBatch_Request {
196
- optional uint32 appid = 1 [(description) = "App ID for this batch is for."];
197
- optional uint64 batch_id = 2 [(description) = "ID of this batch."];
198
- optional uint32 batch_eresult = 3 [(description) = "result of this batch."];
199
- }
200
-
201
- message CCloud_CompleteAppUploadBatch_Response {
202
- }
203
-
204
- message CCloud_ClientBeginFileUpload_Request {
205
- optional uint32 appid = 1 [(description) = "App ID for which the file is being uploaded."];
206
- optional uint32 file_size = 2 [(description) = "file size as transmitted and stored in Cloud."];
207
- optional uint32 raw_file_size = 3 [(description) = "file size before any compression and/or encryption."];
208
- optional bytes file_sha = 4 [(description) = "SHA-1 of raw file."];
209
- optional uint64 time_stamp = 5 [(description) = "Timestamp of file."];
210
- optional string filename = 6 [(description) = "Name of the file to store in the cloud."];
211
- optional uint32 platforms_to_sync = 7 [default = 4294967295];
212
- optional uint32 cell_id = 9 [(description) = "Client's cell ID so we can pick storage location."];
213
- optional bool can_encrypt = 10 [(description) = "if true, client can encrypt the file before uploading it"];
214
- optional bool is_shared_file = 11 [(description) = "if true, this is going to be UGC or a screenshot or some other shared file"];
215
- optional uint32 deprecated_realm = 12 [(description) = "unused"];
216
- optional uint64 upload_batch_id = 13 [(description) = "ID of this batch."];
217
- }
218
-
219
- message ClientCloudFileUploadBlockDetails {
220
- message HTTPHeaders {
221
- optional string name = 1;
222
- optional string value = 2;
223
- }
224
-
225
- optional string url_host = 1 [(description) = "Host name of server to which file should be uploaded via HTTP PUT."];
226
- optional string url_path = 2 [(description) = "Relative path on server to which file should be uploaded."];
227
- optional bool use_https = 3 [(description) = "If true, use https, otherwise use http."];
228
- optional int32 http_method = 4 [(description) = "EHTTPMethod to use for this block."];
229
- repeated .ClientCloudFileUploadBlockDetails.HTTPHeaders request_headers = 5 [(description) = "Name-value pairs to be sent in HTTP PUT request."];
230
- optional uint64 block_offset = 6 [(description) = "offset of file block to upload"];
231
- optional uint32 block_length = 7 [(description) = "length of file block to upload - if zero, no part of the file is part of this block"];
232
- optional bytes explicit_body_data = 8 [(description) = "explicit body data to use, instead of file data, for this block"];
233
- optional bool may_parallelize = 9 [(description) = "if true, this request may be done in parallel with other similarly-marked requests"];
234
- }
235
-
236
- message CCloud_ClientBeginFileUpload_Response {
237
- optional bool encrypt_file = 1 [(description) = "If true, the file should be encrypted by the client before upload"];
238
- repeated .ClientCloudFileUploadBlockDetails block_requests = 2 [(description) = "HTTP requests to make to perform upload"];
239
- }
240
-
241
- message CCloud_ClientCommitFileUpload_Request {
242
- optional bool transfer_succeeded = 1 [(description) = "True if all block uploads succeeded, false if any of them failed."];
243
- optional uint32 appid = 2 [(description) = "App ID for which the file is being uploaded. Must match the app ID provided to Cloud.BeginFileUpload."];
244
- optional bytes file_sha = 3 [(description) = "SHA1 digest of the raw file. Must match the SHA1 digest provided to Cloud.BeginFileUpload."];
245
- optional string filename = 4 [(description) = "Filename as specified in the Cloud.BeginFileUpload request."];
246
- }
247
-
248
- message CCloud_ClientCommitFileUpload_Response {
249
- optional bool file_committed = 1 [(description) = "True if the file was successfully committed, false otherwise."];
250
- }
251
-
252
- message CCloud_ClientFileDownload_Request {
253
- optional uint32 appid = 1 [(description) = "App ID the file is part of."];
254
- optional string filename = 2 [(description) = "Filename of the file."];
255
- optional uint32 realm = 3 [(description) = "Steam Realm"];
256
- }
257
-
258
- message CCloud_ClientFileDownload_Response {
259
- message HTTPHeaders {
260
- optional string name = 1;
261
- optional string value = 2;
262
- }
263
-
264
- optional uint32 appid = 1 [(description) = "Application the file belongs to"];
265
- optional uint32 file_size = 2 [(description) = "file size as transmitted and stored in the Cloud"];
266
- optional uint32 raw_file_size = 3 [(description) = "file size when decompressed and/or decrypted"];
267
- optional bytes sha_file = 4 [(description) = "SHA of file"];
268
- optional uint64 time_stamp = 5 [(description) = "Timestamp of file"];
269
- optional bool is_explicit_delete = 6 [(description) = "True if this is an explicitly deleted file"];
270
- optional string url_host = 7 [(description) = "Host to GET the file from"];
271
- optional string url_path = 8 [(description) = "Path on that host to use, including URL parameters if any"];
272
- optional bool use_https = 9 [(description) = "If set, use HTTPS, else use HTTP"];
273
- repeated .CCloud_ClientFileDownload_Response.HTTPHeaders request_headers = 10 [(description) = "Name-value pairs to be sent in HTTP GET request."];
274
- optional bool encrypted = 11;
275
- }
276
-
277
- message CCloud_ClientDeleteFile_Request {
278
- optional uint32 appid = 1 [(description) = "App ID for which the file is being deleted."];
279
- optional string filename = 2 [(description) = "Filename of file."];
280
- optional bool is_explicit_delete = 3 [(description) = "If true, this is a 'delete'; if false, it is a 'forget'"];
281
- optional uint64 upload_batch_id = 4 [(description) = "ID of this batch."];
282
- }
283
-
284
- message CCloud_ClientDeleteFile_Response {
285
- }
286
-
287
- message CCloud_ClientConflictResolution_Notification {
288
- optional uint32 appid = 1 [(description) = "App ID for which the conflict was resolved."];
289
- optional bool chose_local_files = 2 [(description) = "Did the user choose to keep the files local to the machine they are on right now?"];
290
- }
291
-
292
- message CCloud_EnumerateUserApps_Request {
293
- }
294
-
295
- message CCloud_EnumerateUserApps_Response {
296
- message Apps {
297
- optional uint32 appid = 1;
298
- optional int32 totalcount = 2;
299
- optional int64 totalsize = 3;
300
- }
301
-
302
- repeated .CCloud_EnumerateUserApps_Response.Apps apps = 1;
303
- }
304
-
305
- message CCloud_GetAppFileChangelist_Request {
306
- optional uint32 appid = 1 [(description) = "App ID"];
307
- optional uint64 synced_change_number = 2 [(description) = "Change Number to which local machine was last successfully synced"];
308
- }
309
-
310
- message CCloud_AppFileInfo {
311
- optional string file_name = 1 [(description) = "unqualified filename"];
312
- optional bytes sha_file = 2 [(description) = "SHA of file"];
313
- optional uint64 time_stamp = 3 [(description) = "server timestamp of last modification"];
314
- optional uint32 raw_file_size = 4 [(description) = "size of raw file"];
315
- optional .ECloudStoragePersistState persist_state = 5 [default = k_ECloudStoragePersistStatePersisted, (description) = "current persist state of the file"];
316
- optional uint32 platforms_to_sync = 6 [(description) = "ERemoteStoragePlatform bits"];
317
- optional uint32 path_prefix_index = 7 [(description) = "index into string table of path prefixes"];
318
- optional uint32 machine_name_index = 8 [(description) = "what machine last modified this file"];
319
- }
320
-
321
- message CCloud_GetAppFileChangelist_Response {
322
- optional uint64 current_change_number = 1 [(description) = "Change Number current on server"];
323
- repeated .CCloud_AppFileInfo files = 2 [(description) = "List of files; may be the full list of extant/deleted files, or just a delta from the client list"];
324
- optional bool is_only_delta = 3 [(description) = "If true, 'files' omits any files that have not changed since client's change ID"];
325
- repeated string path_prefixes = 4 [(description) = "string table of path prefixes"];
326
- repeated string machine_names = 5 [(description) = "string table of machine names"];
327
- optional uint64 app_buildid_hwm = 6 [(description) = "highest app build ID which has uploaded data"];
328
- }
329
-
330
- message CCloud_AppSessionSuspend_Request {
331
- optional uint32 appid = 1;
332
- optional uint64 client_id = 2;
333
- optional string machine_name = 3;
334
- optional bool cloud_sync_completed = 4;
335
- }
336
-
337
- message CCloud_AppSessionSuspend_Response {
338
- }
339
-
340
- message CCloud_AppSessionResume_Request {
341
- optional uint32 appid = 1;
342
- optional uint64 client_id = 2;
343
- }
344
-
345
- message CCloud_AppSessionResume_Response {
346
- }
347
-
348
- message CCloud_AppLaunchIntent_Request {
349
- optional uint32 appid = 1;
350
- optional uint64 client_id = 2;
351
- optional string machine_name = 3;
352
- optional bool ignore_pending_operations = 4;
353
- }
354
-
355
- message CCloud_AppLaunchIntent_Response {
356
- repeated .CCloud_PendingRemoteOperation pending_remote_operations = 1 [(description) = "pending remote operations you should be aware of"];
357
- }
358
-
359
- message CCloud_AppExitSyncDone_Notification {
360
- optional uint32 appid = 1;
361
- optional uint64 client_id = 2;
362
- optional bool uploads_completed = 3;
363
- optional bool uploads_required = 4;
364
- }
365
-
366
- message CCloud_ClientGetAppQuotaUsage_Request {
367
- optional uint32 appid = 1;
368
- }
369
-
370
- message CCloud_ClientGetAppQuotaUsage_Response {
371
- optional uint32 existing_files = 1;
372
- optional uint64 existing_bytes = 2;
373
- optional uint32 max_num_files = 3;
374
- optional uint64 max_num_bytes = 4;
375
- }
376
-
377
- message CCloud_AppCloudStateChange_Notification {
378
- optional uint32 appid = 1 [(description) = "App which has had a change in cloud state"];
379
- optional uint64 app_change_number = 2 [(description) = "New App Change Number"];
380
- }
381
-
382
- message CCloud_ClientLogUploadRequest_Notification {
383
- optional uint64 request_id = 1;
384
- }
385
-
386
- service Cloud {
387
- option (service_description) = "A service for Steam Cloud operations.";
388
-
389
- rpc ClientLogUploadCheck (.CCloud_ClientLogUploadCheck_Notification) returns (.NoResponse) {
390
- option (method_description) = "Client checking for pending log upload requests.";
391
- }
392
-
393
- rpc ClientLogUploadComplete (.CCloud_ClientLogUploadComplete_Notification) returns (.NoResponse) {
394
- option (method_description) = "Client is flagging a log upload request as completed.";
395
- }
396
-
397
- rpc GetUploadServerInfo (.CCloud_GetUploadServerInfo_Request) returns (.CCloud_GetUploadServerInfo_Response) {
398
- option (method_description) = "Returns the URL of the proper cloud server for a user.";
399
- }
400
-
401
- rpc BeginHTTPUpload (.CCloud_BeginHTTPUpload_Request) returns (.CCloud_BeginHTTPUpload_Response) {
402
- 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.";
403
- }
404
-
405
- rpc CommitHTTPUpload (.CCloud_CommitHTTPUpload_Request) returns (.CCloud_CommitHTTPUpload_Response) {
406
- option (method_description) = "Commits a file upload initiated by BeginHTTPUpload and transferred via HTTP PUT.";
407
- }
408
-
409
- rpc BeginUGCUpload (.CCloud_BeginUGCUpload_Request) returns (.CCloud_BeginUGCUpload_Response) {
410
- 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.";
411
- }
412
-
413
- rpc CommitUGCUpload (.CCloud_CommitUGCUpload_Request) returns (.CCloud_CommitUGCUpload_Response) {
414
- option (method_description) = "Commits a file upload initiated by BeginUGCUpload and transferred via HTTP PUT.";
415
- }
416
-
417
- rpc GetFileDetails (.CCloud_GetFileDetails_Request) returns (.CCloud_GetFileDetails_Response) {
418
- option (method_description) = "Returns details on a Cloud file.";
419
- }
420
-
421
- rpc EnumerateUserFiles (.CCloud_EnumerateUserFiles_Request) returns (.CCloud_EnumerateUserFiles_Response) {
422
- option (method_description) = "Enumerates Cloud files for a user of a given app ID. Returns up to 500 files at a time.";
423
- }
424
-
425
- rpc Delete (.CCloud_Delete_Request) returns (.CCloud_Delete_Response) {
426
- option (method_description) = "Deletes a file from the user's cloud.";
427
- }
428
-
429
- rpc GetClientEncryptionKey (.CCloud_GetClientEncryptionKey_Request) returns (.CCloud_GetClientEncryptionKey_Response) {
430
- option (method_description) = "Gets the user's Cloud file encryption key.";
431
- }
432
-
433
- rpc CDNReport (.CCloud_CDNReport_Notification) returns (.NoResponse) {
434
- option (method_description) = "Reports the result of a CDN transfer.";
435
- }
436
-
437
- rpc ExternalStorageTransferReport (.CCloud_ExternalStorageTransferReport_Notification) returns (.NoResponse) {
438
- option (method_description) = "Reports the result of an external Cloud storage transfer.";
439
- }
440
-
441
- rpc BeginAppUploadBatch (.CCloud_BeginAppUploadBatch_Request) returns (.CCloud_BeginAppUploadBatch_Response) {
442
- option (method_description) = "Indicate a batch of files that will be uploaded / deleted for an app.";
443
- }
444
-
445
- rpc CompleteAppUploadBatch (.CCloud_CompleteAppUploadBatch_Notification) returns (.NoResponse) {
446
- option (method_description) = "Indicate that the batch is complete or being stopped for some other reason.";
447
- }
448
-
449
- rpc CompleteAppUploadBatchBlocking (.CCloud_CompleteAppUploadBatch_Request) returns (.CCloud_CompleteAppUploadBatch_Response) {
450
- option (method_description) = "Indicate that the batch is complete or being stopped for some other reason.";
451
- }
452
-
453
- rpc ClientBeginFileUpload (.CCloud_ClientBeginFileUpload_Request) returns (.CCloud_ClientBeginFileUpload_Response) {
454
- option (method_description) = "Initiate an upload to Cloud.";
455
- }
456
-
457
- rpc ClientCommitFileUpload (.CCloud_ClientCommitFileUpload_Request) returns (.CCloud_ClientCommitFileUpload_Response) {
458
- option (method_description) = "Commit the file upload or indicate failure.";
459
- }
460
-
461
- rpc ClientFileDownload (.CCloud_ClientFileDownload_Request) returns (.CCloud_ClientFileDownload_Response) {
462
- option (method_description) = "Initiate a file download.";
463
- }
464
-
465
- rpc ClientDeleteFile (.CCloud_ClientDeleteFile_Request) returns (.CCloud_ClientDeleteFile_Response) {
466
- option (method_description) = "Delete or forget a file.";
467
- }
468
-
469
- rpc ClientConflictResolution (.CCloud_ClientConflictResolution_Notification) returns (.NoResponse) {
470
- option (method_description) = "User has picked a resolution for a Cloud conflict.";
471
- }
472
-
473
- rpc EnumerateUserApps (.CCloud_EnumerateUserApps_Request) returns (.CCloud_EnumerateUserApps_Response) {
474
- option (method_description) = "Enumerates apps stroing cloud files for a user.";
475
- }
476
-
477
- rpc GetAppFileChangelist (.CCloud_GetAppFileChangelist_Request) returns (.CCloud_GetAppFileChangelist_Response) {
478
- option (method_description) = "Get a list of Cloud file changes for an app given a starting Change Number.";
479
- }
480
-
481
- rpc SuspendAppSession (.CCloud_AppSessionSuspend_Request) returns (.CCloud_AppSessionSuspend_Response) {
482
- option (method_description) = "An app session is being suspended";
483
- }
484
-
485
- rpc ResumeAppSession (.CCloud_AppSessionResume_Request) returns (.CCloud_AppSessionResume_Response) {
486
- option (method_description) = "An app session is being resumed";
487
- }
488
-
489
- rpc SignalAppLaunchIntent (.CCloud_AppLaunchIntent_Request) returns (.CCloud_AppLaunchIntent_Response) {
490
- option (method_description) = "Client intends to launch an app";
491
- }
492
-
493
- rpc SignalAppExitSyncDone (.CCloud_AppExitSyncDone_Notification) returns (.NoResponse) {
494
- option (method_description) = "Client is done trying to sync after a game session";
495
- }
496
-
497
- rpc ClientGetAppQuotaUsage (.CCloud_ClientGetAppQuotaUsage_Request) returns (.CCloud_ClientGetAppQuotaUsage_Response) {
498
- option (method_description) = "Client is requesting quota usage for an app";
499
- }
500
- }
501
-
502
- service CloudClient {
503
- option (service_description) = "Client notifications for Steam cloud events";
504
- option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
505
-
506
- rpc NotifyAppStateChange (.CCloud_AppCloudStateChange_Notification) returns (.NoResponse) {
507
- option (method_description) = "Cloud state for the given app has changed.";
508
- }
509
-
510
- rpc ClientLogUploadRequest (.CCloud_ClientLogUploadRequest_Notification) returns (.NoResponse) {
511
- option (method_description) = "Server is requesting log file uploads from the given client.";
512
- }
513
- }
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+ import "enums.proto";
4
+ import "steammessages_client_objects.proto";
5
+
6
+ option cc_generic_services = true;
7
+
8
+ message CCloud_ClientLogUploadCheck_Notification {
9
+ optional uint64 client_id = 1;
10
+ }
11
+
12
+ message CCloud_ClientLogUploadComplete_Notification {
13
+ optional uint64 client_id = 1;
14
+ optional uint64 request_id = 2;
15
+ }
16
+
17
+ message CCloud_GetUploadServerInfo_Request {
18
+ optional uint32 appid = 1 [(description) = "App ID to which a file will be uploaded to."];
19
+ }
20
+
21
+ message CCloud_GetUploadServerInfo_Response {
22
+ optional string server_url = 1;
23
+ }
24
+
25
+ message CCloud_BeginHTTPUpload_Request {
26
+ optional uint32 appid = 1 [(description) = "App ID for which the file is being uploaded."];
27
+ optional uint32 file_size = 2 [(description) = "Original file size in bytes."];
28
+ optional string filename = 3 [(description) = "Name of the file to store in the cloud."];
29
+ optional string file_sha = 4 [(description) = "Hex string (40 digits) representing the SHA1 digest of the file."];
30
+ optional bool is_public = 5 [(description) = "True if the file should be marked public on the UFS, false otherwise."];
31
+ repeated string platforms_to_sync = 6 [(description) = "Array of string specifying which platforms to sync; value values: all, Windows, MacOS, linux, Switch, iPhoneOS, Android."];
32
+ repeated string request_headers_names = 7 [(description) = "Names for headers you'll want to set on your upload request. May be left blank."];
33
+ 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."];
34
+ optional uint64 upload_batch_id = 9 [(description) = "ID of this batch returned by prior BeginAppUploadBatch call."];
35
+ }
36
+
37
+ message CCloud_BeginHTTPUpload_Response {
38
+ message HTTPHeaders {
39
+ optional string name = 1;
40
+ optional string value = 2;
41
+ }
42
+
43
+ optional fixed64 ugcid = 1 [(description) = "UGC ID of the uploaded file."];
44
+ optional fixed32 timestamp = 2 [(description) = "Server timestamp of file."];
45
+ optional string url_host = 3 [(description) = "Host name of server to which file should be uploaded via HTTP PUT."];
46
+ optional string url_path = 4 [(description) = "Relative path on server to which file should be uploaded."];
47
+ optional bool use_https = 5 [(description) = "If true, use https, otherwise use http."];
48
+ repeated .CCloud_BeginHTTPUpload_Response.HTTPHeaders request_headers = 6 [(description) = "Name-value pairs to be sent in HTTP PUT request."];
49
+ }
50
+
51
+ message CCloud_CommitHTTPUpload_Request {
52
+ optional bool transfer_succeeded = 1 [(description) = "True if the HTTP PUT to the upload URL succeeded (URL provided in response to Cloud.BeginHTTPUpload), false if a failure occurred."];
53
+ optional uint32 appid = 2 [(description) = "App ID for which the file is being uploaded. Must match the app ID provided to Cloud.BeginHTTPUpload."];
54
+ optional string file_sha = 3 [(description) = "Hex string (40 digits) representing the SHA1 digest of the file. Must match the SHA1 digest provided to Cloud.BeginHTTPUpload."];
55
+ optional string filename = 4 [(description) = "Filename as specified in the Cloud.BeginHTTPUpload request."];
56
+ }
57
+
58
+ message CCloud_CommitHTTPUpload_Response {
59
+ optional bool file_committed = 1 [(description) = "True if the file was successfully committed, false otherwise."];
60
+ }
61
+
62
+ message CCloud_BeginUGCUpload_Request {
63
+ optional uint32 appid = 1 [(description) = "App ID this UGC belongs to."];
64
+ optional uint32 file_size = 2 [(description) = "File size in bytes."];
65
+ optional string filename = 3 [(description) = "Name of the file."];
66
+ optional string file_sha = 4 [(description) = "Hex string (40 digits) representing the SHA1 digest of the file."];
67
+ optional string content_type = 5 [(description) = "MIME content type of the file"];
68
+ }
69
+
70
+ message CCloud_BeginUGCUpload_Response {
71
+ message HTTPHeaders {
72
+ optional string name = 1;
73
+ optional string value = 2;
74
+ }
75
+
76
+ optional .EPublishedFileStorageSystem storage_system = 1 [default = k_EPublishedFileStorageSystemInvalid, (description) = "UGC Storage system chosen for this file"];
77
+ optional fixed64 ugcid = 2 [(description) = "UGC ID of the uploaded file."];
78
+ optional fixed32 timestamp = 3 [(description) = "Server timestamp of file."];
79
+ optional string url_host = 4 [(description) = "Host name of server to which file should be uploaded via HTTP PUT."];
80
+ optional string url_path = 5 [(description) = "Relative path on server to which file should be uploaded."];
81
+ optional bool use_https = 6 [(description) = "If true, use https, otherwise use http."];
82
+ repeated .CCloud_BeginUGCUpload_Response.HTTPHeaders request_headers = 7 [(description) = "Name-value pairs to be sent in HTTP PUT request."];
83
+ }
84
+
85
+ message CCloud_CommitUGCUpload_Request {
86
+ optional bool transfer_succeeded = 1 [(description) = "True if the HTTP PUT to the upload URL succeeded (URL provided in response to Cloud.BeginUGCUpload), false if a failure occurred."];
87
+ optional uint32 appid = 2 [(description) = "App ID for which the file is being uploaded. Must match the app ID provided to Cloud.BeginUGCUpload."];
88
+ optional fixed64 ugcid = 3 [(description) = "UGC ID of the uploaded file."];
89
+ }
90
+
91
+ message CCloud_CommitUGCUpload_Response {
92
+ optional bool file_committed = 1 [(description) = "True if the file was successfully committed, false otherwise."];
93
+ }
94
+
95
+ message CCloud_GetFileDetails_Request {
96
+ optional uint64 ugcid = 1 [(description) = "ID of the Cloud file to get details for."];
97
+ optional uint32 appid = 2 [(description) = "App ID the file belongs to."];
98
+ }
99
+
100
+ message CCloud_UserFile {
101
+ optional uint32 appid = 1;
102
+ optional uint64 ugcid = 2;
103
+ optional string filename = 3;
104
+ optional uint64 timestamp = 4;
105
+ optional uint32 file_size = 5;
106
+ optional string url = 6;
107
+ optional fixed64 steamid_creator = 7;
108
+ optional uint32 flags = 8;
109
+ repeated string platforms_to_sync = 9 [(description) = "Array of string specifying which platforms to sync; value values: all, Windows, MacOS, linux, Switch, iPhoneOS, Android."];
110
+ optional string file_sha = 10 [(description) = "Hex string (40 digits) representing the SHA1 digest of the file."];
111
+ }
112
+
113
+ message CCloud_GetFileDetails_Response {
114
+ optional .CCloud_UserFile details = 1;
115
+ }
116
+
117
+ message CCloud_EnumerateUserFiles_Request {
118
+ optional uint32 appid = 1 [(description) = "App ID to enumerate the files of."];
119
+ optional bool extended_details = 2 [(description) = "(Optional) Get extended details back on the files found. Defaults to only returned the app Id and UGC Id of the files found."];
120
+ optional uint32 count = 3 [(description) = "(Optional) Maximum number of results to return on this call. Defaults to a maximum of 500 files returned."];
121
+ optional uint32 start_index = 4 [(description) = "(Optional) Starting index to begin enumeration at. Defaults to the beginning of the list."];
122
+ }
123
+
124
+ message CCloud_EnumerateUserFiles_Response {
125
+ repeated .CCloud_UserFile files = 1;
126
+ optional uint32 total_files = 2;
127
+ }
128
+
129
+ message CCloud_Delete_Request {
130
+ optional string filename = 1;
131
+ optional uint32 appid = 2 [(description) = "App ID the file belongs to."];
132
+ optional uint64 upload_batch_id = 3 [(description) = "ID of this batch returned by prior BeginAppUploadBatch call."];
133
+ }
134
+
135
+ message CCloud_Delete_Response {
136
+ }
137
+
138
+ message CCloud_GetClientEncryptionKey_Request {
139
+ }
140
+
141
+ message CCloud_GetClientEncryptionKey_Response {
142
+ optional bytes key = 1 [(description) = "AES-256 encryption key"];
143
+ optional int32 crc = 2 [(description) = "CRC of key"];
144
+ }
145
+
146
+ message CCloud_CDNReport_Notification {
147
+ optional fixed64 steamid = 1;
148
+ optional string url = 2;
149
+ optional bool success = 3;
150
+ optional uint32 http_status_code = 4;
151
+ optional uint64 expected_bytes = 5;
152
+ optional uint64 received_bytes = 6;
153
+ optional uint32 duration = 7;
154
+ }
155
+
156
+ message CCloud_ExternalStorageTransferReport_Notification {
157
+ optional string host = 1;
158
+ optional string path = 2;
159
+ optional bool is_upload = 3;
160
+ optional bool success = 4;
161
+ optional uint32 http_status_code = 5;
162
+ optional uint64 bytes_expected = 6;
163
+ optional uint64 bytes_actual = 7;
164
+ optional uint32 duration_ms = 8;
165
+ optional uint32 cellid = 9;
166
+ optional bool proxied = 10;
167
+ optional bool ipv6_local = 11;
168
+ optional bool ipv6_remote = 12;
169
+ optional uint32 time_to_connect_ms = 13;
170
+ optional uint32 time_to_send_req_ms = 14;
171
+ optional uint32 time_to_first_byte_ms = 15;
172
+ optional uint32 time_to_last_byte_ms = 16;
173
+ }
174
+
175
+ message CCloud_BeginAppUploadBatch_Request {
176
+ optional uint32 appid = 1 [(description) = "App ID for this batch is for."];
177
+ optional string machine_name = 2 [(description) = "Client machine name (may be user's alias)."];
178
+ repeated string files_to_upload = 3 [(description) = "Filenames of files to upload in this batch"];
179
+ repeated string files_to_delete = 4 [(description) = "Filenames of files to delete in this batch"];
180
+ optional uint64 client_id = 5 [(description) = "Client ID number"];
181
+ optional uint64 app_build_id = 6 [(description) = "Current local build of the app which made these changes"];
182
+ }
183
+
184
+ message CCloud_BeginAppUploadBatch_Response {
185
+ optional uint64 batch_id = 1 [(description) = "ID of this batch."];
186
+ optional uint64 app_change_number = 4 [(description) = "New App Change Number"];
187
+ }
188
+
189
+ message CCloud_CompleteAppUploadBatch_Notification {
190
+ optional uint32 appid = 1 [(description) = "App ID for this batch is for."];
191
+ optional uint64 batch_id = 2 [(description) = "ID of this batch."];
192
+ optional uint32 batch_eresult = 3 [(description) = "result of this batch."];
193
+ }
194
+
195
+ message CCloud_CompleteAppUploadBatch_Request {
196
+ optional uint32 appid = 1 [(description) = "App ID for this batch is for."];
197
+ optional uint64 batch_id = 2 [(description) = "ID of this batch."];
198
+ optional uint32 batch_eresult = 3 [(description) = "result of this batch."];
199
+ }
200
+
201
+ message CCloud_CompleteAppUploadBatch_Response {
202
+ }
203
+
204
+ message CCloud_ClientBeginFileUpload_Request {
205
+ optional uint32 appid = 1 [(description) = "App ID for which the file is being uploaded."];
206
+ optional uint32 file_size = 2 [(description) = "file size as transmitted and stored in Cloud."];
207
+ optional uint32 raw_file_size = 3 [(description) = "file size before any compression and/or encryption."];
208
+ optional bytes file_sha = 4 [(description) = "SHA-1 of raw file."];
209
+ optional uint64 time_stamp = 5 [(description) = "Timestamp of file."];
210
+ optional string filename = 6 [(description) = "Name of the file to store in the cloud."];
211
+ optional uint32 platforms_to_sync = 7 [default = 4294967295];
212
+ optional uint32 cell_id = 9 [(description) = "Client's cell ID so we can pick storage location."];
213
+ optional bool can_encrypt = 10 [(description) = "if true, client can encrypt the file before uploading it"];
214
+ optional bool is_shared_file = 11 [(description) = "if true, this is going to be UGC or a screenshot or some other shared file"];
215
+ optional uint32 deprecated_realm = 12 [(description) = "unused"];
216
+ optional uint64 upload_batch_id = 13 [(description) = "ID of this batch."];
217
+ }
218
+
219
+ message ClientCloudFileUploadBlockDetails {
220
+ message HTTPHeaders {
221
+ optional string name = 1;
222
+ optional string value = 2;
223
+ }
224
+
225
+ optional string url_host = 1 [(description) = "Host name of server to which file should be uploaded via HTTP PUT."];
226
+ optional string url_path = 2 [(description) = "Relative path on server to which file should be uploaded."];
227
+ optional bool use_https = 3 [(description) = "If true, use https, otherwise use http."];
228
+ optional int32 http_method = 4 [(description) = "EHTTPMethod to use for this block."];
229
+ repeated .ClientCloudFileUploadBlockDetails.HTTPHeaders request_headers = 5 [(description) = "Name-value pairs to be sent in HTTP PUT request."];
230
+ optional uint64 block_offset = 6 [(description) = "offset of file block to upload"];
231
+ optional uint32 block_length = 7 [(description) = "length of file block to upload - if zero, no part of the file is part of this block"];
232
+ optional bytes explicit_body_data = 8 [(description) = "explicit body data to use, instead of file data, for this block"];
233
+ optional bool may_parallelize = 9 [(description) = "if true, this request may be done in parallel with other similarly-marked requests"];
234
+ }
235
+
236
+ message CCloud_ClientBeginFileUpload_Response {
237
+ optional bool encrypt_file = 1 [(description) = "If true, the file should be encrypted by the client before upload"];
238
+ repeated .ClientCloudFileUploadBlockDetails block_requests = 2 [(description) = "HTTP requests to make to perform upload"];
239
+ }
240
+
241
+ message CCloud_ClientCommitFileUpload_Request {
242
+ optional bool transfer_succeeded = 1 [(description) = "True if all block uploads succeeded, false if any of them failed."];
243
+ optional uint32 appid = 2 [(description) = "App ID for which the file is being uploaded. Must match the app ID provided to Cloud.BeginFileUpload."];
244
+ optional bytes file_sha = 3 [(description) = "SHA1 digest of the raw file. Must match the SHA1 digest provided to Cloud.BeginFileUpload."];
245
+ optional string filename = 4 [(description) = "Filename as specified in the Cloud.BeginFileUpload request."];
246
+ }
247
+
248
+ message CCloud_ClientCommitFileUpload_Response {
249
+ optional bool file_committed = 1 [(description) = "True if the file was successfully committed, false otherwise."];
250
+ }
251
+
252
+ message CCloud_ClientFileDownload_Request {
253
+ optional uint32 appid = 1 [(description) = "App ID the file is part of."];
254
+ optional string filename = 2 [(description) = "Filename of the file."];
255
+ optional uint32 realm = 3 [(description) = "Steam Realm"];
256
+ }
257
+
258
+ message CCloud_ClientFileDownload_Response {
259
+ message HTTPHeaders {
260
+ optional string name = 1;
261
+ optional string value = 2;
262
+ }
263
+
264
+ optional uint32 appid = 1 [(description) = "Application the file belongs to"];
265
+ optional uint32 file_size = 2 [(description) = "file size as transmitted and stored in the Cloud"];
266
+ optional uint32 raw_file_size = 3 [(description) = "file size when decompressed and/or decrypted"];
267
+ optional bytes sha_file = 4 [(description) = "SHA of file"];
268
+ optional uint64 time_stamp = 5 [(description) = "Timestamp of file"];
269
+ optional bool is_explicit_delete = 6 [(description) = "True if this is an explicitly deleted file"];
270
+ optional string url_host = 7 [(description) = "Host to GET the file from"];
271
+ optional string url_path = 8 [(description) = "Path on that host to use, including URL parameters if any"];
272
+ optional bool use_https = 9 [(description) = "If set, use HTTPS, else use HTTP"];
273
+ repeated .CCloud_ClientFileDownload_Response.HTTPHeaders request_headers = 10 [(description) = "Name-value pairs to be sent in HTTP GET request."];
274
+ optional bool encrypted = 11;
275
+ }
276
+
277
+ message CCloud_ClientDeleteFile_Request {
278
+ optional uint32 appid = 1 [(description) = "App ID for which the file is being deleted."];
279
+ optional string filename = 2 [(description) = "Filename of file."];
280
+ optional bool is_explicit_delete = 3 [(description) = "If true, this is a 'delete'; if false, it is a 'forget'"];
281
+ optional uint64 upload_batch_id = 4 [(description) = "ID of this batch."];
282
+ }
283
+
284
+ message CCloud_ClientDeleteFile_Response {
285
+ }
286
+
287
+ message CCloud_ClientConflictResolution_Notification {
288
+ optional uint32 appid = 1 [(description) = "App ID for which the conflict was resolved."];
289
+ optional bool chose_local_files = 2 [(description) = "Did the user choose to keep the files local to the machine they are on right now?"];
290
+ }
291
+
292
+ message CCloud_EnumerateUserApps_Request {
293
+ }
294
+
295
+ message CCloud_EnumerateUserApps_Response {
296
+ message Apps {
297
+ optional uint32 appid = 1;
298
+ optional int32 totalcount = 2;
299
+ optional int64 totalsize = 3;
300
+ }
301
+
302
+ repeated .CCloud_EnumerateUserApps_Response.Apps apps = 1;
303
+ }
304
+
305
+ message CCloud_GetAppFileChangelist_Request {
306
+ optional uint32 appid = 1 [(description) = "App ID"];
307
+ optional uint64 synced_change_number = 2 [(description) = "Change Number to which local machine was last successfully synced"];
308
+ }
309
+
310
+ message CCloud_AppFileInfo {
311
+ optional string file_name = 1 [(description) = "unqualified filename"];
312
+ optional bytes sha_file = 2 [(description) = "SHA of file"];
313
+ optional uint64 time_stamp = 3 [(description) = "server timestamp of last modification"];
314
+ optional uint32 raw_file_size = 4 [(description) = "size of raw file"];
315
+ optional .ECloudStoragePersistState persist_state = 5 [default = k_ECloudStoragePersistStatePersisted, (description) = "current persist state of the file"];
316
+ optional uint32 platforms_to_sync = 6 [(description) = "ERemoteStoragePlatform bits"];
317
+ optional uint32 path_prefix_index = 7 [(description) = "index into string table of path prefixes"];
318
+ optional uint32 machine_name_index = 8 [(description) = "what machine last modified this file"];
319
+ }
320
+
321
+ message CCloud_GetAppFileChangelist_Response {
322
+ optional uint64 current_change_number = 1 [(description) = "Change Number current on server"];
323
+ repeated .CCloud_AppFileInfo files = 2 [(description) = "List of files; may be the full list of extant/deleted files, or just a delta from the client list"];
324
+ optional bool is_only_delta = 3 [(description) = "If true, 'files' omits any files that have not changed since client's change ID"];
325
+ repeated string path_prefixes = 4 [(description) = "string table of path prefixes"];
326
+ repeated string machine_names = 5 [(description) = "string table of machine names"];
327
+ optional uint64 app_buildid_hwm = 6 [(description) = "highest app build ID which has uploaded data"];
328
+ }
329
+
330
+ message CCloud_AppSessionSuspend_Request {
331
+ optional uint32 appid = 1;
332
+ optional uint64 client_id = 2;
333
+ optional string machine_name = 3;
334
+ optional bool cloud_sync_completed = 4;
335
+ }
336
+
337
+ message CCloud_AppSessionSuspend_Response {
338
+ }
339
+
340
+ message CCloud_AppSessionResume_Request {
341
+ optional uint32 appid = 1;
342
+ optional uint64 client_id = 2;
343
+ }
344
+
345
+ message CCloud_AppSessionResume_Response {
346
+ }
347
+
348
+ message CCloud_AppLaunchIntent_Request {
349
+ optional uint32 appid = 1;
350
+ optional uint64 client_id = 2;
351
+ optional string machine_name = 3;
352
+ optional bool ignore_pending_operations = 4;
353
+ }
354
+
355
+ message CCloud_AppLaunchIntent_Response {
356
+ repeated .CCloud_PendingRemoteOperation pending_remote_operations = 1 [(description) = "pending remote operations you should be aware of"];
357
+ }
358
+
359
+ message CCloud_AppExitSyncDone_Notification {
360
+ optional uint32 appid = 1;
361
+ optional uint64 client_id = 2;
362
+ optional bool uploads_completed = 3;
363
+ optional bool uploads_required = 4;
364
+ }
365
+
366
+ message CCloud_ClientGetAppQuotaUsage_Request {
367
+ optional uint32 appid = 1;
368
+ }
369
+
370
+ message CCloud_ClientGetAppQuotaUsage_Response {
371
+ optional uint32 existing_files = 1;
372
+ optional uint64 existing_bytes = 2;
373
+ optional uint32 max_num_files = 3;
374
+ optional uint64 max_num_bytes = 4;
375
+ }
376
+
377
+ message CCloud_AppCloudStateChange_Notification {
378
+ optional uint32 appid = 1 [(description) = "App which has had a change in cloud state"];
379
+ optional uint64 app_change_number = 2 [(description) = "New App Change Number"];
380
+ }
381
+
382
+ message CCloud_ClientLogUploadRequest_Notification {
383
+ optional uint64 request_id = 1;
384
+ }
385
+
386
+ service Cloud {
387
+ option (service_description) = "A service for Steam Cloud operations.";
388
+
389
+ rpc ClientLogUploadCheck (.CCloud_ClientLogUploadCheck_Notification) returns (.NoResponse) {
390
+ option (method_description) = "Client checking for pending log upload requests.";
391
+ }
392
+
393
+ rpc ClientLogUploadComplete (.CCloud_ClientLogUploadComplete_Notification) returns (.NoResponse) {
394
+ option (method_description) = "Client is flagging a log upload request as completed.";
395
+ }
396
+
397
+ rpc GetUploadServerInfo (.CCloud_GetUploadServerInfo_Request) returns (.CCloud_GetUploadServerInfo_Response) {
398
+ option (method_description) = "Returns the URL of the proper cloud server for a user.";
399
+ }
400
+
401
+ rpc BeginHTTPUpload (.CCloud_BeginHTTPUpload_Request) returns (.CCloud_BeginHTTPUpload_Response) {
402
+ 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.";
403
+ }
404
+
405
+ rpc CommitHTTPUpload (.CCloud_CommitHTTPUpload_Request) returns (.CCloud_CommitHTTPUpload_Response) {
406
+ option (method_description) = "Commits a file upload initiated by BeginHTTPUpload and transferred via HTTP PUT.";
407
+ }
408
+
409
+ rpc BeginUGCUpload (.CCloud_BeginUGCUpload_Request) returns (.CCloud_BeginUGCUpload_Response) {
410
+ 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.";
411
+ }
412
+
413
+ rpc CommitUGCUpload (.CCloud_CommitUGCUpload_Request) returns (.CCloud_CommitUGCUpload_Response) {
414
+ option (method_description) = "Commits a file upload initiated by BeginUGCUpload and transferred via HTTP PUT.";
415
+ }
416
+
417
+ rpc GetFileDetails (.CCloud_GetFileDetails_Request) returns (.CCloud_GetFileDetails_Response) {
418
+ option (method_description) = "Returns details on a Cloud file.";
419
+ }
420
+
421
+ rpc EnumerateUserFiles (.CCloud_EnumerateUserFiles_Request) returns (.CCloud_EnumerateUserFiles_Response) {
422
+ option (method_description) = "Enumerates Cloud files for a user of a given app ID. Returns up to 500 files at a time.";
423
+ }
424
+
425
+ rpc Delete (.CCloud_Delete_Request) returns (.CCloud_Delete_Response) {
426
+ option (method_description) = "Deletes a file from the user's cloud.";
427
+ }
428
+
429
+ rpc GetClientEncryptionKey (.CCloud_GetClientEncryptionKey_Request) returns (.CCloud_GetClientEncryptionKey_Response) {
430
+ option (method_description) = "Gets the user's Cloud file encryption key.";
431
+ }
432
+
433
+ rpc CDNReport (.CCloud_CDNReport_Notification) returns (.NoResponse) {
434
+ option (method_description) = "Reports the result of a CDN transfer.";
435
+ }
436
+
437
+ rpc ExternalStorageTransferReport (.CCloud_ExternalStorageTransferReport_Notification) returns (.NoResponse) {
438
+ option (method_description) = "Reports the result of an external Cloud storage transfer.";
439
+ }
440
+
441
+ rpc BeginAppUploadBatch (.CCloud_BeginAppUploadBatch_Request) returns (.CCloud_BeginAppUploadBatch_Response) {
442
+ option (method_description) = "Indicate a batch of files that will be uploaded / deleted for an app.";
443
+ }
444
+
445
+ rpc CompleteAppUploadBatch (.CCloud_CompleteAppUploadBatch_Notification) returns (.NoResponse) {
446
+ option (method_description) = "Indicate that the batch is complete or being stopped for some other reason.";
447
+ }
448
+
449
+ rpc CompleteAppUploadBatchBlocking (.CCloud_CompleteAppUploadBatch_Request) returns (.CCloud_CompleteAppUploadBatch_Response) {
450
+ option (method_description) = "Indicate that the batch is complete or being stopped for some other reason.";
451
+ }
452
+
453
+ rpc ClientBeginFileUpload (.CCloud_ClientBeginFileUpload_Request) returns (.CCloud_ClientBeginFileUpload_Response) {
454
+ option (method_description) = "Initiate an upload to Cloud.";
455
+ }
456
+
457
+ rpc ClientCommitFileUpload (.CCloud_ClientCommitFileUpload_Request) returns (.CCloud_ClientCommitFileUpload_Response) {
458
+ option (method_description) = "Commit the file upload or indicate failure.";
459
+ }
460
+
461
+ rpc ClientFileDownload (.CCloud_ClientFileDownload_Request) returns (.CCloud_ClientFileDownload_Response) {
462
+ option (method_description) = "Initiate a file download.";
463
+ }
464
+
465
+ rpc ClientDeleteFile (.CCloud_ClientDeleteFile_Request) returns (.CCloud_ClientDeleteFile_Response) {
466
+ option (method_description) = "Delete or forget a file.";
467
+ }
468
+
469
+ rpc ClientConflictResolution (.CCloud_ClientConflictResolution_Notification) returns (.NoResponse) {
470
+ option (method_description) = "User has picked a resolution for a Cloud conflict.";
471
+ }
472
+
473
+ rpc EnumerateUserApps (.CCloud_EnumerateUserApps_Request) returns (.CCloud_EnumerateUserApps_Response) {
474
+ option (method_description) = "Enumerates apps stroing cloud files for a user.";
475
+ }
476
+
477
+ rpc GetAppFileChangelist (.CCloud_GetAppFileChangelist_Request) returns (.CCloud_GetAppFileChangelist_Response) {
478
+ option (method_description) = "Get a list of Cloud file changes for an app given a starting Change Number.";
479
+ }
480
+
481
+ rpc SuspendAppSession (.CCloud_AppSessionSuspend_Request) returns (.CCloud_AppSessionSuspend_Response) {
482
+ option (method_description) = "An app session is being suspended";
483
+ }
484
+
485
+ rpc ResumeAppSession (.CCloud_AppSessionResume_Request) returns (.CCloud_AppSessionResume_Response) {
486
+ option (method_description) = "An app session is being resumed";
487
+ }
488
+
489
+ rpc SignalAppLaunchIntent (.CCloud_AppLaunchIntent_Request) returns (.CCloud_AppLaunchIntent_Response) {
490
+ option (method_description) = "Client intends to launch an app";
491
+ }
492
+
493
+ rpc SignalAppExitSyncDone (.CCloud_AppExitSyncDone_Notification) returns (.NoResponse) {
494
+ option (method_description) = "Client is done trying to sync after a game session";
495
+ }
496
+
497
+ rpc ClientGetAppQuotaUsage (.CCloud_ClientGetAppQuotaUsage_Request) returns (.CCloud_ClientGetAppQuotaUsage_Response) {
498
+ option (method_description) = "Client is requesting quota usage for an app";
499
+ }
500
+ }
501
+
502
+ service CloudClient {
503
+ option (service_description) = "Client notifications for Steam cloud events";
504
+ option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
505
+
506
+ rpc NotifyAppStateChange (.CCloud_AppCloudStateChange_Notification) returns (.NoResponse) {
507
+ option (method_description) = "Cloud state for the given app has changed.";
508
+ }
509
+
510
+ rpc ClientLogUploadRequest (.CCloud_ClientLogUploadRequest_Notification) returns (.NoResponse) {
511
+ option (method_description) = "Server is requesting log file uploads from the given client.";
512
+ }
513
+ }