steamutils 1.2.51 → 1.2.53

Sign up to get free protection for your applications and to get access to all the features.
Files changed (226) 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/SteamClient.js +18 -12
  5. package/example.js +1 -0
  6. package/helpers/protos.js +21 -0
  7. package/package.json +6 -6
  8. package/protos/{base_gcmessages.proto → csgo/base_gcmessages_csgo.proto} +547 -533
  9. package/protos/csgo/c_peer2peer_netmessages.proto +55 -0
  10. package/protos/csgo/clientmessages.proto +48 -0
  11. package/protos/csgo/connectionless_netmessages.proto +19 -0
  12. package/protos/csgo/cs_gameevents.proto +34 -0
  13. package/protos/csgo/cs_usercmd.proto +34 -0
  14. package/protos/{cstrike15_gcmessages.proto → csgo/cstrike15_gcmessages.proto} +1402 -1344
  15. package/protos/{cstrike15_usermessages.proto → csgo/cstrike15_usermessages.proto} +596 -597
  16. package/protos/csgo/demo.proto +160 -0
  17. package/protos/{econ_gcmessages.proto → csgo/econ_gcmessages.proto} +228 -225
  18. package/protos/{engine_gcmessages.proto → csgo/engine_gcmessages.proto} +14 -16
  19. package/protos/{enums_clientserver.proto → csgo/enums_clientserver.proto} +1529 -1534
  20. package/protos/{fatdemo.proto → csgo/fatdemo.proto} +125 -125
  21. package/protos/csgo/gameevents.proto +120 -0
  22. package/protos/{gcsdk_gcmessages.proto → csgo/gcsdk_gcmessages.proto} +323 -302
  23. package/protos/{gcsystemmsgs.proto → csgo/gcsystemmsgs.proto} +242 -246
  24. package/protos/csgo/netmessages.proto +604 -0
  25. package/protos/csgo/network_connection.proto +126 -0
  26. package/protos/csgo/networkbasetypes.proto +244 -0
  27. package/protos/csgo/networksystem_protomessages.proto +17 -0
  28. package/protos/{steamdatagram_messages_auth.proto → csgo/steamdatagram_messages_auth.proto} +65 -65
  29. package/protos/csgo/steamdatagram_messages_sdr.proto +534 -0
  30. package/protos/{steammessages.proto → csgo/steammessages.proto} +597 -601
  31. package/protos/{steammessages_base.proto → csgo/steammessages_base.proto} +301 -288
  32. package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -0
  33. package/protos/{steammessages_gamenetworkingui.proto → csgo/steammessages_gamenetworkingui.proto} +61 -42
  34. package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -0
  35. package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -0
  36. package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -0
  37. package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -0
  38. package/protos/csgo/steammessages_steamlearn.steamworkssdk.proto +357 -0
  39. package/protos/csgo/steammessages_unified_base.steamworkssdk.proto +30 -0
  40. package/protos/{steamnetworkingsockets_messages.proto → csgo/steamnetworkingsockets_messages.proto} +205 -204
  41. package/protos/{steamnetworkingsockets_messages_certs.proto → csgo/steamnetworkingsockets_messages_certs.proto} +39 -38
  42. package/protos/{steamnetworkingsockets_messages_udp.proto → csgo/steamnetworkingsockets_messages_udp.proto} +75 -75
  43. package/protos/csgo/te.proto +259 -0
  44. package/protos/{uifontfile_format.proto → csgo/uifontfile_format.proto} +13 -16
  45. package/protos/csgo/usercmd.proto +38 -0
  46. package/protos/csgo/usermessages.proto +721 -0
  47. package/protos/csgo/valveextensions.proto +17 -0
  48. package/protos/google/protobuf/descriptor.proto +281 -0
  49. package/protos/{clientmetrics.proto → steam/clientmetrics.proto} +45 -45
  50. package/protos/{content_manifest.proto → steam/content_manifest.proto} +62 -62
  51. package/protos/steam/contenthubs.proto +41 -0
  52. package/protos/{encrypted_app_ticket.proto → steam/encrypted_app_ticket.proto} +10 -10
  53. package/protos/{enums.proto → steam/enums.proto} +444 -285
  54. package/protos/steam/enums_clientserver.proto +1539 -0
  55. package/protos/steam/enums_productinfo.proto +13 -0
  56. package/protos/{htmlmessages.proto → steam/htmlmessages.proto} +1027 -993
  57. package/protos/steam/offline_ticket.proto +8 -0
  58. package/protos/{renderer → steam/renderer}/rendermessages.proto +893 -893
  59. package/protos/steam/steamdatagram_messages_auth.proto +65 -0
  60. package/protos/{steamdatagram_messages_sdr.proto → steam/steamdatagram_messages_sdr.proto} +533 -518
  61. package/protos/{steammessages_accounthardware.steamclient.proto → steam/steammessages_accounthardware.steamclient.proto} +201 -188
  62. package/protos/{steammessages_appoverview.proto → steam/steammessages_appoverview.proto} +187 -185
  63. package/protos/steam/steammessages_auth.steamclient.proto +435 -0
  64. package/protos/steam/steammessages_base.proto +332 -0
  65. package/protos/{steammessages_broadcast.steamclient.proto → steam/steammessages_broadcast.steamclient.proto} +759 -756
  66. package/protos/{steammessages_chat.steamclient.proto → steam/steammessages_chat.steamclient.proto} +1281 -1281
  67. package/protos/steam/steammessages_client_objects.proto +645 -0
  68. package/protos/{steammessages_clientlanp2p.proto → steam/steammessages_clientlanp2p.proto} +42 -26
  69. package/protos/{steammessages_clientmetrics.steamclient.proto → steam/steammessages_clientmetrics.steamclient.proto} +194 -176
  70. package/protos/{steammessages_clientnotificationtypes.proto → steam/steammessages_clientnotificationtypes.proto} +231 -129
  71. package/protos/{steammessages_clientserver.proto → steam/steammessages_clientserver.proto} +392 -384
  72. package/protos/{steammessages_clientserver_2.proto → steam/steammessages_clientserver_2.proto} +760 -776
  73. package/protos/{steammessages_clientserver_appinfo.proto → steam/steammessages_clientserver_appinfo.proto} +131 -166
  74. package/protos/{steammessages_clientserver_friends.proto → steam/steammessages_clientserver_friends.proto} +260 -260
  75. package/protos/{steammessages_clientserver_gameservers.proto → steam/steammessages_clientserver_gameservers.proto} +159 -159
  76. package/protos/{steammessages_clientserver_lbs.proto → steam/steammessages_clientserver_lbs.proto} +70 -70
  77. package/protos/{steammessages_clientserver_login.proto → steam/steammessages_clientserver_login.proto} +167 -159
  78. package/protos/{steammessages_clientserver_mms.proto → steam/steammessages_clientserver_mms.proto} +228 -235
  79. package/protos/{steammessages_clientserver_ucm.proto → steam/steammessages_clientserver_ucm.proto} +205 -202
  80. package/protos/{steammessages_clientserver_uds.proto → steam/steammessages_clientserver_uds.proto} +124 -104
  81. package/protos/{steammessages_clientserver_ufs.proto → steam/steammessages_clientserver_ufs.proto} +172 -172
  82. package/protos/{steammessages_clientserver_userstats.proto → steam/steammessages_clientserver_userstats.proto} +80 -80
  83. package/protos/steam/steammessages_clientsettings.proto +168 -0
  84. package/protos/{steammessages_cloud.steamclient.proto → steam/steammessages_cloud.steamclient.proto} +513 -512
  85. package/protos/{steammessages_contentsystem.steamclient.proto → steam/steammessages_contentsystem.steamclient.proto} +115 -77
  86. package/protos/{steammessages_credentials.steamclient.proto → steam/steammessages_credentials.steamclient.proto} +115 -141
  87. package/protos/steam/steammessages_datapublisher.steamclient.proto +116 -0
  88. package/protos/{steammessages_depotbuilder.steamclient.proto → steam/steammessages_depotbuilder.steamclient.proto} +118 -118
  89. package/protos/{steammessages_deviceauth.steamclient.proto → steam/steammessages_deviceauth.steamclient.proto} +203 -200
  90. package/protos/{steammessages_econ.steamclient.proto → steam/steammessages_econ.steamclient.proto} +150 -105
  91. package/protos/{steammessages_friendmessages.steamclient.proto → steam/steammessages_friendmessages.steamclient.proto} +168 -168
  92. package/protos/{steammessages_gamenetworking.steamclient.proto → steam/steammessages_gamenetworking.steamclient.proto} +32 -32
  93. package/protos/steam/steammessages_gamenetworkingui.proto +61 -0
  94. package/protos/{steammessages_gamenotifications.steamclient.proto → steam/steammessages_gamenotifications.steamclient.proto} +156 -156
  95. package/protos/{steammessages_gameservers.steamclient.proto → steam/steammessages_gameservers.steamclient.proto} +152 -152
  96. package/protos/{steammessages_hiddevices.proto → steam/steammessages_hiddevices.proto} +157 -156
  97. package/protos/{steammessages_inventory.steamclient.proto → steam/steammessages_inventory.steamclient.proto} +224 -224
  98. package/protos/{steammessages_linkfilter.steamclient.proto → steam/steammessages_linkfilter.steamclient.proto} +49 -49
  99. package/protos/{steammessages_lobbymatchmaking.steamclient.proto → steam/steammessages_lobbymatchmaking.steamclient.proto} +33 -33
  100. package/protos/{steammessages_market.steamclient.proto → steam/steammessages_market.steamclient.proto} +26 -26
  101. package/protos/steam/steammessages_marketingmessages.steamclient.proto +274 -0
  102. package/protos/{steammessages_offline.steamclient.proto → steam/steammessages_offline.steamclient.proto} +40 -37
  103. package/protos/{steammessages_parental.steamclient.proto → steam/steammessages_parental.steamclient.proto} +228 -186
  104. package/protos/{steammessages_parties.steamclient.proto → steam/steammessages_parties.steamclient.proto} +94 -94
  105. package/protos/{steammessages_partnerapps.steamclient.proto → steam/steammessages_partnerapps.steamclient.proto} +138 -136
  106. package/protos/{steammessages_player.steamclient.proto → steam/steammessages_player.steamclient.proto} +1060 -912
  107. package/protos/{steammessages_publishedfile.steamclient.proto → steam/steammessages_publishedfile.steamclient.proto} +813 -711
  108. package/protos/{steammessages_qms.steamclient.proto → steam/steammessages_qms.steamclient.proto} +125 -125
  109. package/protos/{steammessages_remoteclient.proto → steam/steammessages_remoteclient.proto} +99 -99
  110. package/protos/{steammessages_remoteclient_discovery.proto → steam/steammessages_remoteclient_discovery.proto} +235 -228
  111. package/protos/{steammessages_remoteclient_service.steamclient.proto → steam/steammessages_remoteclient_service.steamclient.proto} +86 -90
  112. package/protos/{steammessages_remoteclient_service_messages.proto → steam/steammessages_remoteclient_service_messages.proto} +217 -196
  113. package/protos/{steammessages_remoteplay.proto → steam/steammessages_remoteplay.proto} +976 -871
  114. package/protos/{steammessages_secrets.steamclient.proto → steam/steammessages_secrets.steamclient.proto} +39 -39
  115. package/protos/{steammessages_shader.steamclient.proto → steam/steammessages_shader.steamclient.proto} +108 -96
  116. package/protos/{steammessages_site_license.steamclient.proto → steam/steammessages_site_license.steamclient.proto} +128 -128
  117. package/protos/{steammessages_sitelicenseclient.proto → steam/steammessages_sitelicenseclient.proto} +38 -38
  118. package/protos/{steammessages_siteserverui.proto → steam/steammessages_siteserverui.proto} +130 -130
  119. package/protos/{steammessages_star.steamclient.proto → steam/steammessages_star.steamclient.proto} +64 -64
  120. package/protos/{steammessages_steamtv.steamclient.proto → steam/steammessages_steamtv.steamclient.proto} +630 -630
  121. package/protos/{steammessages_store.steamclient.proto → steam/steammessages_store.steamclient.proto} +371 -262
  122. package/protos/steam/steammessages_storebrowse.steamclient.proto +402 -0
  123. package/protos/{steammessages_timedtrial.steamclient.proto → steam/steammessages_timedtrial.steamclient.proto} +50 -50
  124. package/protos/{steammessages_twofactor.steamclient.proto → steam/steammessages_twofactor.steamclient.proto} +186 -154
  125. package/protos/{steammessages_unified_base.steamclient.proto → steam/steammessages_unified_base.steamclient.proto} +33 -33
  126. package/protos/{steammessages_unified_test.steamclient.proto → steam/steammessages_unified_test.steamclient.proto} +61 -50
  127. package/protos/{steammessages_useraccount.steamclient.proto → steam/steammessages_useraccount.steamclient.proto} +249 -210
  128. package/protos/{steammessages_vac.steamclient.proto → steam/steammessages_vac.steamclient.proto} +44 -44
  129. package/protos/steam/steammessages_video.steamclient.proto +171 -0
  130. package/protos/{steammessages_virtualcontroller.proto → steam/steammessages_virtualcontroller.proto} +138 -138
  131. package/protos/{steammessages_workshop.steamclient.proto → steam/steammessages_workshop.steamclient.proto} +23 -23
  132. package/protos/steam/steamnetworkingsockets_messages.proto +205 -0
  133. package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -0
  134. package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -0
  135. package/protos/steam/webuimessages_base.proto +24 -0
  136. package/protos/steam/webuimessages_gamenotes.proto +21 -0
  137. package/protos/steam/webuimessages_steamengine.proto +32 -0
  138. package/protos/steam/webuimessages_storagedevicemanager.proto +110 -0
  139. package/protos/steam/webuimessages_systemmanager.proto +17 -0
  140. package/protos/steam/webuimessages_transport.proto +18 -0
  141. package/protos/steam/webuimessages_transportvalidation.proto +97 -0
  142. package/protos/webui/common.proto +5508 -0
  143. package/protos/webui/common_base.proto +27 -0
  144. package/protos/webui/service_accountlinking.proto +27 -0
  145. package/protos/webui/service_accountprivacy.proto +42 -0
  146. package/protos/webui/service_auction.proto +97 -0
  147. package/protos/webui/service_authentication.proto +222 -0
  148. package/protos/webui/service_authenticationsupport.proto +74 -0
  149. package/protos/webui/service_broadcast.proto +562 -0
  150. package/protos/webui/service_chat.proto +11 -0
  151. package/protos/webui/service_chatroom.proto +810 -0
  152. package/protos/webui/service_chatusability.proto +107 -0
  153. package/protos/webui/service_clan.proto +41 -0
  154. package/protos/webui/service_clanchatrooms.proto +25 -0
  155. package/protos/webui/service_clanfaqs.proto +202 -0
  156. package/protos/webui/service_clientcomm.proto +150 -0
  157. package/protos/webui/service_clientmetrics.proto +63 -0
  158. package/protos/webui/service_cloud.proto +222 -0
  159. package/protos/webui/service_cloudconfigstore.proto +51 -0
  160. package/protos/webui/service_cloudgaming.proto +30 -0
  161. package/protos/webui/service_community.proto +365 -0
  162. package/protos/webui/service_econ.proto +134 -0
  163. package/protos/webui/service_embedded.proto +24 -0
  164. package/protos/webui/service_experimentservice.proto +6 -0
  165. package/protos/webui/service_fovasvideo.proto +15 -0
  166. package/protos/webui/service_friendmessages.proto +133 -0
  167. package/protos/webui/service_friendslist.proto +70 -0
  168. package/protos/webui/service_gamenotes.proto +15 -0
  169. package/protos/webui/service_helprequestlogs.proto +26 -0
  170. package/protos/webui/service_loyaltyrewards.proto +252 -0
  171. package/protos/webui/service_marketingmessages.proto +184 -0
  172. package/protos/webui/service_mobileapp.proto +18 -0
  173. package/protos/webui/service_mobileauth.proto +24 -0
  174. package/protos/webui/service_mobiledevice.proto +26 -0
  175. package/protos/webui/service_mobileperaccount.proto +31 -0
  176. package/protos/webui/service_news.proto +101 -0
  177. package/protos/webui/service_parental.proto +178 -0
  178. package/protos/webui/service_partnermembershipinvite.proto +29 -0
  179. package/protos/webui/service_partnerstorebrowse.proto +6 -0
  180. package/protos/webui/service_phone.proto +51 -0
  181. package/protos/webui/service_physicalgoods.proto +15 -0
  182. package/protos/webui/service_player.proto +885 -0
  183. package/protos/webui/service_promotioneventinvites.proto +50 -0
  184. package/protos/webui/service_promotionplanning.proto +72 -0
  185. package/protos/webui/service_publishedfile.proto +687 -0
  186. package/protos/webui/service_publishing.proto +119 -0
  187. package/protos/webui/service_quest.proto +127 -0
  188. package/protos/webui/service_salefeature.proto +315 -0
  189. package/protos/webui/service_saleitemrewards.proto +54 -0
  190. package/protos/webui/service_shoppingcart.proto +108 -0
  191. package/protos/webui/service_steamawards.proto +19 -0
  192. package/protos/webui/service_steamcharts.proto +75 -0
  193. package/protos/webui/service_steamengine.proto +36 -0
  194. package/protos/webui/service_steamlearn.proto +727 -0
  195. package/protos/webui/service_steamnotification.proto +84 -0
  196. package/protos/webui/service_steamtv.proto +495 -0
  197. package/protos/webui/service_steamvrvoicechat.proto +67 -0
  198. package/protos/webui/service_steamvrwebrtc.proto +48 -0
  199. package/protos/webui/service_storagedevicemanager.proto +104 -0
  200. package/protos/webui/service_store.proto +289 -0
  201. package/protos/webui/service_storeappsimilarity.proto +76 -0
  202. package/protos/webui/service_storebrowse.proto +73 -0
  203. package/protos/webui/service_storequery.proto +97 -0
  204. package/protos/webui/service_storesales.proto +15 -0
  205. package/protos/webui/service_storetopsellers.proto +44 -0
  206. package/protos/webui/service_systemmanager.proto +11 -0
  207. package/protos/webui/service_test_transporterror.proto +6 -0
  208. package/protos/webui/service_transportauth.proto +12 -0
  209. package/protos/webui/service_transportvalidation.proto +69 -0
  210. package/protos/webui/service_twofactor.proto +181 -0
  211. package/protos/webui/service_useraccount.proto +138 -0
  212. package/protos/webui/service_usergameactivity.proto +34 -0
  213. package/protos/webui/service_usergamenotes.proto +53 -0
  214. package/protos/webui/service_usernews.proto +68 -0
  215. package/protos/webui/service_userreviews.proto +96 -0
  216. package/protos/webui/service_video.proto +128 -0
  217. package/protos/webui/service_voicechat.proto +139 -0
  218. package/protos/webui/service_webrtc.proto +52 -0
  219. package/.idea/deployment.xml +0 -21
  220. package/protos/netmessages.proto +0 -491
  221. package/protos/network_connection.proto +0 -70
  222. package/protos/steamdatagram_messages.proto +0 -205
  223. package/protos/steammessages_auth.steamclient.proto +0 -192
  224. package/protos/steammessages_client_objects.proto +0 -336
  225. package/protos/steammessages_datapublisher.steamclient.proto +0 -67
  226. package/protos/steammessages_video.steamclient.proto +0 -84
@@ -1,711 +1,813 @@
1
- import "steammessages_base.proto";
2
- import "steammessages_unified_base.steamclient.proto";
3
- import "enums.proto";
4
-
5
- option cc_generic_services = true;
6
-
7
- enum EPublishedFileRevision {
8
- k_EPublishedFileRevision_Default = 0;
9
- k_EPublishedFileRevision_Latest = 1;
10
- k_EPublishedFileRevision_ApprovedSnapshot = 2;
11
- k_EPublishedFileRevision_ApprovedSnapshot_China = 3;
12
- k_EPublishedFileRevision_RejectedSnapshot = 4;
13
- k_EPublishedFileRevision_RejectedSnapshot_China = 5;
14
- }
15
-
16
- enum EPublishedFileForSaleStatus {
17
- k_PFFSS_NotForSale = 0;
18
- k_PFFSS_PendingApproval = 1;
19
- k_PFFSS_ApprovedForSale = 2;
20
- k_PFFSS_RejectedForSale = 3;
21
- k_PFFSS_NoLongerForSale = 4;
22
- k_PFFSS_TentativeApproval = 5;
23
- }
24
-
25
- message CPublishedFile_Subscribe_Request {
26
- optional uint64 publishedfileid = 1;
27
- optional uint32 list_type = 2;
28
- optional int32 appid = 3;
29
- optional bool notify_client = 4;
30
- }
31
-
32
- message CPublishedFile_Subscribe_Response {
33
- }
34
-
35
- message CPublishedFile_Unsubscribe_Request {
36
- optional uint64 publishedfileid = 1;
37
- optional uint32 list_type = 2;
38
- optional int32 appid = 3;
39
- optional bool notify_client = 4;
40
- }
41
-
42
- message CPublishedFile_Unsubscribe_Response {
43
- }
44
-
45
- message CPublishedFile_CanSubscribe_Request {
46
- optional uint64 publishedfileid = 1;
47
- }
48
-
49
- message CPublishedFile_CanSubscribe_Response {
50
- optional bool can_subscribe = 1;
51
- }
52
-
53
- message CPublishedFile_Publish_Request {
54
- optional uint32 appid = 1 [(description) = "App Id this file is being published FROM."];
55
- optional uint32 consumer_appid = 2 [(description) = "App Id this file is being published TO."];
56
- optional string cloudfilename = 3 [(description) = "Name of the file to publish in the user's cloud."];
57
- optional string preview_cloudfilename = 4 [(description) = "Name of the file to use as the published file's preview."];
58
- optional string title = 5 [(description) = "Text title for the published file."];
59
- optional string file_description = 6 [(description) = "Text description for the published file."];
60
- optional uint32 file_type = 7 [(description) = "(EWorkshopFileType) Type of Workshop file to publish."];
61
- optional string consumer_shortcut_name = 8 [(description) = "Shortcut name for the published file."];
62
- optional string youtube_username = 9 [(description) = "(Optional) User's YouTube account username."];
63
- optional string youtube_videoid = 10 [(description) = "(Optional) Video Id of a YouTube video for this published file."];
64
- optional uint32 visibility = 11 [(description) = "(ERemoteStoragePublishedFileVisibility) Visibility of the published file (private, friends, public, etc.)"];
65
- optional string redirect_uri = 12 [(description) = "(Optional) If supplied, the resulting published file's Id is appended to the URI."];
66
- repeated string tags = 13 [(description) = "Array of text tags to apply to the published file."];
67
- optional string collection_type = 14 [(description) = "(Optional) Type of collection the published file represents."];
68
- optional string game_type = 15 [(description) = "(Optional) Type of game the published file represents."];
69
- optional string url = 16 [(description) = "(Optional) If this represents a game, this is the URL to that game's page."];
70
- }
71
-
72
- message CPublishedFile_Publish_Response {
73
- optional uint64 publishedfileid = 1;
74
- optional string redirect_uri = 2;
75
- }
76
-
77
- message CPublishedFile_GetDetails_Request {
78
- repeated fixed64 publishedfileids = 1 [(description) = "Set of published file Ids to retrieve details for."];
79
- optional bool includetags = 2 [(description) = "If true, return tag information in the returned details."];
80
- optional bool includeadditionalpreviews = 3 [(description) = "If true, return preview information in the returned details."];
81
- optional bool includechildren = 4 [(description) = "If true, return children in the returned details."];
82
- optional bool includekvtags = 5 [(description) = "If true, return key value tags in the returned details."];
83
- optional bool includevotes = 6 [(description) = "If true, return vote data in the returned details."];
84
- optional bool short_description = 8 [(description) = "If true, return a short description instead of the full description."];
85
- optional bool includeforsaledata = 10 [(description) = "If true, return pricing data, if applicable."];
86
- optional bool includemetadata = 11 [(description) = "If true, populate the metadata field."];
87
- optional int32 language = 12 [default = 0, (description) = "Specifies the localized text to return. Defaults to English."];
88
- optional uint32 return_playtime_stats = 13 [(description) = "Return playtime stats for the specified number of days before today."];
89
- optional uint32 appid = 14;
90
- optional bool strip_description_bbcode = 15 [(description) = "Strips BBCode from descriptions."];
91
- optional .EPublishedFileRevision desired_revision = 16 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
92
- optional bool includereactions = 17 [default = false, (description) = "If true, then reactions to items will be returned."];
93
- }
94
-
95
- message PublishedFileDetails {
96
- message Tag {
97
- optional string tag = 1;
98
- optional bool adminonly = 2;
99
- optional string display_name = 3;
100
- }
101
-
102
- message Preview {
103
- optional uint64 previewid = 1;
104
- optional uint32 sortorder = 2;
105
- optional string url = 3;
106
- optional uint32 size = 4;
107
- optional string filename = 5;
108
- optional string youtubevideoid = 6;
109
- optional uint32 preview_type = 7;
110
- optional string external_reference = 8;
111
- }
112
-
113
- message Child {
114
- optional uint64 publishedfileid = 1;
115
- optional uint32 sortorder = 2;
116
- optional uint32 file_type = 3;
117
- }
118
-
119
- message KVTag {
120
- optional string key = 1;
121
- optional string value = 2;
122
- }
123
-
124
- message VoteData {
125
- optional float score = 1;
126
- optional uint32 votes_up = 2;
127
- optional uint32 votes_down = 3;
128
- }
129
-
130
- message ForSaleData {
131
- optional bool is_for_sale = 1;
132
- optional uint32 price_category = 2;
133
- optional .EPublishedFileForSaleStatus estatus = 3 [default = k_PFFSS_NotForSale];
134
- optional uint32 price_category_floor = 4;
135
- optional bool price_is_pay_what_you_want = 5;
136
- optional uint32 discount_percentage = 6;
137
- }
138
-
139
- message PlaytimeStats {
140
- optional uint64 playtime_seconds = 1;
141
- optional uint64 num_sessions = 2;
142
- }
143
-
144
- message Reaction {
145
- optional uint32 reactionid = 1;
146
- optional uint32 count = 2;
147
- }
148
-
149
- optional uint32 result = 1;
150
- optional uint64 publishedfileid = 2;
151
- optional fixed64 creator = 3;
152
- optional uint32 creator_appid = 4;
153
- optional uint32 consumer_appid = 5;
154
- optional uint32 consumer_shortcutid = 6;
155
- optional string filename = 7;
156
- optional uint64 file_size = 8;
157
- optional uint64 preview_file_size = 9;
158
- optional string file_url = 10;
159
- optional string preview_url = 11;
160
- optional string youtubevideoid = 12;
161
- optional string url = 13;
162
- optional fixed64 hcontent_file = 14;
163
- optional fixed64 hcontent_preview = 15;
164
- optional string title = 16;
165
- optional string file_description = 17;
166
- optional string short_description = 18;
167
- optional uint32 time_created = 19;
168
- optional uint32 time_updated = 20;
169
- optional uint32 visibility = 21;
170
- optional uint32 flags = 22;
171
- optional bool workshop_file = 23;
172
- optional bool workshop_accepted = 24;
173
- optional bool show_subscribe_all = 25;
174
- optional int32 num_comments_developer = 26;
175
- optional int32 num_comments_public = 27;
176
- optional bool banned = 28;
177
- optional string ban_reason = 29;
178
- optional fixed64 banner = 30;
179
- optional bool can_be_deleted = 31;
180
- optional bool incompatible = 32;
181
- optional string app_name = 33;
182
- optional uint32 file_type = 34;
183
- optional bool can_subscribe = 35;
184
- optional uint32 subscriptions = 36;
185
- optional uint32 favorited = 37;
186
- optional uint32 followers = 38;
187
- optional uint32 lifetime_subscriptions = 39;
188
- optional uint32 lifetime_favorited = 40;
189
- optional uint32 lifetime_followers = 41;
190
- optional uint64 lifetime_playtime = 62;
191
- optional uint64 lifetime_playtime_sessions = 63;
192
- optional uint32 views = 42;
193
- optional uint32 image_width = 43;
194
- optional uint32 image_height = 44;
195
- optional string image_url = 45;
196
- optional bool spoiler_tag = 46;
197
- optional uint32 shortcutid = 47;
198
- optional string shortcutname = 48;
199
- optional uint32 num_children = 49;
200
- optional uint32 num_reports = 50;
201
- repeated .PublishedFileDetails.Preview previews = 51;
202
- repeated .PublishedFileDetails.Tag tags = 52;
203
- repeated .PublishedFileDetails.Child children = 53;
204
- repeated .PublishedFileDetails.KVTag kvtags = 54;
205
- optional .PublishedFileDetails.VoteData vote_data = 55;
206
- optional .PublishedFileDetails.PlaytimeStats playtime_stats = 64;
207
- optional uint32 time_subscribed = 56 [(description) = "Only valid in PublishedFile.GetUserFiles and not normal PublishedFile.GetDetail calls"];
208
- optional .PublishedFileDetails.ForSaleData for_sale_data = 57 [(description) = "Pricing information, if applicable."];
209
- optional string metadata = 58 [(description) = "Metadata associated with the item"];
210
- optional int32 language = 61 [default = 0, (description) = "The language of the title and description."];
211
- optional bool maybe_inappropriate_sex = 65;
212
- optional bool maybe_inappropriate_violence = 66;
213
- optional uint64 revision_change_number = 67 [(description) = "The change number for the specified revision."];
214
- 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."];
215
- repeated .EPublishedFileRevision available_revisions = 69 [(description) = "Available revisions"];
216
- repeated .PublishedFileDetails.Reaction reactions = 70 [(description) = "Reactions to this item"];
217
- optional .EBanContentCheckResult ban_text_check_result = 71 [default = k_EBanContentCheckResult_NotScanned];
218
- }
219
-
220
- message CPublishedFile_GetDetails_Response {
221
- repeated .PublishedFileDetails publishedfiledetails = 1;
222
- }
223
-
224
- message CPublishedFile_GetItemInfo_Request {
225
- message WorkshopItem {
226
- optional fixed64 published_file_id = 1;
227
- optional uint32 time_updated = 2;
228
- optional .EPublishedFileRevision desired_revision = 3 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
229
- }
230
-
231
- optional uint32 appid = 1;
232
- optional uint32 last_time_updated = 2;
233
- repeated .CPublishedFile_GetItemInfo_Request.WorkshopItem workshop_items = 3;
234
- }
235
-
236
- message CPublishedFile_GetItemInfo_Response {
237
- message WorkshopItemInfo {
238
- optional fixed64 published_file_id = 1;
239
- optional uint32 time_updated = 2;
240
- optional fixed64 manifest_id = 3;
241
- optional uint32 flags = 4;
242
- }
243
-
244
- optional uint32 update_time = 1;
245
- repeated .CPublishedFile_GetItemInfo_Response.WorkshopItemInfo workshop_items = 2;
246
- repeated fixed64 private_items = 3;
247
- }
248
-
249
- message CPublishedFile_GetUserFiles_Request {
250
- message KVTag {
251
- optional string key = 1;
252
- optional string value = 2;
253
- }
254
-
255
- message TagGroup {
256
- repeated string tags = 1;
257
- }
258
-
259
- optional fixed64 steamid = 1 [(description) = "Steam ID of the user whose files are being requested."];
260
- optional uint32 appid = 2 [(description) = "App Id of the app that the files were published to."];
261
- optional uint32 page = 4 [default = 1, (description) = "(Optional) Starting page for results."];
262
- optional uint32 numperpage = 5 [default = 1, (description) = "(Optional) The number of results, per page to return."];
263
- optional string type = 6 [default = "myfiles", (description) = "(Optional) Type of files to be returned."];
264
- optional string sortmethod = 7 [default = "lastupdated", (description) = "(Optional) Sorting method to use on returned values."];
265
- optional uint32 privacy = 9 [(description) = "(optional) Filter by privacy settings."];
266
- repeated string requiredtags = 10 [(description) = "(Optional) Tags that must be present on a published file to satisfy the query."];
267
- repeated string excludedtags = 11 [(description) = "(Optional) Tags that must NOT be present on a published file to satisfy the query."];
268
- repeated .CPublishedFile_GetUserFiles_Request.KVTag required_kv_tags = 30 [(description) = "Required key-value tags to match on."];
269
- optional uint32 filetype = 14 [(description) = "(Optional) File type to match files to."];
270
- optional uint32 creator_appid = 15 [(description) = "App Id of the app that published the files, only matched if specified."];
271
- optional string match_cloud_filename = 16 [(description) = "Match this cloud filename if specified."];
272
- optional uint32 cache_max_age_seconds = 27 [default = 0, (description) = "Allow stale data to be returned for the specified number of seconds."];
273
- optional int32 language = 29 [default = 0, (description) = "Specifies the localized text to return. Defaults to English."];
274
- 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."];
275
- optional bool totalonly = 17 [(description) = "(Optional) If true, only return the total number of files that satisfy this query."];
276
- optional bool ids_only = 18 [(description) = "(Optional) If true, only return the published file ids of files that satisfy this query."];
277
- optional bool return_vote_data = 19 [default = true, (description) = "Return vote data"];
278
- optional bool return_tags = 20 [(description) = "Return tags in the file details"];
279
- optional bool return_kv_tags = 21 [default = true, (description) = "Return key-value tags in the file details"];
280
- optional bool return_previews = 22 [(description) = "Return preview image and video details in the file details"];
281
- optional bool return_children = 23 [(description) = "Return child item ids in the file details"];
282
- optional bool return_short_description = 24 [default = true, (description) = "Populate the short_description field instead of file_description"];
283
- optional bool return_for_sale_data = 26 [(description) = "Return pricing information, if applicable"];
284
- optional bool return_metadata = 28 [default = false, (description) = "Populate the metadata field"];
285
- optional uint32 return_playtime_stats = 31 [(description) = "Return playtime stats for the specified number of days before today."];
286
- optional bool strip_description_bbcode = 32 [(description) = "Strips BBCode from descriptions."];
287
- optional bool return_reactions = 35 [default = false, (description) = "If true, then reactions to items will be returned."];
288
- optional uint32 startindex_override = 25 [(description) = "Backwards compatible for the client."];
289
- optional .EPublishedFileRevision desired_revision = 33 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
290
- }
291
-
292
- message CPublishedFile_GetUserFiles_Response {
293
- message App {
294
- optional uint32 appid = 1;
295
- optional string name = 2;
296
- optional uint32 shortcutid = 3;
297
- optional bool private = 4;
298
- }
299
-
300
- optional uint32 total = 1;
301
- optional uint32 startindex = 2;
302
- repeated .PublishedFileDetails publishedfiledetails = 3;
303
- repeated .CPublishedFile_GetUserFiles_Response.App apps = 4;
304
- }
305
-
306
- message CPublishedFile_AreFilesInSubscriptionList_Request {
307
- optional uint32 appid = 1;
308
- repeated fixed64 publishedfileids = 2;
309
- optional uint32 listtype = 3 [(description) = "See EUCMListType"];
310
- optional uint32 filetype = 4 [(description) = "See EPublishedFileInfoMatchingFileType"];
311
- optional uint32 workshopfiletype = 5 [(description) = "See EWorkshopFileType. If specified, overrides filetype"];
312
- }
313
-
314
- message CPublishedFile_AreFilesInSubscriptionList_Response {
315
- message InList {
316
- optional fixed64 publishedfileid = 1;
317
- optional bool inlist = 2;
318
- }
319
-
320
- repeated .CPublishedFile_AreFilesInSubscriptionList_Response.InList files = 1;
321
- }
322
-
323
- message CPublishedFile_Update_Request {
324
- optional uint32 appid = 1 [(description) = "App Id this published file belongs to."];
325
- optional fixed64 publishedfileid = 2 [(description) = "Published file id of the file we'd like to update."];
326
- optional string title = 3 [(description) = "(Optional) Title of the published file."];
327
- optional string file_description = 4 [(description) = "(Optional) Description of the published file."];
328
- optional uint32 visibility = 5 [(description) = "(Optional) Visibility of the published file."];
329
- repeated string tags = 6 [(description) = "(Optional) Set of tags for the published file."];
330
- optional string filename = 7 [(description) = "(Optional) Filename for the published file."];
331
- optional string preview_filename = 8 [(description) = "(Optional) Preview filename for the published file."];
332
- optional bool spoiler_tag = 10 [(description) = "(Optional) Whether this published file should have a spoiler tag attached to it."];
333
- optional uint32 image_width = 15 [(description) = "(Optional) If this is an image file, you can specify the image width."];
334
- optional uint32 image_height = 16 [(description) = "(Optional) If this is an image file, you can specify the image height."];
335
- }
336
-
337
- message CPublishedFile_Update_Response {
338
- }
339
-
340
- message CPublishedFile_Delete_Request {
341
- optional fixed64 publishedfileid = 1 [(description) = "Published file id of the file we'd like to delete."];
342
- }
343
-
344
- message CPublishedFile_Delete_Response {
345
- }
346
-
347
- message CPublishedFile_GetChangeHistoryEntry_Request {
348
- optional fixed64 publishedfileid = 1 [(description) = "Published file id of the file we'd like to get the change history for."];
349
- optional uint32 timestamp = 2;
350
- optional int32 language = 3;
351
- }
352
-
353
- message CPublishedFile_GetChangeHistoryEntry_Response {
354
- optional string change_description = 1;
355
- optional int32 language = 2;
356
- }
357
-
358
- message CPublishedFile_GetChangeHistory_Request {
359
- optional fixed64 publishedfileid = 1 [(description) = "Published file id of the file we'd like to get the change history for."];
360
- optional bool total_only = 2 [(description) = "Return the total number of changes only."];
361
- optional uint32 startindex = 3;
362
- optional uint32 count = 4;
363
- optional int32 language = 5 [default = 0, (description) = "Desired language"];
364
- }
365
-
366
- message CPublishedFile_GetChangeHistory_Response {
367
- message ChangeLog {
368
- optional uint32 timestamp = 1;
369
- optional string change_description = 2;
370
- optional int32 language = 3;
371
- }
372
-
373
- repeated .CPublishedFile_GetChangeHistory_Response.ChangeLog changes = 1;
374
- optional uint32 total = 2;
375
- }
376
-
377
- message CPublishedFile_RefreshVotingQueue_Request {
378
- optional uint32 appid = 1;
379
- optional uint32 matching_file_type = 2 [(description) = "EPublishedFileInfoMatchingFileType"];
380
- repeated string tags = 3 [(description) = "Include files that have all the tags or any of the tags if match_all_tags is set to false."];
381
- 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."];
382
- repeated string excluded_tags = 5 [(description) = "Exclude any files that have any of these tags."];
383
- optional uint32 desired_queue_size = 6 [(description) = "Desired number of items in the voting queue. May be clamped by the server"];
384
- optional .EPublishedFileRevision desired_revision = 8 [default = k_EPublishedFileRevision_Default, (description) = "Filter to items that have data for the specified revision."];
385
- }
386
-
387
- message CPublishedFile_RefreshVotingQueue_Response {
388
- }
389
-
390
- message CPublishedFile_QueryFiles_Request {
391
- message KVTag {
392
- optional string key = 1;
393
- optional string value = 2;
394
- }
395
-
396
- message TagGroup {
397
- repeated string tags = 1;
398
- }
399
-
400
- message DateRange {
401
- optional uint32 timestamp_start = 1 [(description) = "(Optional) Include items with the relevant date field after this value."];
402
- optional uint32 timestamp_end = 2 [(description) = "(Optional) Include items with the relevant date field before this value."];
403
- }
404
-
405
- optional uint32 query_type = 1 [(description) = "enumeration EPublishedFileQueryType in clientenums.h"];
406
- optional uint32 page = 2 [(description) = "Current page"];
407
- 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."];
408
- optional uint32 numperpage = 3 [default = 1, (description) = "(Optional) The number of results, per page to return."];
409
- optional uint32 creator_appid = 4 [(description) = "App that created the files"];
410
- optional uint32 appid = 5 [(description) = "App that consumes the files"];
411
- repeated string requiredtags = 6 [(description) = "Tags to match on. See match_all_tags parameter below"];
412
- repeated string excludedtags = 7 [(description) = "(Optional) Tags that must NOT be present on a published file to satisfy the query."];
413
- optional bool match_all_tags = 8 [default = true, (description) = "If true, then items must have all the tags specified, otherwise they must have at least one of the tags."];
414
- repeated string required_flags = 9 [(description) = "Required flags that must be set on any returned items"];
415
- repeated string omitted_flags = 10 [(description) = "Flags that must not be set on any returned items"];
416
- optional string search_text = 11 [(description) = "Text to match in the item's title or description"];
417
- optional uint32 filetype = 12 [(description) = "EPublishedFileInfoMatchingFileType"];
418
- optional fixed64 child_publishedfileid = 13 [(description) = "Find all items that reference the given item."];
419
- optional uint32 days = 14 [(description) = "If query_type is k_PublishedFileQueryType_RankedByTrend, then this is the number of days to get votes for [1,7]."];
420
- optional bool include_recent_votes_only = 15 [(description) = "If query_type is k_PublishedFileQueryType_RankedByTrend, then limit result set just to items that have votes within the day range given"];
421
- optional uint32 cache_max_age_seconds = 31 [default = 0, (description) = "Allow stale data to be returned for the specified number of seconds."];
422
- optional int32 language = 33 [default = 0, (description) = "Language to search in and also what gets returned. Defaults to English."];
423
- repeated .CPublishedFile_QueryFiles_Request.KVTag required_kv_tags = 34 [(description) = "Required key-value tags to match on."];
424
- 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."];
425
- optional .CPublishedFile_QueryFiles_Request.DateRange date_range_created = 44 [(description) = "(Optional) Filter to items created within this range."];
426
- optional .CPublishedFile_QueryFiles_Request.DateRange date_range_updated = 45 [(description) = "(Optional) Filter to items updated within this range."];
427
- optional bool totalonly = 16 [(description) = "(Optional) If true, only return the total number of files that satisfy this query."];
428
- optional bool ids_only = 35 [(description) = "(Optional) If true, only return the published file ids of files that satisfy this query."];
429
- optional bool return_vote_data = 17 [(description) = "Return vote data"];
430
- optional bool return_tags = 18 [(description) = "Return tags in the file details"];
431
- optional bool return_kv_tags = 19 [(description) = "Return key-value tags in the file details"];
432
- optional bool return_previews = 20 [(description) = "Return preview image and video details in the file details"];
433
- optional bool return_children = 21 [(description) = "Return child item ids in the file details"];
434
- optional bool return_short_description = 22 [(description) = "Populate the short_description field instead of file_description"];
435
- optional bool return_for_sale_data = 30 [(description) = "Return pricing information, if applicable"];
436
- optional bool return_metadata = 32 [default = false, (description) = "Populate the metadata"];
437
- optional uint32 return_playtime_stats = 36 [(description) = "Return playtime stats for the specified number of days before today."];
438
- 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."];
439
- optional bool strip_description_bbcode = 38 [(description) = "Strips BBCode from descriptions."];
440
- optional .EPublishedFileRevision desired_revision = 40 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
441
- optional bool return_reactions = 43 [default = false, (description) = "If true, then reactions to items will be returned."];
442
- }
443
-
444
- message CPublishedFile_QueryFiles_Response {
445
- optional uint32 total = 1 [(description) = "Number of matches found, not necessarily number of items returned"];
446
- repeated .PublishedFileDetails publishedfiledetails = 2 [(description) = "Each file details will be populated, depending on what return values were requested."];
447
- optional string next_cursor = 3 [(description) = "If a paging cursor was used, then this will be the next cursor to use for paging through results"];
448
- }
449
-
450
- message CPublishedFile_AddAppRelationship_Request {
451
- optional uint64 publishedfileid = 1;
452
- optional uint32 appid = 2;
453
- optional uint32 relationship = 3;
454
- }
455
-
456
- message CPublishedFile_AddAppRelationship_Response {
457
- }
458
-
459
- message CPublishedFile_RemoveAppRelationship_Request {
460
- optional uint64 publishedfileid = 1;
461
- optional uint32 appid = 2;
462
- optional uint32 relationship = 3;
463
- }
464
-
465
- message CPublishedFile_RemoveAppRelationship_Response {
466
- }
467
-
468
- message CPublishedFile_GetAppRelationships_Request {
469
- optional uint64 publishedfileid = 1;
470
- }
471
-
472
- message CPublishedFile_GetAppRelationships_Response {
473
- message AppRelationship {
474
- optional uint32 appid = 1;
475
- optional uint32 relationship = 2;
476
- }
477
-
478
- repeated .CPublishedFile_GetAppRelationships_Response.AppRelationship app_relationships = 3;
479
- }
480
-
481
- message CPublishedFile_StartPlaytimeTracking_Request {
482
- optional uint32 appid = 1;
483
- repeated uint64 publishedfileids = 2;
484
- }
485
-
486
- message CPublishedFile_StartPlaytimeTracking_Response {
487
- }
488
-
489
- message CPublishedFile_StopPlaytimeTracking_Request {
490
- optional uint32 appid = 1;
491
- repeated uint64 publishedfileids = 2;
492
- }
493
-
494
- message CPublishedFile_StopPlaytimeTracking_Response {
495
- }
496
-
497
- message CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request {
498
- optional uint32 appid = 1;
499
- }
500
-
501
- message CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response {
502
- }
503
-
504
- message CPublishedFile_SetPlaytimeForControllerConfigs_Request {
505
- message ControllerConfigUsage {
506
- optional uint64 publishedfileid = 1;
507
- optional float seconds_active = 2;
508
- }
509
-
510
- optional uint32 appid = 1;
511
- repeated .CPublishedFile_SetPlaytimeForControllerConfigs_Request.ControllerConfigUsage controller_config_usage = 2;
512
- }
513
-
514
- message CPublishedFile_SetPlaytimeForControllerConfigs_Response {
515
- }
516
-
517
- message CPublishedFile_AddChild_Request {
518
- optional uint64 publishedfileid = 1;
519
- optional uint64 child_publishedfileid = 2;
520
- }
521
-
522
- message CPublishedFile_AddChild_Response {
523
- }
524
-
525
- message CPublishedFile_RemoveChild_Request {
526
- optional uint64 publishedfileid = 1;
527
- optional uint64 child_publishedfileid = 2;
528
- }
529
-
530
- message CPublishedFile_RemoveChild_Response {
531
- }
532
-
533
- message CPublishedFile_GetUserVoteSummary_Request {
534
- repeated fixed64 publishedfileids = 1;
535
- }
536
-
537
- message CPublishedFile_GetUserVoteSummary_Response {
538
- message VoteSummary {
539
- optional fixed64 publishedfileid = 1;
540
- optional bool vote_for = 2;
541
- optional bool vote_against = 3;
542
- optional bool reported = 4;
543
- }
544
-
545
- repeated .CPublishedFile_GetUserVoteSummary_Response.VoteSummary summaries = 1;
546
- }
547
-
548
- message CPublishedFile_GetItemChanges_Request {
549
- optional uint32 appid = 1;
550
- optional uint32 last_time_updated = 2;
551
- optional uint32 num_items_max = 3;
552
- }
553
-
554
- message CPublishedFile_GetItemChanges_Response {
555
- message WorkshopItemInfo {
556
- optional fixed64 published_file_id = 1;
557
- optional uint32 time_updated = 2;
558
- optional fixed64 manifest_id = 3;
559
- }
560
-
561
- optional uint32 update_time = 1;
562
- repeated .CPublishedFile_GetItemChanges_Response.WorkshopItemInfo workshop_items = 2;
563
- }
564
-
565
- message CPublishedFile_FileSubscribed_Notification {
566
- message RevisionData {
567
- optional .EPublishedFileRevision revision = 1 [default = k_EPublishedFileRevision_Default];
568
- optional fixed64 file_hcontent = 2 [(description) = "Manifest GID"];
569
- optional uint32 rtime_updated = 3 [(description) = "Last time content updated"];
570
- }
571
-
572
- optional fixed64 published_file_id = 1 [(description) = "PublishedFileID_t for the content"];
573
- optional uint32 app_id = 2;
574
- optional fixed64 file_hcontent = 3 [(description) = "UGC file handle or manifest GID"];
575
- optional uint32 file_size = 4;
576
- optional uint32 rtime_subscribed = 5;
577
- optional bool is_depot_content = 6 [(description) = "True if workshop item is delivered via Steampipe"];
578
- optional uint32 rtime_updated = 7 [(description) = "Last time content updated"];
579
- repeated .CPublishedFile_FileSubscribed_Notification.RevisionData revisions = 8 [(description) = "Data for each of the revisions that this item has"];
580
- }
581
-
582
- message CPublishedFile_FileUnsubscribed_Notification {
583
- optional fixed64 published_file_id = 1 [(description) = "PublishedFileID_t for the content"];
584
- optional uint32 app_id = 2;
585
- }
586
-
587
- message CPublishedFile_FileDeleted_Client_Notification {
588
- optional fixed64 published_file_id = 1 [(description) = "PublishedFileID_t for the content"];
589
- optional uint32 app_id = 2;
590
- }
591
-
592
- service PublishedFile {
593
- option (service_description) = "A service to access published file data";
594
-
595
- rpc Subscribe (.CPublishedFile_Subscribe_Request) returns (.CPublishedFile_Subscribe_Response) {
596
- option (method_description) = "Subscribes the user to the published file";
597
- }
598
-
599
- rpc Unsubscribe (.CPublishedFile_Unsubscribe_Request) returns (.CPublishedFile_Unsubscribe_Response) {
600
- option (method_description) = "Unsubscribes the user from the published file";
601
- }
602
-
603
- rpc CanSubscribe (.CPublishedFile_CanSubscribe_Request) returns (.CPublishedFile_CanSubscribe_Response) {
604
- option (method_description) = "Check if the user can subscribe to the published file";
605
- }
606
-
607
- rpc Publish (.CPublishedFile_Publish_Request) returns (.CPublishedFile_Publish_Response) {
608
- option (method_description) = "Publishes a clouded user file to the Workshop.";
609
- }
610
-
611
- rpc GetDetails (.CPublishedFile_GetDetails_Request) returns (.CPublishedFile_GetDetails_Response) {
612
- option (method_description) = "Retrieves information about a set of published files.";
613
- }
614
-
615
- rpc GetItemInfo (.CPublishedFile_GetItemInfo_Request) returns (.CPublishedFile_GetItemInfo_Response) {
616
- option (method_description) = "Retrieves information about a set of published files.";
617
- }
618
-
619
- rpc GetUserFiles (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response) {
620
- option (method_description) = "Retrieves files published by a user.";
621
- }
622
-
623
- rpc AreFilesInSubscriptionList (.CPublishedFile_AreFilesInSubscriptionList_Request) returns (.CPublishedFile_AreFilesInSubscriptionList_Response) {
624
- option (method_description) = "Determines which files in the given list are in a user's subscription list";
625
- }
626
-
627
- rpc Update (.CPublishedFile_Update_Request) returns (.CPublishedFile_Update_Response) {
628
- option (method_description) = "Updates information about a published file.";
629
- }
630
-
631
- rpc Delete (.CPublishedFile_Delete_Request) returns (.CPublishedFile_Delete_Response) {
632
- option (method_description) = "Deletes a published file.";
633
- }
634
-
635
- rpc GetChangeHistoryEntry (.CPublishedFile_GetChangeHistoryEntry_Request) returns (.CPublishedFile_GetChangeHistoryEntry_Response) {
636
- option (method_description) = "Returns data on a specific change history entry for a published file";
637
- }
638
-
639
- rpc GetChangeHistory (.CPublishedFile_GetChangeHistory_Request) returns (.CPublishedFile_GetChangeHistory_Response) {
640
- option (method_description) = "Returns data on the change history for a published file";
641
- }
642
-
643
- rpc RefreshVotingQueue (.CPublishedFile_RefreshVotingQueue_Request) returns (.CPublishedFile_RefreshVotingQueue_Response) {
644
- option (method_description) = "Refresh the voting queue for the user";
645
- }
646
-
647
- rpc QueryFiles (.CPublishedFile_QueryFiles_Request) returns (.CPublishedFile_QueryFiles_Response) {
648
- option (method_description) = "Performs a search query for published files";
649
- }
650
-
651
- rpc AddAppRelationship (.CPublishedFile_AddAppRelationship_Request) returns (.CPublishedFile_AddAppRelationship_Response) {
652
- option (method_description) = "Adds a relationship between the published file and the given app";
653
- }
654
-
655
- rpc RemoveAppRelationship (.CPublishedFile_RemoveAppRelationship_Request) returns (.CPublishedFile_RemoveAppRelationship_Response) {
656
- option (method_description) = "Remove a relationship between the published file and the given app";
657
- }
658
-
659
- rpc GetAppRelationships (.CPublishedFile_GetAppRelationships_Request) returns (.CPublishedFile_GetAppRelationships_Response) {
660
- option (method_description) = "Returns the list of app relationships for this published file";
661
- }
662
-
663
- rpc StartPlaytimeTracking (.CPublishedFile_StartPlaytimeTracking_Request) returns (.CPublishedFile_StartPlaytimeTracking_Response) {
664
- option (method_description) = "Start usage tracking for a given set of published files";
665
- }
666
-
667
- rpc StopPlaytimeTracking (.CPublishedFile_StopPlaytimeTracking_Request) returns (.CPublishedFile_StopPlaytimeTracking_Response) {
668
- option (method_description) = "Stops usage tracking for a given set of published files";
669
- }
670
-
671
- rpc StopPlaytimeTrackingForAllAppItems (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request) returns (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response) {
672
- option (method_description) = "Stops usage tracking for all items currently tracked for the specified app";
673
- }
674
-
675
- rpc SetPlaytimeForControllerConfigs (.CPublishedFile_SetPlaytimeForControllerConfigs_Request) returns (.CPublishedFile_SetPlaytimeForControllerConfigs_Response) {
676
- 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";
677
- }
678
-
679
- rpc AddChild (.CPublishedFile_AddChild_Request) returns (.CPublishedFile_AddChild_Response) {
680
- option (method_description) = "Adds a parent->child relationship between the given items.";
681
- }
682
-
683
- rpc RemoveChild (.CPublishedFile_RemoveChild_Request) returns (.CPublishedFile_RemoveChild_Response) {
684
- option (method_description) = "Removes parent->child relationship between the given items.";
685
- }
686
-
687
- rpc GetUserVoteSummary (.CPublishedFile_GetUserVoteSummary_Request) returns (.CPublishedFile_GetUserVoteSummary_Response) {
688
- option (method_description) = "Get user vote summary";
689
- }
690
-
691
- rpc GetItemChanges (.CPublishedFile_GetItemChanges_Request) returns (.CPublishedFile_GetItemChanges_Response) {
692
- option (method_description) = "Get list of updated items since given date";
693
- }
694
- }
695
-
696
- service PublishedFileClient {
697
- option (service_description) = "Published file client notifications";
698
- option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
699
-
700
- rpc NotifyFileSubscribed (.CPublishedFile_FileSubscribed_Notification) returns (.NoResponse) {
701
- option (method_description) = "Notification from the server when a user subscribes to a file";
702
- }
703
-
704
- rpc NotifyFileUnsubscribed (.CPublishedFile_FileUnsubscribed_Notification) returns (.NoResponse) {
705
- option (method_description) = "Notification from the server when a user unsubscribes from a file";
706
- }
707
-
708
- rpc NotifyFileDeleted (.CPublishedFile_FileDeleted_Client_Notification) returns (.NoResponse) {
709
- option (method_description) = "Notification from the server when a published file is deleted";
710
- }
711
- }
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+ import "enums_productinfo.proto";
4
+
5
+ option cc_generic_services = true;
6
+
7
+ enum EPublishedFileRevision {
8
+ k_EPublishedFileRevision_Default = 0;
9
+ k_EPublishedFileRevision_Latest = 1;
10
+ k_EPublishedFileRevision_ApprovedSnapshot = 2;
11
+ k_EPublishedFileRevision_ApprovedSnapshot_China = 3;
12
+ k_EPublishedFileRevision_RejectedSnapshot = 4;
13
+ k_EPublishedFileRevision_RejectedSnapshot_China = 5;
14
+ }
15
+
16
+ enum EPublishedFileForSaleStatus {
17
+ k_PFFSS_NotForSale = 0;
18
+ k_PFFSS_PendingApproval = 1;
19
+ k_PFFSS_ApprovedForSale = 2;
20
+ k_PFFSS_RejectedForSale = 3;
21
+ k_PFFSS_NoLongerForSale = 4;
22
+ k_PFFSS_TentativeApproval = 5;
23
+ }
24
+
25
+ message CPublishedFile_Vote_Request {
26
+ optional uint64 publishedfileid = 1;
27
+ optional bool vote_up = 2;
28
+ }
29
+
30
+ message CPublishedFile_Vote_Response {
31
+ }
32
+
33
+ message CPublishedFile_Subscribe_Request {
34
+ optional uint64 publishedfileid = 1;
35
+ optional uint32 list_type = 2;
36
+ optional int32 appid = 3;
37
+ optional bool notify_client = 4;
38
+ }
39
+
40
+ message CPublishedFile_Subscribe_Response {
41
+ }
42
+
43
+ message CPublishedFile_Unsubscribe_Request {
44
+ optional uint64 publishedfileid = 1;
45
+ optional uint32 list_type = 2;
46
+ optional int32 appid = 3;
47
+ optional bool notify_client = 4;
48
+ }
49
+
50
+ message CPublishedFile_Unsubscribe_Response {
51
+ }
52
+
53
+ message CPublishedFile_CanSubscribe_Request {
54
+ optional uint64 publishedfileid = 1;
55
+ }
56
+
57
+ message CPublishedFile_CanSubscribe_Response {
58
+ optional bool can_subscribe = 1;
59
+ }
60
+
61
+ message CPublishedFile_GetSubSectionData_Request {
62
+ optional uint64 publishedfileid = 1;
63
+ optional bool for_table_of_contents = 2;
64
+ optional uint64 specific_sectionid = 3;
65
+ optional .EPublishedFileRevision desired_revision = 4 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
66
+ }
67
+
68
+ message PublishedFileSubSection {
69
+ optional uint64 sectionid = 1;
70
+ optional string title = 2;
71
+ optional string description_text = 3;
72
+ optional uint32 sort_order = 4;
73
+ }
74
+
75
+ message CPublishedFile_GetSubSectionData_Response {
76
+ repeated .PublishedFileSubSection sub_sections = 1;
77
+ }
78
+
79
+ message CPublishedFile_Publish_Request {
80
+ optional uint32 appid = 1 [(description) = "App Id this file is being published FROM."];
81
+ optional uint32 consumer_appid = 2 [(description) = "App Id this file is being published TO."];
82
+ optional string cloudfilename = 3 [(description) = "Name of the file to publish in the user's cloud."];
83
+ optional string preview_cloudfilename = 4 [(description) = "Name of the file to use as the published file's preview."];
84
+ optional string title = 5 [(description) = "Text title for the published file."];
85
+ optional string file_description = 6 [(description) = "Text description for the published file."];
86
+ optional uint32 file_type = 7 [(description) = "(EWorkshopFileType) Type of Workshop file to publish."];
87
+ optional string consumer_shortcut_name = 8 [(description) = "Shortcut name for the published file."];
88
+ optional string youtube_username = 9 [(description) = "(Optional) User's YouTube account username."];
89
+ optional string youtube_videoid = 10 [(description) = "(Optional) Video Id of a YouTube video for this published file."];
90
+ optional uint32 visibility = 11 [(description) = "(ERemoteStoragePublishedFileVisibility) Visibility of the published file (private, friends, public, etc.)"];
91
+ optional string redirect_uri = 12 [(description) = "(Optional) If supplied, the resulting published file's Id is appended to the URI."];
92
+ repeated string tags = 13 [(description) = "Array of text tags to apply to the published file."];
93
+ optional string collection_type = 14 [(description) = "(Optional) Type of collection the published file represents."];
94
+ optional string game_type = 15 [(description) = "(Optional) Type of game the published file represents."];
95
+ optional string url = 16 [(description) = "(Optional) If this represents a game, this is the URL to that game's page."];
96
+ }
97
+
98
+ message CPublishedFile_Publish_Response {
99
+ optional uint64 publishedfileid = 1;
100
+ optional string redirect_uri = 2;
101
+ }
102
+
103
+ message CPublishedFile_GetDetails_Request {
104
+ repeated fixed64 publishedfileids = 1 [(description) = "Set of published file Ids to retrieve details for."];
105
+ optional bool includetags = 2 [(description) = "If true, return tag information in the returned details."];
106
+ optional bool includeadditionalpreviews = 3 [(description) = "If true, return preview information in the returned details."];
107
+ optional bool includechildren = 4 [(description) = "If true, return children in the returned details."];
108
+ optional bool includekvtags = 5 [(description) = "If true, return key value tags in the returned details."];
109
+ optional bool includevotes = 6 [(description) = "If true, return vote data in the returned details."];
110
+ optional bool short_description = 8 [(description) = "If true, return a short description instead of the full description."];
111
+ optional bool includeforsaledata = 10 [(description) = "If true, return pricing data, if applicable."];
112
+ optional bool includemetadata = 11 [(description) = "If true, populate the metadata field."];
113
+ optional int32 language = 12 [default = 0, (description) = "Specifies the localized text to return. Defaults to English."];
114
+ optional uint32 return_playtime_stats = 13 [(description) = "Return playtime stats for the specified number of days before today."];
115
+ optional uint32 appid = 14;
116
+ optional bool strip_description_bbcode = 15 [(description) = "Strips BBCode from descriptions."];
117
+ optional .EPublishedFileRevision desired_revision = 16 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
118
+ optional bool includereactions = 17 [default = false, (description) = "If true, then reactions to items will be returned."];
119
+ }
120
+
121
+ message PublishedFileDetails {
122
+ message Tag {
123
+ optional string tag = 1;
124
+ optional bool adminonly = 2;
125
+ optional string display_name = 3;
126
+ }
127
+
128
+ message Preview {
129
+ optional uint64 previewid = 1;
130
+ optional uint32 sortorder = 2;
131
+ optional string url = 3;
132
+ optional uint32 size = 4;
133
+ optional string filename = 5;
134
+ optional string youtubevideoid = 6;
135
+ optional uint32 preview_type = 7;
136
+ optional string external_reference = 8;
137
+ }
138
+
139
+ message Child {
140
+ optional uint64 publishedfileid = 1;
141
+ optional uint32 sortorder = 2;
142
+ optional uint32 file_type = 3;
143
+ }
144
+
145
+ message KVTag {
146
+ optional string key = 1;
147
+ optional string value = 2;
148
+ }
149
+
150
+ message VoteData {
151
+ optional float score = 1;
152
+ optional uint32 votes_up = 2;
153
+ optional uint32 votes_down = 3;
154
+ }
155
+
156
+ message ForSaleData {
157
+ optional bool is_for_sale = 1;
158
+ optional uint32 price_category = 2;
159
+ optional .EPublishedFileForSaleStatus estatus = 3 [default = k_PFFSS_NotForSale];
160
+ optional uint32 price_category_floor = 4;
161
+ optional bool price_is_pay_what_you_want = 5;
162
+ optional uint32 discount_percentage = 6;
163
+ }
164
+
165
+ message PlaytimeStats {
166
+ optional uint64 playtime_seconds = 1;
167
+ optional uint64 num_sessions = 2;
168
+ }
169
+
170
+ message Reaction {
171
+ optional uint32 reactionid = 1;
172
+ optional uint32 count = 2;
173
+ }
174
+
175
+ optional uint32 result = 1;
176
+ optional uint64 publishedfileid = 2;
177
+ optional fixed64 creator = 3;
178
+ optional uint32 creator_appid = 4;
179
+ optional uint32 consumer_appid = 5;
180
+ optional uint32 consumer_shortcutid = 6;
181
+ optional string filename = 7;
182
+ optional uint64 file_size = 8;
183
+ optional uint64 preview_file_size = 9;
184
+ optional string file_url = 10;
185
+ optional string preview_url = 11;
186
+ optional string youtubevideoid = 12;
187
+ optional string url = 13;
188
+ optional fixed64 hcontent_file = 14;
189
+ optional fixed64 hcontent_preview = 15;
190
+ optional string title = 16;
191
+ optional string file_description = 17;
192
+ optional string short_description = 18;
193
+ optional uint32 time_created = 19;
194
+ optional uint32 time_updated = 20;
195
+ optional uint32 visibility = 21;
196
+ optional uint32 flags = 22;
197
+ optional bool workshop_file = 23;
198
+ optional bool workshop_accepted = 24;
199
+ optional bool show_subscribe_all = 25;
200
+ optional int32 num_comments_developer = 26;
201
+ optional int32 num_comments_public = 27;
202
+ optional bool banned = 28;
203
+ optional string ban_reason = 29;
204
+ optional fixed64 banner = 30;
205
+ optional bool can_be_deleted = 31;
206
+ optional bool incompatible = 32;
207
+ optional string app_name = 33;
208
+ optional uint32 file_type = 34;
209
+ optional bool can_subscribe = 35;
210
+ optional uint32 subscriptions = 36;
211
+ optional uint32 favorited = 37;
212
+ optional uint32 followers = 38;
213
+ optional uint32 lifetime_subscriptions = 39;
214
+ optional uint32 lifetime_favorited = 40;
215
+ optional uint32 lifetime_followers = 41;
216
+ optional uint64 lifetime_playtime = 62;
217
+ optional uint64 lifetime_playtime_sessions = 63;
218
+ optional uint32 views = 42;
219
+ optional uint32 image_width = 43;
220
+ optional uint32 image_height = 44;
221
+ optional string image_url = 45;
222
+ optional bool spoiler_tag = 46;
223
+ optional uint32 shortcutid = 47;
224
+ optional string shortcutname = 48;
225
+ optional uint32 num_children = 49;
226
+ optional uint32 num_reports = 50;
227
+ repeated .PublishedFileDetails.Preview previews = 51;
228
+ repeated .PublishedFileDetails.Tag tags = 52;
229
+ repeated .PublishedFileDetails.Child children = 53;
230
+ repeated .PublishedFileDetails.KVTag kvtags = 54;
231
+ optional .PublishedFileDetails.VoteData vote_data = 55;
232
+ optional .PublishedFileDetails.PlaytimeStats playtime_stats = 64;
233
+ optional uint32 time_subscribed = 56 [(description) = "Only valid in PublishedFile.GetUserFiles and not normal PublishedFile.GetDetail calls"];
234
+ optional .PublishedFileDetails.ForSaleData for_sale_data = 57 [(description) = "Pricing information, if applicable."];
235
+ optional string metadata = 58 [(description) = "Metadata associated with the item"];
236
+ optional int32 language = 61 [default = 0, (description) = "The language of the title and description."];
237
+ optional bool maybe_inappropriate_sex = 65;
238
+ optional bool maybe_inappropriate_violence = 66;
239
+ repeated .EContentDescriptorID content_descriptorids = 72;
240
+ optional uint64 revision_change_number = 67 [(description) = "The change number for the specified revision."];
241
+ 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."];
242
+ repeated .EPublishedFileRevision available_revisions = 69 [(description) = "Available revisions"];
243
+ repeated .PublishedFileDetails.Reaction reactions = 70 [(description) = "Reactions to this item"];
244
+ optional .EBanContentCheckResult ban_text_check_result = 71 [default = k_EBanContentCheckResult_NotScanned];
245
+ optional float search_score = 73 [(description) = "Search score, admin only"];
246
+ }
247
+
248
+ message CPublishedFile_GetDetails_Response {
249
+ repeated .PublishedFileDetails publishedfiledetails = 1;
250
+ }
251
+
252
+ message CPublishedFile_GetItemInfo_Request {
253
+ message WorkshopItem {
254
+ optional fixed64 published_file_id = 1;
255
+ optional uint32 time_updated = 2;
256
+ optional .EPublishedFileRevision desired_revision = 3 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
257
+ }
258
+
259
+ optional uint32 appid = 1;
260
+ optional uint32 last_time_updated = 2;
261
+ repeated .CPublishedFile_GetItemInfo_Request.WorkshopItem workshop_items = 3;
262
+ }
263
+
264
+ message CPublishedFile_GetItemInfo_Response {
265
+ message WorkshopItemInfo {
266
+ optional fixed64 published_file_id = 1;
267
+ optional uint32 time_updated = 2;
268
+ optional fixed64 manifest_id = 3;
269
+ optional uint32 flags = 4;
270
+ }
271
+
272
+ optional uint32 update_time = 1;
273
+ repeated .CPublishedFile_GetItemInfo_Response.WorkshopItemInfo workshop_items = 2;
274
+ repeated fixed64 private_items = 3;
275
+ }
276
+
277
+ message CPublishedFile_GetUserFiles_Request {
278
+ message KVTag {
279
+ optional string key = 1;
280
+ optional string value = 2;
281
+ }
282
+
283
+ message TagGroup {
284
+ repeated string tags = 1;
285
+ }
286
+
287
+ optional fixed64 steamid = 1 [(description) = "Steam ID of the user whose files are being requested."];
288
+ optional uint32 appid = 2 [(description) = "App Id of the app that the files were published to."];
289
+ optional uint32 shortcutid = 3 [(description) = "(Optional) Shortcut Id to retrieve published files from."];
290
+ optional uint32 page = 4 [default = 1, (description) = "(Optional) Starting page for results."];
291
+ optional uint32 numperpage = 5 [default = 1, (description) = "(Optional) The number of results, per page to return."];
292
+ optional string type = 6 [default = "myfiles", (description) = "(Optional) Type of files to be returned."];
293
+ optional string sortmethod = 7 [default = "lastupdated", (description) = "(Optional) Sorting method to use on returned values."];
294
+ optional uint32 privacy = 9 [(description) = "(optional) Filter by privacy settings."];
295
+ repeated string requiredtags = 10 [(description) = "(Optional) Tags that must be present on a published file to satisfy the query."];
296
+ repeated string excludedtags = 11 [(description) = "(Optional) Tags that must NOT be present on a published file to satisfy the query."];
297
+ repeated .CPublishedFile_GetUserFiles_Request.KVTag required_kv_tags = 30 [(description) = "Required key-value tags to match on."];
298
+ optional uint32 filetype = 14 [(description) = "(Optional) File type to match files to."];
299
+ optional uint32 creator_appid = 15 [(description) = "App Id of the app that published the files, only matched if specified."];
300
+ optional string match_cloud_filename = 16 [(description) = "Match this cloud filename if specified."];
301
+ optional uint32 cache_max_age_seconds = 27 [default = 0, (description) = "Allow stale data to be returned for the specified number of seconds."];
302
+ optional int32 language = 29 [default = 0, (description) = "Specifies the localized text to return. Defaults to English."];
303
+ 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."];
304
+ repeated .EContentDescriptorID excluded_content_descriptors = 37 [(description) = "(Optional) Filter out items that have these content descriptors."];
305
+ optional bool totalonly = 17 [(description) = "(Optional) If true, only return the total number of files that satisfy this query."];
306
+ optional bool ids_only = 18 [(description) = "(Optional) If true, only return the published file ids of files that satisfy this query."];
307
+ optional bool return_vote_data = 19 [default = true, (description) = "Return vote data"];
308
+ optional bool return_tags = 20 [(description) = "Return tags in the file details"];
309
+ optional bool return_kv_tags = 21 [default = true, (description) = "Return key-value tags in the file details"];
310
+ optional bool return_previews = 22 [(description) = "Return preview image and video details in the file details"];
311
+ optional bool return_children = 23 [(description) = "Return child item ids in the file details"];
312
+ optional bool return_short_description = 24 [default = true, (description) = "Populate the short_description field instead of file_description"];
313
+ optional bool return_for_sale_data = 26 [(description) = "Return pricing information, if applicable"];
314
+ optional bool return_metadata = 28 [default = false, (description) = "Populate the metadata field"];
315
+ optional uint32 return_playtime_stats = 31 [(description) = "Return playtime stats for the specified number of days before today."];
316
+ optional bool strip_description_bbcode = 32 [(description) = "Strips BBCode from descriptions."];
317
+ optional bool return_reactions = 35 [default = false, (description) = "If true, then reactions to items will be returned."];
318
+ optional uint32 startindex_override = 25 [(description) = "Backwards compatible for the client."];
319
+ optional .EPublishedFileRevision desired_revision = 33 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
320
+ optional bool return_apps = 36 [(description) = "Return list of apps the items belong to"];
321
+ }
322
+
323
+ message CPublishedFile_GetUserFiles_Response {
324
+ message App {
325
+ optional uint32 appid = 1;
326
+ optional string name = 2;
327
+ optional uint32 shortcutid = 3;
328
+ optional bool private = 4;
329
+ }
330
+
331
+ optional uint32 total = 1;
332
+ optional uint32 startindex = 2;
333
+ repeated .PublishedFileDetails publishedfiledetails = 3;
334
+ repeated .CPublishedFile_GetUserFiles_Response.App apps = 4;
335
+ }
336
+
337
+ message CPublishedFile_AreFilesInSubscriptionList_Request {
338
+ optional uint32 appid = 1;
339
+ repeated fixed64 publishedfileids = 2;
340
+ optional uint32 listtype = 3 [(description) = "See EUCMListType"];
341
+ optional uint32 filetype = 4 [(description) = "See EPublishedFileInfoMatchingFileType"];
342
+ optional uint32 workshopfiletype = 5 [(description) = "See EWorkshopFileType. If specified, overrides filetype"];
343
+ }
344
+
345
+ message CPublishedFile_AreFilesInSubscriptionList_Response {
346
+ message InList {
347
+ optional fixed64 publishedfileid = 1;
348
+ optional bool inlist = 2;
349
+ }
350
+
351
+ repeated .CPublishedFile_AreFilesInSubscriptionList_Response.InList files = 1;
352
+ }
353
+
354
+ message CPublishedFile_Update_Request {
355
+ optional uint32 appid = 1 [(description) = "App Id this published file belongs to."];
356
+ optional fixed64 publishedfileid = 2 [(description) = "Published file id of the file we'd like to update."];
357
+ optional string title = 3 [(description) = "(Optional) Title of the published file."];
358
+ optional string file_description = 4 [(description) = "(Optional) Description of the published file."];
359
+ optional uint32 visibility = 5 [(description) = "(Optional) Visibility of the published file."];
360
+ repeated string tags = 6 [(description) = "(Optional) Set of tags for the published file."];
361
+ optional string filename = 7 [(description) = "(Optional) Filename for the published file."];
362
+ optional string preview_filename = 8 [(description) = "(Optional) Preview filename for the published file."];
363
+ optional bool spoiler_tag = 10 [(description) = "(Optional) Whether this published file should have a spoiler tag attached to it."];
364
+ optional uint32 image_width = 15 [(description) = "(Optional) If this is an image file, you can specify the image width."];
365
+ optional uint32 image_height = 16 [(description) = "(Optional) If this is an image file, you can specify the image height."];
366
+ }
367
+
368
+ message CPublishedFile_Update_Response {
369
+ }
370
+
371
+ message CPublishedFile_Delete_Request {
372
+ optional fixed64 publishedfileid = 1 [(description) = "Published file id of the file we'd like to delete."];
373
+ optional uint32 appid = 5;
374
+ }
375
+
376
+ message CPublishedFile_Delete_Response {
377
+ }
378
+
379
+ message CPublishedFile_GetChangeHistoryEntry_Request {
380
+ optional fixed64 publishedfileid = 1 [(description) = "Published file id of the file we'd like to get the change history for."];
381
+ optional uint32 timestamp = 2;
382
+ optional int32 language = 3;
383
+ }
384
+
385
+ message CPublishedFile_GetChangeHistoryEntry_Response {
386
+ optional string change_description = 1;
387
+ optional int32 language = 2;
388
+ }
389
+
390
+ message CPublishedFile_GetChangeHistory_Request {
391
+ optional fixed64 publishedfileid = 1 [(description) = "Published file id of the file we'd like to get the change history for."];
392
+ optional bool total_only = 2 [(description) = "Return the total number of changes only."];
393
+ optional uint32 startindex = 3;
394
+ optional uint32 count = 4;
395
+ optional int32 language = 5 [default = 0, (description) = "Desired language"];
396
+ }
397
+
398
+ message CPublishedFile_GetChangeHistory_Response {
399
+ message ChangeLog {
400
+ optional uint32 timestamp = 1;
401
+ optional string change_description = 2;
402
+ optional int32 language = 3;
403
+ }
404
+
405
+ repeated .CPublishedFile_GetChangeHistory_Response.ChangeLog changes = 1;
406
+ optional uint32 total = 2;
407
+ }
408
+
409
+ message CPublishedFile_RefreshVotingQueue_Request {
410
+ optional uint32 appid = 1;
411
+ optional uint32 matching_file_type = 2 [(description) = "EPublishedFileInfoMatchingFileType"];
412
+ repeated string tags = 3 [(description) = "Include files that have all the tags or any of the tags if match_all_tags is set to false."];
413
+ 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."];
414
+ repeated string excluded_tags = 5 [(description) = "Exclude any files that have any of these tags."];
415
+ optional uint32 desired_queue_size = 6 [(description) = "Desired number of items in the voting queue. May be clamped by the server"];
416
+ optional .EPublishedFileRevision desired_revision = 8 [default = k_EPublishedFileRevision_Default, (description) = "Filter to items that have data for the specified revision."];
417
+ }
418
+
419
+ message CPublishedFile_RefreshVotingQueue_Response {
420
+ }
421
+
422
+ message CPublishedFile_QueryFiles_Request {
423
+ message KVTag {
424
+ optional string key = 1;
425
+ optional string value = 2;
426
+ }
427
+
428
+ message TagGroup {
429
+ repeated string tags = 1;
430
+ }
431
+
432
+ message DateRange {
433
+ optional uint32 timestamp_start = 1 [(description) = "(Optional) Include items with the relevant date field after this value."];
434
+ optional uint32 timestamp_end = 2 [(description) = "(Optional) Include items with the relevant date field before this value."];
435
+ }
436
+
437
+ optional uint32 query_type = 1 [(description) = "enumeration EPublishedFileQueryType in clientenums.h"];
438
+ optional uint32 page = 2 [(description) = "Current page"];
439
+ 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."];
440
+ optional uint32 numperpage = 3 [default = 1, (description) = "(Optional) The number of results, per page to return."];
441
+ optional uint32 creator_appid = 4 [(description) = "App that created the files"];
442
+ optional uint32 appid = 5 [(description) = "App that consumes the files"];
443
+ repeated string requiredtags = 6 [(description) = "Tags to match on. See match_all_tags parameter below"];
444
+ repeated string excludedtags = 7 [(description) = "(Optional) Tags that must NOT be present on a published file to satisfy the query."];
445
+ optional bool match_all_tags = 8 [default = true, (description) = "If true, then items must have all the tags specified, otherwise they must have at least one of the tags."];
446
+ repeated string required_flags = 9 [(description) = "Required flags that must be set on any returned items"];
447
+ repeated string omitted_flags = 10 [(description) = "Flags that must not be set on any returned items"];
448
+ optional string search_text = 11 [(description) = "Text to match in the item's title or description"];
449
+ optional uint32 filetype = 12 [(description) = "EPublishedFileInfoMatchingFileType"];
450
+ optional fixed64 child_publishedfileid = 13 [(description) = "Find all items that reference the given item."];
451
+ optional uint32 days = 14 [(description) = "If query_type is k_PublishedFileQueryType_RankedByTrend, then this is the number of days to get votes for [1,7]."];
452
+ optional bool include_recent_votes_only = 15 [(description) = "If query_type is k_PublishedFileQueryType_RankedByTrend, then limit result set just to items that have votes within the day range given"];
453
+ optional uint32 cache_max_age_seconds = 31 [default = 0, (description) = "Allow stale data to be returned for the specified number of seconds."];
454
+ optional int32 language = 33 [default = 0, (description) = "Language to search in and also what gets returned. Defaults to English."];
455
+ repeated .CPublishedFile_QueryFiles_Request.KVTag required_kv_tags = 34 [(description) = "Required key-value tags to match on."];
456
+ 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."];
457
+ optional .CPublishedFile_QueryFiles_Request.DateRange date_range_created = 44 [(description) = "(Optional) Filter to items created within this range."];
458
+ optional .CPublishedFile_QueryFiles_Request.DateRange date_range_updated = 45 [(description) = "(Optional) Filter to items updated within this range."];
459
+ repeated .EContentDescriptorID excluded_content_descriptors = 46 [(description) = "(Optional) Filter out items that have these content descriptors."];
460
+ optional bool totalonly = 16 [(description) = "(Optional) If true, only return the total number of files that satisfy this query."];
461
+ optional bool ids_only = 35 [(description) = "(Optional) If true, only return the published file ids of files that satisfy this query."];
462
+ optional bool return_vote_data = 17 [(description) = "Return vote data"];
463
+ optional bool return_tags = 18 [(description) = "Return tags in the file details"];
464
+ optional bool return_kv_tags = 19 [(description) = "Return key-value tags in the file details"];
465
+ optional bool return_previews = 20 [(description) = "Return preview image and video details in the file details"];
466
+ optional bool return_children = 21 [(description) = "Return child item ids in the file details"];
467
+ optional bool return_short_description = 22 [(description) = "Populate the short_description field instead of file_description"];
468
+ optional bool return_for_sale_data = 30 [(description) = "Return pricing information, if applicable"];
469
+ optional bool return_metadata = 32 [default = false, (description) = "Populate the metadata"];
470
+ optional uint32 return_playtime_stats = 36 [(description) = "Return playtime stats for the specified number of days before today."];
471
+ 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."];
472
+ optional bool strip_description_bbcode = 38 [(description) = "Strips BBCode from descriptions."];
473
+ optional .EPublishedFileRevision desired_revision = 40 [default = k_EPublishedFileRevision_Default, (description) = "Return the data for the specified revision."];
474
+ optional bool return_reactions = 43 [default = false, (description) = "If true, then reactions to items will be returned."];
475
+ }
476
+
477
+ message CPublishedFile_QueryFiles_Response {
478
+ optional uint32 total = 1 [(description) = "Number of matches found, not necessarily number of items returned"];
479
+ repeated .PublishedFileDetails publishedfiledetails = 2 [(description) = "Each file details will be populated, depending on what return values were requested."];
480
+ optional string next_cursor = 3 [(description) = "If a paging cursor was used, then this will be the next cursor to use for paging through results"];
481
+ }
482
+
483
+ message CPublishedFile_AddAppRelationship_Request {
484
+ optional uint64 publishedfileid = 1;
485
+ optional uint32 appid = 2;
486
+ optional uint32 relationship = 3;
487
+ }
488
+
489
+ message CPublishedFile_AddAppRelationship_Response {
490
+ }
491
+
492
+ message CPublishedFile_RemoveAppRelationship_Request {
493
+ optional uint64 publishedfileid = 1;
494
+ optional uint32 appid = 2;
495
+ optional uint32 relationship = 3;
496
+ }
497
+
498
+ message CPublishedFile_RemoveAppRelationship_Response {
499
+ }
500
+
501
+ message CPublishedFile_GetAppRelationships_Request {
502
+ optional uint64 publishedfileid = 1;
503
+ }
504
+
505
+ message CPublishedFile_GetAppRelationships_Response {
506
+ message AppRelationship {
507
+ optional uint32 appid = 1;
508
+ optional uint32 relationship = 2;
509
+ }
510
+
511
+ repeated .CPublishedFile_GetAppRelationships_Response.AppRelationship app_relationships = 3;
512
+ }
513
+
514
+ message CPublishedFile_GetAppRelationshipsBatched_Request {
515
+ repeated uint64 publishedfileids = 1;
516
+ optional uint32 filter_relationship = 2;
517
+ }
518
+
519
+ message CPublishedFile_GetAppRelationshipsBatched_Response {
520
+ message AppRelationship {
521
+ optional uint32 appid = 1;
522
+ optional uint32 relationship = 2;
523
+ }
524
+
525
+ message PublishedFileAppRelationship {
526
+ optional uint64 publishedfileid = 1;
527
+ optional uint32 result = 2;
528
+ repeated .CPublishedFile_GetAppRelationshipsBatched_Response.AppRelationship app_relationships = 3;
529
+ }
530
+
531
+ repeated .CPublishedFile_GetAppRelationshipsBatched_Response.PublishedFileAppRelationship relationships = 1;
532
+ }
533
+
534
+ message CPublishedFile_StartPlaytimeTracking_Request {
535
+ optional uint32 appid = 1;
536
+ repeated uint64 publishedfileids = 2;
537
+ }
538
+
539
+ message CPublishedFile_StartPlaytimeTracking_Response {
540
+ }
541
+
542
+ message CPublishedFile_StopPlaytimeTracking_Request {
543
+ optional uint32 appid = 1;
544
+ repeated uint64 publishedfileids = 2;
545
+ }
546
+
547
+ message CPublishedFile_StopPlaytimeTracking_Response {
548
+ }
549
+
550
+ message CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request {
551
+ optional uint32 appid = 1;
552
+ }
553
+
554
+ message CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response {
555
+ }
556
+
557
+ message CPublishedFile_SetPlaytimeForControllerConfigs_Request {
558
+ message ControllerConfigUsage {
559
+ optional uint64 publishedfileid = 1;
560
+ optional float seconds_active = 2;
561
+ }
562
+
563
+ optional uint32 appid = 1;
564
+ repeated .CPublishedFile_SetPlaytimeForControllerConfigs_Request.ControllerConfigUsage controller_config_usage = 2;
565
+ }
566
+
567
+ message CPublishedFile_SetPlaytimeForControllerConfigs_Response {
568
+ }
569
+
570
+ message CPublishedFile_AddChild_Request {
571
+ optional uint64 publishedfileid = 1;
572
+ optional uint64 child_publishedfileid = 2;
573
+ }
574
+
575
+ message CPublishedFile_AddChild_Response {
576
+ }
577
+
578
+ message CPublishedFile_RemoveChild_Request {
579
+ optional uint64 publishedfileid = 1;
580
+ optional uint64 child_publishedfileid = 2;
581
+ }
582
+
583
+ message CPublishedFile_RemoveChild_Response {
584
+ }
585
+
586
+ message CPublishedFile_GetUserVoteSummary_Request {
587
+ repeated fixed64 publishedfileids = 1;
588
+ }
589
+
590
+ message CPublishedFile_GetUserVoteSummary_Response {
591
+ message VoteSummary {
592
+ optional fixed64 publishedfileid = 1;
593
+ optional bool vote_for = 2;
594
+ optional bool vote_against = 3;
595
+ optional bool reported = 4;
596
+ }
597
+
598
+ repeated .CPublishedFile_GetUserVoteSummary_Response.VoteSummary summaries = 1;
599
+ }
600
+
601
+ message CPublishedFile_GetItemChanges_Request {
602
+ optional uint32 appid = 1;
603
+ optional uint32 last_time_updated = 2;
604
+ optional uint32 num_items_max = 3;
605
+ }
606
+
607
+ message CPublishedFile_GetItemChanges_Response {
608
+ message WorkshopItemInfo {
609
+ optional fixed64 published_file_id = 1;
610
+ optional uint32 time_updated = 2;
611
+ optional fixed64 manifest_id = 3;
612
+ }
613
+
614
+ optional uint32 update_time = 1;
615
+ repeated .CPublishedFile_GetItemChanges_Response.WorkshopItemInfo workshop_items = 2;
616
+ }
617
+
618
+ message CPublishedFile_GetContentDescriptors_Request {
619
+ optional fixed64 publishedfileid = 1;
620
+ }
621
+
622
+ message CPublishedFile_GetContentDescriptors_Response {
623
+ message ContentDescriptor {
624
+ optional .EContentDescriptorID descriptorid = 1 [default = k_EContentDescriptor_NudityOrSexualContent];
625
+ optional uint32 accountid = 2;
626
+ optional uint32 timestamp = 3;
627
+ optional bool moderator_set = 4;
628
+ }
629
+
630
+ repeated .CPublishedFile_GetContentDescriptors_Response.ContentDescriptor content_descriptors = 1;
631
+ }
632
+
633
+ message CPublishedFile_UpdateContentDescriptors_Request {
634
+ optional fixed64 publishedfileid = 1;
635
+ repeated .EContentDescriptorID descriptors_to_add = 2;
636
+ repeated .EContentDescriptorID descriptors_to_remove = 3;
637
+ }
638
+
639
+ message CPublishedFile_UpdateContentDescriptors_Response {
640
+ optional uint32 timestamp_updated = 1;
641
+ }
642
+
643
+ message CPublishedFile_FileSubscribed_Notification {
644
+ message RevisionData {
645
+ optional .EPublishedFileRevision revision = 1 [default = k_EPublishedFileRevision_Default];
646
+ optional fixed64 file_hcontent = 2 [(description) = "Manifest GID"];
647
+ optional uint32 rtime_updated = 3 [(description) = "Last time content updated"];
648
+ }
649
+
650
+ optional fixed64 published_file_id = 1 [(description) = "PublishedFileID_t for the content"];
651
+ optional uint32 app_id = 2;
652
+ optional fixed64 file_hcontent = 3 [(description) = "UGC file handle or manifest GID"];
653
+ optional uint32 file_size = 4;
654
+ optional uint32 rtime_subscribed = 5;
655
+ optional bool is_depot_content = 6 [(description) = "True if workshop item is delivered via Steampipe"];
656
+ optional uint32 rtime_updated = 7 [(description) = "Last time content updated"];
657
+ repeated .CPublishedFile_FileSubscribed_Notification.RevisionData revisions = 8 [(description) = "Data for each of the revisions that this item has"];
658
+ }
659
+
660
+ message CPublishedFile_FileUnsubscribed_Notification {
661
+ optional fixed64 published_file_id = 1 [(description) = "PublishedFileID_t for the content"];
662
+ optional uint32 app_id = 2;
663
+ }
664
+
665
+ message CPublishedFile_FileDeleted_Client_Notification {
666
+ optional fixed64 published_file_id = 1 [(description) = "PublishedFileID_t for the content"];
667
+ optional uint32 app_id = 2;
668
+ }
669
+
670
+ service PublishedFile {
671
+ option (service_description) = "A service to access published file data";
672
+
673
+ rpc Vote (.CPublishedFile_Vote_Request) returns (.CPublishedFile_Vote_Response) {
674
+ option (method_description) = "User wants to vote on the item";
675
+ }
676
+
677
+ rpc Subscribe (.CPublishedFile_Subscribe_Request) returns (.CPublishedFile_Subscribe_Response) {
678
+ option (method_description) = "Subscribes the user to the published file";
679
+ }
680
+
681
+ rpc Unsubscribe (.CPublishedFile_Unsubscribe_Request) returns (.CPublishedFile_Unsubscribe_Response) {
682
+ option (method_description) = "Unsubscribes the user from the published file";
683
+ }
684
+
685
+ rpc CanSubscribe (.CPublishedFile_CanSubscribe_Request) returns (.CPublishedFile_CanSubscribe_Response) {
686
+ option (method_description) = "Check if the user can subscribe to the published file";
687
+ }
688
+
689
+ rpc GetSubSectionData (.CPublishedFile_GetSubSectionData_Request) returns (.CPublishedFile_GetSubSectionData_Response) {
690
+ option (method_description) = "Get sub section data (for table of contents, a specific section, or all)";
691
+ }
692
+
693
+ rpc Publish (.CPublishedFile_Publish_Request) returns (.CPublishedFile_Publish_Response) {
694
+ option (method_description) = "Publishes a clouded user file to the Workshop.";
695
+ }
696
+
697
+ rpc GetDetails (.CPublishedFile_GetDetails_Request) returns (.CPublishedFile_GetDetails_Response) {
698
+ option (method_description) = "Retrieves information about a set of published files.";
699
+ }
700
+
701
+ rpc GetItemInfo (.CPublishedFile_GetItemInfo_Request) returns (.CPublishedFile_GetItemInfo_Response) {
702
+ option (method_description) = "Retrieves information about a set of published files.";
703
+ }
704
+
705
+ rpc GetUserFiles (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response) {
706
+ option (method_description) = "Retrieves files published by a user.";
707
+ }
708
+
709
+ rpc GetUserFileCount (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response) {
710
+ option (method_description) = "Retrieves a count of files published by a user. Uses the same messages as GetUserFiles but totalonly must be true.";
711
+ }
712
+
713
+ rpc AreFilesInSubscriptionList (.CPublishedFile_AreFilesInSubscriptionList_Request) returns (.CPublishedFile_AreFilesInSubscriptionList_Response) {
714
+ option (method_description) = "Determines which files in the given list are in a user's subscription list";
715
+ }
716
+
717
+ rpc Update (.CPublishedFile_Update_Request) returns (.CPublishedFile_Update_Response) {
718
+ option (method_description) = "Updates information about a published file.";
719
+ }
720
+
721
+ rpc Delete (.CPublishedFile_Delete_Request) returns (.CPublishedFile_Delete_Response) {
722
+ option (method_description) = "Deletes a published file.";
723
+ }
724
+
725
+ rpc GetChangeHistoryEntry (.CPublishedFile_GetChangeHistoryEntry_Request) returns (.CPublishedFile_GetChangeHistoryEntry_Response) {
726
+ option (method_description) = "Returns data on a specific change history entry for a published file";
727
+ }
728
+
729
+ rpc GetChangeHistory (.CPublishedFile_GetChangeHistory_Request) returns (.CPublishedFile_GetChangeHistory_Response) {
730
+ option (method_description) = "Returns data on the change history for a published file";
731
+ }
732
+
733
+ rpc RefreshVotingQueue (.CPublishedFile_RefreshVotingQueue_Request) returns (.CPublishedFile_RefreshVotingQueue_Response) {
734
+ option (method_description) = "Refresh the voting queue for the user";
735
+ }
736
+
737
+ rpc QueryFiles (.CPublishedFile_QueryFiles_Request) returns (.CPublishedFile_QueryFiles_Response) {
738
+ option (method_description) = "Performs a search query for published files";
739
+ }
740
+
741
+ rpc AddAppRelationship (.CPublishedFile_AddAppRelationship_Request) returns (.CPublishedFile_AddAppRelationship_Response) {
742
+ option (method_description) = "Adds a relationship between the published file and the given app";
743
+ }
744
+
745
+ rpc RemoveAppRelationship (.CPublishedFile_RemoveAppRelationship_Request) returns (.CPublishedFile_RemoveAppRelationship_Response) {
746
+ option (method_description) = "Remove a relationship between the published file and the given app";
747
+ }
748
+
749
+ rpc GetAppRelationships (.CPublishedFile_GetAppRelationships_Request) returns (.CPublishedFile_GetAppRelationships_Response) {
750
+ option (method_description) = "Returns the list of app relationships for this published file";
751
+ }
752
+
753
+ rpc GetAppRelationshipsBatched (.CPublishedFile_GetAppRelationshipsBatched_Request) returns (.CPublishedFile_GetAppRelationshipsBatched_Response) {
754
+ option (method_description) = "Returns the list of app relationships for set of published files";
755
+ }
756
+
757
+ rpc StartPlaytimeTracking (.CPublishedFile_StartPlaytimeTracking_Request) returns (.CPublishedFile_StartPlaytimeTracking_Response) {
758
+ option (method_description) = "Start usage tracking for a given set of published files";
759
+ }
760
+
761
+ rpc StopPlaytimeTracking (.CPublishedFile_StopPlaytimeTracking_Request) returns (.CPublishedFile_StopPlaytimeTracking_Response) {
762
+ option (method_description) = "Stops usage tracking for a given set of published files";
763
+ }
764
+
765
+ rpc StopPlaytimeTrackingForAllAppItems (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request) returns (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response) {
766
+ option (method_description) = "Stops usage tracking for all items currently tracked for the specified app";
767
+ }
768
+
769
+ rpc SetPlaytimeForControllerConfigs (.CPublishedFile_SetPlaytimeForControllerConfigs_Request) returns (.CPublishedFile_SetPlaytimeForControllerConfigs_Response) {
770
+ 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";
771
+ }
772
+
773
+ rpc AddChild (.CPublishedFile_AddChild_Request) returns (.CPublishedFile_AddChild_Response) {
774
+ option (method_description) = "Adds a parent->child relationship between the given items.";
775
+ }
776
+
777
+ rpc RemoveChild (.CPublishedFile_RemoveChild_Request) returns (.CPublishedFile_RemoveChild_Response) {
778
+ option (method_description) = "Removes parent->child relationship between the given items.";
779
+ }
780
+
781
+ rpc GetUserVoteSummary (.CPublishedFile_GetUserVoteSummary_Request) returns (.CPublishedFile_GetUserVoteSummary_Response) {
782
+ option (method_description) = "Get user vote summary";
783
+ }
784
+
785
+ rpc GetItemChanges (.CPublishedFile_GetItemChanges_Request) returns (.CPublishedFile_GetItemChanges_Response) {
786
+ option (method_description) = "Get list of updated items since given date";
787
+ }
788
+
789
+ rpc GetContentDescriptors (.CPublishedFile_GetContentDescriptors_Request) returns (.CPublishedFile_GetContentDescriptors_Response) {
790
+ option (method_description) = "Returns more detailed information about the content descriptors for the published file";
791
+ }
792
+
793
+ rpc UpdateContentDescriptors (.CPublishedFile_UpdateContentDescriptors_Request) returns (.CPublishedFile_UpdateContentDescriptors_Response) {
794
+ option (method_description) = "Updates content descriptors on the published file";
795
+ }
796
+ }
797
+
798
+ service PublishedFileClient {
799
+ option (service_description) = "Published file client notifications";
800
+ option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
801
+
802
+ rpc NotifyFileSubscribed (.CPublishedFile_FileSubscribed_Notification) returns (.NoResponse) {
803
+ option (method_description) = "Notification from the server when a user subscribes to a file";
804
+ }
805
+
806
+ rpc NotifyFileUnsubscribed (.CPublishedFile_FileUnsubscribed_Notification) returns (.NoResponse) {
807
+ option (method_description) = "Notification from the server when a user unsubscribes from a file";
808
+ }
809
+
810
+ rpc NotifyFileDeleted (.CPublishedFile_FileDeleted_Client_Notification) returns (.NoResponse) {
811
+ option (method_description) = "Notification from the server when a published file is deleted";
812
+ }
813
+ }