steamutils 1.2.50 → 1.2.52
Sign up to get free protection for your applications and to get access to all the features.
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/steamutils.iml +1 -1
- package/.idea/vcs.xml +1 -1
- package/SteamClient.js +16 -12
- package/example.js +14 -0
- package/helpers/protos.js +21 -0
- package/index.js +1 -1
- package/package.json +6 -6
- package/protos/{base_gcmessages.proto → csgo/base_gcmessages_csgo.proto} +547 -533
- package/protos/csgo/c_peer2peer_netmessages.proto +55 -0
- package/protos/csgo/clientmessages.proto +48 -0
- package/protos/csgo/connectionless_netmessages.proto +19 -0
- package/protos/csgo/cs_gameevents.proto +34 -0
- package/protos/csgo/cs_usercmd.proto +34 -0
- package/protos/{cstrike15_gcmessages.proto → csgo/cstrike15_gcmessages.proto} +1402 -1344
- package/protos/{cstrike15_usermessages.proto → csgo/cstrike15_usermessages.proto} +596 -597
- package/protos/csgo/demo.proto +160 -0
- package/protos/{econ_gcmessages.proto → csgo/econ_gcmessages.proto} +228 -225
- package/protos/{engine_gcmessages.proto → csgo/engine_gcmessages.proto} +14 -16
- package/protos/{enums_clientserver.proto → csgo/enums_clientserver.proto} +1529 -1534
- package/protos/{fatdemo.proto → csgo/fatdemo.proto} +125 -125
- package/protos/csgo/gameevents.proto +120 -0
- package/protos/{gcsdk_gcmessages.proto → csgo/gcsdk_gcmessages.proto} +323 -302
- package/protos/{gcsystemmsgs.proto → csgo/gcsystemmsgs.proto} +242 -246
- package/protos/csgo/netmessages.proto +604 -0
- package/protos/csgo/network_connection.proto +126 -0
- package/protos/csgo/networkbasetypes.proto +244 -0
- package/protos/csgo/networksystem_protomessages.proto +17 -0
- package/protos/{steamdatagram_messages_auth.proto → csgo/steamdatagram_messages_auth.proto} +65 -65
- package/protos/csgo/steamdatagram_messages_sdr.proto +534 -0
- package/protos/{steammessages.proto → csgo/steammessages.proto} +597 -601
- package/protos/{steammessages_base.proto → csgo/steammessages_base.proto} +301 -288
- package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -0
- package/protos/{steammessages_gamenetworkingui.proto → csgo/steammessages_gamenetworkingui.proto} +61 -42
- package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -0
- package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -0
- package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -0
- package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -0
- package/protos/csgo/steammessages_steamlearn.steamworkssdk.proto +357 -0
- package/protos/csgo/steammessages_unified_base.steamworkssdk.proto +30 -0
- package/protos/{steamnetworkingsockets_messages.proto → csgo/steamnetworkingsockets_messages.proto} +205 -204
- package/protos/{steamnetworkingsockets_messages_certs.proto → csgo/steamnetworkingsockets_messages_certs.proto} +39 -38
- package/protos/{steamnetworkingsockets_messages_udp.proto → csgo/steamnetworkingsockets_messages_udp.proto} +75 -75
- package/protos/csgo/te.proto +259 -0
- package/protos/{uifontfile_format.proto → csgo/uifontfile_format.proto} +13 -16
- package/protos/csgo/usercmd.proto +38 -0
- package/protos/csgo/usermessages.proto +721 -0
- package/protos/csgo/valveextensions.proto +17 -0
- package/protos/google/protobuf/descriptor.proto +281 -0
- package/protos/{clientmetrics.proto → steam/clientmetrics.proto} +45 -45
- package/protos/{content_manifest.proto → steam/content_manifest.proto} +62 -62
- package/protos/steam/contenthubs.proto +41 -0
- package/protos/{encrypted_app_ticket.proto → steam/encrypted_app_ticket.proto} +10 -10
- package/protos/{enums.proto → steam/enums.proto} +444 -285
- package/protos/steam/enums_clientserver.proto +1539 -0
- package/protos/steam/enums_productinfo.proto +13 -0
- package/protos/{htmlmessages.proto → steam/htmlmessages.proto} +1027 -993
- package/protos/steam/offline_ticket.proto +8 -0
- package/protos/{renderer → steam/renderer}/rendermessages.proto +893 -893
- package/protos/steam/steamdatagram_messages_auth.proto +65 -0
- package/protos/{steamdatagram_messages_sdr.proto → steam/steamdatagram_messages_sdr.proto} +533 -518
- package/protos/{steammessages_accounthardware.steamclient.proto → steam/steammessages_accounthardware.steamclient.proto} +201 -188
- package/protos/{steammessages_appoverview.proto → steam/steammessages_appoverview.proto} +187 -185
- package/protos/steam/steammessages_auth.steamclient.proto +435 -0
- package/protos/steam/steammessages_base.proto +332 -0
- package/protos/{steammessages_broadcast.steamclient.proto → steam/steammessages_broadcast.steamclient.proto} +759 -756
- package/protos/{steammessages_chat.steamclient.proto → steam/steammessages_chat.steamclient.proto} +1281 -1281
- package/protos/steam/steammessages_client_objects.proto +645 -0
- package/protos/{steammessages_clientlanp2p.proto → steam/steammessages_clientlanp2p.proto} +42 -26
- package/protos/{steammessages_clientmetrics.steamclient.proto → steam/steammessages_clientmetrics.steamclient.proto} +194 -176
- package/protos/{steammessages_clientnotificationtypes.proto → steam/steammessages_clientnotificationtypes.proto} +231 -129
- package/protos/{steammessages_clientserver.proto → steam/steammessages_clientserver.proto} +392 -384
- package/protos/{steammessages_clientserver_2.proto → steam/steammessages_clientserver_2.proto} +760 -776
- package/protos/{steammessages_clientserver_appinfo.proto → steam/steammessages_clientserver_appinfo.proto} +131 -166
- package/protos/{steammessages_clientserver_friends.proto → steam/steammessages_clientserver_friends.proto} +260 -260
- package/protos/{steammessages_clientserver_gameservers.proto → steam/steammessages_clientserver_gameservers.proto} +159 -159
- package/protos/{steammessages_clientserver_lbs.proto → steam/steammessages_clientserver_lbs.proto} +70 -70
- package/protos/{steammessages_clientserver_login.proto → steam/steammessages_clientserver_login.proto} +167 -159
- package/protos/{steammessages_clientserver_mms.proto → steam/steammessages_clientserver_mms.proto} +228 -235
- package/protos/{steammessages_clientserver_ucm.proto → steam/steammessages_clientserver_ucm.proto} +205 -202
- package/protos/{steammessages_clientserver_uds.proto → steam/steammessages_clientserver_uds.proto} +124 -104
- package/protos/{steammessages_clientserver_ufs.proto → steam/steammessages_clientserver_ufs.proto} +172 -172
- package/protos/{steammessages_clientserver_userstats.proto → steam/steammessages_clientserver_userstats.proto} +80 -80
- package/protos/steam/steammessages_clientsettings.proto +168 -0
- package/protos/{steammessages_cloud.steamclient.proto → steam/steammessages_cloud.steamclient.proto} +513 -512
- package/protos/{steammessages_contentsystem.steamclient.proto → steam/steammessages_contentsystem.steamclient.proto} +115 -77
- package/protos/{steammessages_credentials.steamclient.proto → steam/steammessages_credentials.steamclient.proto} +115 -141
- package/protos/steam/steammessages_datapublisher.steamclient.proto +116 -0
- package/protos/{steammessages_depotbuilder.steamclient.proto → steam/steammessages_depotbuilder.steamclient.proto} +118 -118
- package/protos/{steammessages_deviceauth.steamclient.proto → steam/steammessages_deviceauth.steamclient.proto} +203 -200
- package/protos/{steammessages_econ.steamclient.proto → steam/steammessages_econ.steamclient.proto} +150 -105
- package/protos/{steammessages_friendmessages.steamclient.proto → steam/steammessages_friendmessages.steamclient.proto} +168 -168
- package/protos/{steammessages_gamenetworking.steamclient.proto → steam/steammessages_gamenetworking.steamclient.proto} +32 -32
- package/protos/steam/steammessages_gamenetworkingui.proto +61 -0
- package/protos/{steammessages_gamenotifications.steamclient.proto → steam/steammessages_gamenotifications.steamclient.proto} +156 -156
- package/protos/{steammessages_gameservers.steamclient.proto → steam/steammessages_gameservers.steamclient.proto} +152 -152
- package/protos/{steammessages_hiddevices.proto → steam/steammessages_hiddevices.proto} +157 -156
- package/protos/{steammessages_inventory.steamclient.proto → steam/steammessages_inventory.steamclient.proto} +224 -224
- package/protos/{steammessages_linkfilter.steamclient.proto → steam/steammessages_linkfilter.steamclient.proto} +49 -49
- package/protos/{steammessages_lobbymatchmaking.steamclient.proto → steam/steammessages_lobbymatchmaking.steamclient.proto} +33 -33
- package/protos/{steammessages_market.steamclient.proto → steam/steammessages_market.steamclient.proto} +26 -26
- package/protos/steam/steammessages_marketingmessages.steamclient.proto +274 -0
- package/protos/{steammessages_offline.steamclient.proto → steam/steammessages_offline.steamclient.proto} +40 -37
- package/protos/{steammessages_parental.steamclient.proto → steam/steammessages_parental.steamclient.proto} +228 -186
- package/protos/{steammessages_parties.steamclient.proto → steam/steammessages_parties.steamclient.proto} +94 -94
- package/protos/{steammessages_partnerapps.steamclient.proto → steam/steammessages_partnerapps.steamclient.proto} +138 -136
- package/protos/{steammessages_player.steamclient.proto → steam/steammessages_player.steamclient.proto} +1060 -912
- package/protos/{steammessages_publishedfile.steamclient.proto → steam/steammessages_publishedfile.steamclient.proto} +813 -711
- package/protos/{steammessages_qms.steamclient.proto → steam/steammessages_qms.steamclient.proto} +125 -125
- package/protos/{steammessages_remoteclient.proto → steam/steammessages_remoteclient.proto} +99 -99
- package/protos/{steammessages_remoteclient_discovery.proto → steam/steammessages_remoteclient_discovery.proto} +235 -228
- package/protos/{steammessages_remoteclient_service.steamclient.proto → steam/steammessages_remoteclient_service.steamclient.proto} +86 -90
- package/protos/{steammessages_remoteclient_service_messages.proto → steam/steammessages_remoteclient_service_messages.proto} +217 -196
- package/protos/{steammessages_remoteplay.proto → steam/steammessages_remoteplay.proto} +976 -871
- package/protos/{steammessages_secrets.steamclient.proto → steam/steammessages_secrets.steamclient.proto} +39 -39
- package/protos/{steammessages_shader.steamclient.proto → steam/steammessages_shader.steamclient.proto} +108 -96
- package/protos/{steammessages_site_license.steamclient.proto → steam/steammessages_site_license.steamclient.proto} +128 -128
- package/protos/{steammessages_sitelicenseclient.proto → steam/steammessages_sitelicenseclient.proto} +38 -38
- package/protos/{steammessages_siteserverui.proto → steam/steammessages_siteserverui.proto} +130 -130
- package/protos/{steammessages_star.steamclient.proto → steam/steammessages_star.steamclient.proto} +64 -64
- package/protos/{steammessages_steamtv.steamclient.proto → steam/steammessages_steamtv.steamclient.proto} +630 -630
- package/protos/{steammessages_store.steamclient.proto → steam/steammessages_store.steamclient.proto} +371 -262
- package/protos/steam/steammessages_storebrowse.steamclient.proto +402 -0
- package/protos/{steammessages_timedtrial.steamclient.proto → steam/steammessages_timedtrial.steamclient.proto} +50 -50
- package/protos/{steammessages_twofactor.steamclient.proto → steam/steammessages_twofactor.steamclient.proto} +186 -154
- package/protos/{steammessages_unified_base.steamclient.proto → steam/steammessages_unified_base.steamclient.proto} +33 -33
- package/protos/{steammessages_unified_test.steamclient.proto → steam/steammessages_unified_test.steamclient.proto} +61 -50
- package/protos/{steammessages_useraccount.steamclient.proto → steam/steammessages_useraccount.steamclient.proto} +249 -210
- package/protos/{steammessages_vac.steamclient.proto → steam/steammessages_vac.steamclient.proto} +44 -44
- package/protos/steam/steammessages_video.steamclient.proto +171 -0
- package/protos/{steammessages_virtualcontroller.proto → steam/steammessages_virtualcontroller.proto} +138 -138
- package/protos/{steammessages_workshop.steamclient.proto → steam/steammessages_workshop.steamclient.proto} +23 -23
- package/protos/steam/steamnetworkingsockets_messages.proto +205 -0
- package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -0
- package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -0
- package/protos/steam/webuimessages_base.proto +24 -0
- package/protos/steam/webuimessages_gamenotes.proto +21 -0
- package/protos/steam/webuimessages_steamengine.proto +32 -0
- package/protos/steam/webuimessages_storagedevicemanager.proto +110 -0
- package/protos/steam/webuimessages_systemmanager.proto +17 -0
- package/protos/steam/webuimessages_transport.proto +18 -0
- package/protos/steam/webuimessages_transportvalidation.proto +97 -0
- package/protos/webui/common.proto +5508 -0
- package/protos/webui/common_base.proto +27 -0
- package/protos/webui/service_accountlinking.proto +27 -0
- package/protos/webui/service_accountprivacy.proto +42 -0
- package/protos/webui/service_auction.proto +97 -0
- package/protos/webui/service_authentication.proto +222 -0
- package/protos/webui/service_authenticationsupport.proto +74 -0
- package/protos/webui/service_broadcast.proto +562 -0
- package/protos/webui/service_chat.proto +11 -0
- package/protos/webui/service_chatroom.proto +810 -0
- package/protos/webui/service_chatusability.proto +107 -0
- package/protos/webui/service_clan.proto +41 -0
- package/protos/webui/service_clanchatrooms.proto +25 -0
- package/protos/webui/service_clanfaqs.proto +202 -0
- package/protos/webui/service_clientcomm.proto +150 -0
- package/protos/webui/service_clientmetrics.proto +63 -0
- package/protos/webui/service_cloud.proto +222 -0
- package/protos/webui/service_cloudconfigstore.proto +51 -0
- package/protos/webui/service_cloudgaming.proto +30 -0
- package/protos/webui/service_community.proto +365 -0
- package/protos/webui/service_econ.proto +134 -0
- package/protos/webui/service_embedded.proto +24 -0
- package/protos/webui/service_experimentservice.proto +6 -0
- package/protos/webui/service_fovasvideo.proto +15 -0
- package/protos/webui/service_friendmessages.proto +133 -0
- package/protos/webui/service_friendslist.proto +70 -0
- package/protos/webui/service_gamenotes.proto +15 -0
- package/protos/webui/service_helprequestlogs.proto +26 -0
- package/protos/webui/service_loyaltyrewards.proto +252 -0
- package/protos/webui/service_marketingmessages.proto +184 -0
- package/protos/webui/service_mobileapp.proto +18 -0
- package/protos/webui/service_mobileauth.proto +24 -0
- package/protos/webui/service_mobiledevice.proto +26 -0
- package/protos/webui/service_mobileperaccount.proto +31 -0
- package/protos/webui/service_news.proto +101 -0
- package/protos/webui/service_parental.proto +178 -0
- package/protos/webui/service_partnermembershipinvite.proto +29 -0
- package/protos/webui/service_partnerstorebrowse.proto +6 -0
- package/protos/webui/service_phone.proto +51 -0
- package/protos/webui/service_physicalgoods.proto +15 -0
- package/protos/webui/service_player.proto +885 -0
- package/protos/webui/service_promotioneventinvites.proto +50 -0
- package/protos/webui/service_promotionplanning.proto +72 -0
- package/protos/webui/service_publishedfile.proto +687 -0
- package/protos/webui/service_publishing.proto +119 -0
- package/protos/webui/service_quest.proto +127 -0
- package/protos/webui/service_salefeature.proto +315 -0
- package/protos/webui/service_saleitemrewards.proto +54 -0
- package/protos/webui/service_shoppingcart.proto +108 -0
- package/protos/webui/service_steamawards.proto +19 -0
- package/protos/webui/service_steamcharts.proto +75 -0
- package/protos/webui/service_steamengine.proto +36 -0
- package/protos/webui/service_steamlearn.proto +727 -0
- package/protos/webui/service_steamnotification.proto +84 -0
- package/protos/webui/service_steamtv.proto +495 -0
- package/protos/webui/service_steamvrvoicechat.proto +67 -0
- package/protos/webui/service_steamvrwebrtc.proto +48 -0
- package/protos/webui/service_storagedevicemanager.proto +104 -0
- package/protos/webui/service_store.proto +289 -0
- package/protos/webui/service_storeappsimilarity.proto +76 -0
- package/protos/webui/service_storebrowse.proto +73 -0
- package/protos/webui/service_storequery.proto +97 -0
- package/protos/webui/service_storesales.proto +15 -0
- package/protos/webui/service_storetopsellers.proto +44 -0
- package/protos/webui/service_systemmanager.proto +11 -0
- package/protos/webui/service_test_transporterror.proto +6 -0
- package/protos/webui/service_transportauth.proto +12 -0
- package/protos/webui/service_transportvalidation.proto +69 -0
- package/protos/webui/service_twofactor.proto +181 -0
- package/protos/webui/service_useraccount.proto +138 -0
- package/protos/webui/service_usergameactivity.proto +34 -0
- package/protos/webui/service_usergamenotes.proto +53 -0
- package/protos/webui/service_usernews.proto +68 -0
- package/protos/webui/service_userreviews.proto +96 -0
- package/protos/webui/service_video.proto +128 -0
- package/protos/webui/service_voicechat.proto +139 -0
- package/protos/webui/service_webrtc.proto +52 -0
- package/.idea/deployment.xml +0 -21
- package/protos/netmessages.proto +0 -491
- package/protos/network_connection.proto +0 -70
- package/protos/steamdatagram_messages.proto +0 -205
- package/protos/steammessages_auth.steamclient.proto +0 -192
- package/protos/steammessages_client_objects.proto +0 -336
- package/protos/steammessages_datapublisher.steamclient.proto +0 -67
- package/protos/steammessages_video.steamclient.proto +0 -84
@@ -0,0 +1,402 @@
|
|
1
|
+
import "steammessages_base.proto";
|
2
|
+
import "steammessages_unified_base.steamclient.proto";
|
3
|
+
import "enums_productinfo.proto";
|
4
|
+
import "enums.proto";
|
5
|
+
import "contenthubs.proto";
|
6
|
+
|
7
|
+
option cc_generic_services = true;
|
8
|
+
|
9
|
+
enum EStoreItemType {
|
10
|
+
k_EStoreItemType_Invalid = -1;
|
11
|
+
k_EStoreItemType_App = 0;
|
12
|
+
k_EStoreItemType_Package = 1;
|
13
|
+
k_EStoreItemType_Bundle = 2;
|
14
|
+
k_EStoreItemType_Mtx = 3;
|
15
|
+
k_EStoreItemType_Tag = 4;
|
16
|
+
k_EStoreItemType_Creator = 5;
|
17
|
+
k_EStoreItemType_HubCategory = 6;
|
18
|
+
}
|
19
|
+
|
20
|
+
enum EStoreAppType {
|
21
|
+
k_EStoreAppType_Game = 0;
|
22
|
+
k_EStoreAppType_Demo = 1;
|
23
|
+
k_EStoreAppType_Mod = 2;
|
24
|
+
k_EStoreAppType_Movie = 3;
|
25
|
+
k_EStoreAppType_DLC = 4;
|
26
|
+
k_EStoreAppType_Guide = 5;
|
27
|
+
k_EStoreAppType_Software = 6;
|
28
|
+
k_EStoreAppType_Video = 7;
|
29
|
+
k_EStoreAppType_Series = 8;
|
30
|
+
k_EStoreAppType_Episode = 9;
|
31
|
+
k_EStoreAppType_Hardware = 10;
|
32
|
+
k_EStoreAppType_Music = 11;
|
33
|
+
k_EStoreAppType_Beta = 12;
|
34
|
+
k_EStoreAppType_Tool = 13;
|
35
|
+
k_EStoreAppType_Advertising = 14;
|
36
|
+
}
|
37
|
+
|
38
|
+
enum EUserReviewScore {
|
39
|
+
k_EUserReviewScore_None = 0;
|
40
|
+
k_EUserReviewScore_OverwhelminglyNegative = 1;
|
41
|
+
k_EUserReviewScore_VeryNegative = 2;
|
42
|
+
k_EUserReviewScore_Negative = 3;
|
43
|
+
k_EUserReviewScore_MostlyNegative = 4;
|
44
|
+
k_EUserReviewScore_Mixed = 5;
|
45
|
+
k_EUserReviewScore_MostlyPositive = 6;
|
46
|
+
k_EUserReviewScore_Positive = 7;
|
47
|
+
k_EUserReviewScore_VeryPositive = 8;
|
48
|
+
k_EUserReviewScore_OverwhelminglyPositive = 9;
|
49
|
+
}
|
50
|
+
|
51
|
+
enum EStoreCategoryType {
|
52
|
+
k_EStoreCategoryType_Category = 0;
|
53
|
+
k_EStoreCategoryType_SupportedPlayers = 1;
|
54
|
+
k_EStoreCategoryType_Feature = 2;
|
55
|
+
k_EStoreCategoryType_ControllerSupport = 3;
|
56
|
+
k_EStoreCategoryType_CloudGaming = 4;
|
57
|
+
k_EStoreCategoryType_MAX = 5;
|
58
|
+
}
|
59
|
+
|
60
|
+
message StoreItemID {
|
61
|
+
optional uint32 appid = 1;
|
62
|
+
optional uint32 packageid = 2;
|
63
|
+
optional uint32 bundleid = 3;
|
64
|
+
optional uint32 tagid = 4;
|
65
|
+
optional uint32 creatorid = 5;
|
66
|
+
optional uint32 hubcategoryid = 6;
|
67
|
+
}
|
68
|
+
|
69
|
+
message StoreBrowseContext {
|
70
|
+
optional string language = 1;
|
71
|
+
optional int32 elanguage = 2 [(description) = "ELanguage"];
|
72
|
+
optional string country_code = 3 [(description) = "2-character country code; required"];
|
73
|
+
optional int32 steam_realm = 4 [(description) = "ESteamRealm"];
|
74
|
+
}
|
75
|
+
|
76
|
+
message StoreBrowseItemDataRequest {
|
77
|
+
optional bool include_assets = 1;
|
78
|
+
optional bool include_release = 2;
|
79
|
+
optional bool include_platforms = 3;
|
80
|
+
optional bool include_all_purchase_options = 4;
|
81
|
+
optional bool include_screenshots = 5;
|
82
|
+
optional bool include_trailers = 6;
|
83
|
+
optional bool include_ratings = 7;
|
84
|
+
optional int32 include_tag_count = 8 [(description) = "Count of tags to return, as tagids. Maximum 20."];
|
85
|
+
optional bool include_reviews = 9;
|
86
|
+
optional bool include_basic_info = 10 [(description) = "Include short description, publisher, developers"];
|
87
|
+
optional bool include_supported_languages = 11 [(description) = "includes the games support for languages: supported, full_audio, subtitles"];
|
88
|
+
optional bool include_full_description = 12;
|
89
|
+
optional bool include_included_items = 13 [(description) = "For packages and bundles, return the apps and packages included as well. Pass included_item_data_request for more details on the included items."];
|
90
|
+
optional .StoreBrowseItemDataRequest included_item_data_request = 14 [(description) = "The data to return for included items."];
|
91
|
+
}
|
92
|
+
|
93
|
+
message CStoreBrowse_GetItems_Request {
|
94
|
+
repeated .StoreItemID ids = 1;
|
95
|
+
optional .StoreBrowseContext context = 2;
|
96
|
+
optional .StoreBrowseItemDataRequest data_request = 3;
|
97
|
+
}
|
98
|
+
|
99
|
+
message StoreItem {
|
100
|
+
message RelatedItems {
|
101
|
+
optional uint32 parent_appid = 1 [(description) = "For DLC, Demos, etc, this is the main app."];
|
102
|
+
}
|
103
|
+
|
104
|
+
message IncludedItems {
|
105
|
+
repeated .StoreItem included_apps = 1 [(description) = "All apps included, if this is a package or bundle"];
|
106
|
+
repeated .StoreItem included_packages = 2 [(description) = "All packages included, if this is a bundle"];
|
107
|
+
}
|
108
|
+
|
109
|
+
message Categories {
|
110
|
+
repeated uint32 supported_player_categoryids = 2 [(description) = "Categories like Single Player, Multiplayer, MMO"];
|
111
|
+
repeated uint32 feature_categoryids = 3 [(description) = "Categories indicating supported features like Steam Cloud, VAC, Achievements, etc"];
|
112
|
+
repeated uint32 controller_categoryids = 4 [(description) = "Categories indicating controller support and full controller support."];
|
113
|
+
}
|
114
|
+
|
115
|
+
message Reviews {
|
116
|
+
message StoreReviewSummary {
|
117
|
+
optional uint32 review_count = 1;
|
118
|
+
optional int32 percent_positive = 2 [(description) = "0-100"];
|
119
|
+
optional .EUserReviewScore review_score = 3 [default = k_EUserReviewScore_None];
|
120
|
+
optional string review_score_label = 4 [(description) = "A string like 'Mixed', 'Negative', 'Overwhelmingly Positive'"];
|
121
|
+
}
|
122
|
+
|
123
|
+
optional .StoreItem.Reviews.StoreReviewSummary summary_filtered = 1 [(description) = "Review summary with review bombs removed (if any). Always present (if include_reviews set in request)"];
|
124
|
+
optional .StoreItem.Reviews.StoreReviewSummary summary_unfiltered = 2 [(description) = "Review summary with review bombs included. Only present if there are review bombs."];
|
125
|
+
}
|
126
|
+
|
127
|
+
message BasicInfo {
|
128
|
+
message CreatorHomeLink {
|
129
|
+
optional string name = 1;
|
130
|
+
optional uint32 creator_clan_account_id = 2 [(description) = "Optioanl field indicating this name is associated this the creator home via the clan account id"];
|
131
|
+
}
|
132
|
+
|
133
|
+
optional string short_description = 1;
|
134
|
+
repeated .StoreItem.BasicInfo.CreatorHomeLink publishers = 2;
|
135
|
+
repeated .StoreItem.BasicInfo.CreatorHomeLink developers = 3;
|
136
|
+
repeated .StoreItem.BasicInfo.CreatorHomeLink franchises = 4;
|
137
|
+
optional string capsule_headline = 5 [(description) = "A custom string specified by the partner for display on or around a capsule on the store, e.g. 'Just Updated!'"];
|
138
|
+
}
|
139
|
+
|
140
|
+
message Tag {
|
141
|
+
optional uint32 tagid = 1;
|
142
|
+
optional uint32 weight = 2;
|
143
|
+
}
|
144
|
+
|
145
|
+
message Assets {
|
146
|
+
optional string asset_url_format = 1 [(description) = "Format for URLs, should substitute the capsule name for ${FILENAME} in the URL."];
|
147
|
+
optional string main_capsule = 2;
|
148
|
+
optional string small_capsule = 3;
|
149
|
+
optional string header = 4 [(description) = "Equivalent to GetConstantRatioHeaderImage in PHP; apps will always have this, packages and bundles may not."];
|
150
|
+
optional string package_header = 5 [(description) = "A wider header used on package/bundle pages. Not set for apps."];
|
151
|
+
optional string page_background = 6;
|
152
|
+
optional string hero_capsule = 7 [(description) = "374x448"];
|
153
|
+
optional string hero_capsule_2x = 8 [(description) = "748x896 version of hero capsule."];
|
154
|
+
optional string library_capsule = 9 [(description) = "300x450 - tall library asset"];
|
155
|
+
optional string library_capsule_2x = 10 [(description) = "600x900 - tall library asset"];
|
156
|
+
optional string library_hero = 11 [(description) = "960x310 or 1920x620 - library detail background asset"];
|
157
|
+
optional string library_hero_2x = 12 [(description) = "1920x620 or 3840x1240 - library detail background asset"];
|
158
|
+
optional string community_icon = 13 [(description) = "32x32 jpg uploading via steamworks under community assets"];
|
159
|
+
optional string clan_avatar = 14;
|
160
|
+
}
|
161
|
+
|
162
|
+
message ReleaseInfo {
|
163
|
+
optional uint32 steam_release_date = 1 [(description) = "The date this item first released on the Steam store. For Early Access graduates, this is their graduation day."];
|
164
|
+
optional uint32 original_release_date = 2 [(description) = "Optional; the date this item first released elsewhere, typically back catalog items."];
|
165
|
+
optional uint32 original_steam_release_date = 3 [(description) = "For Early Access graduates, the date the game first appeared on Steam."];
|
166
|
+
optional bool is_coming_soon = 4 [(description) = "Is the app coming soon? This flag should be preferred to doing time comparisons against steam_release_date."];
|
167
|
+
optional bool is_preload = 5 [(description) = "Can the app be preloaded? Only applies to Coming Soon titles."];
|
168
|
+
optional string custom_release_date_message = 6 [(description) = "Custom release date string. steam_release_date will be unset if this is set."];
|
169
|
+
optional bool is_abridged_release_date = 7 [(description) = "Release date should be displayed as month-year only. steam_release_date is the last day of the month."];
|
170
|
+
optional string coming_soon_display = 8 [(description) = "One of 'date_full', 'date_month', 'date_quarter', 'date_year', 'text_comingsoon', 'text_tba'"];
|
171
|
+
optional bool is_early_access = 10;
|
172
|
+
optional uint32 mac_release_date = 20;
|
173
|
+
optional uint32 linux_release_date = 21;
|
174
|
+
}
|
175
|
+
|
176
|
+
message Platforms {
|
177
|
+
message VRSupport {
|
178
|
+
optional bool vrhmd = 1;
|
179
|
+
optional bool vrhmd_only = 2;
|
180
|
+
optional bool htc_vive = 40;
|
181
|
+
optional bool oculus_rift = 41;
|
182
|
+
optional bool windows_mr = 42;
|
183
|
+
optional bool valve_index = 43;
|
184
|
+
}
|
185
|
+
|
186
|
+
optional bool windows = 1;
|
187
|
+
optional bool mac = 2;
|
188
|
+
optional bool steamos_linux = 3;
|
189
|
+
optional .StoreItem.Platforms.VRSupport vr_support = 10;
|
190
|
+
optional .ESteamDeckCompatibilityCategory steam_deck_compat_category = 11 [default = k_ESteamDeckCompatibilityCategory_Unknown];
|
191
|
+
}
|
192
|
+
|
193
|
+
message PurchaseOption {
|
194
|
+
message Discount {
|
195
|
+
optional int64 discount_amount = 1;
|
196
|
+
optional string discount_description = 2;
|
197
|
+
optional uint32 discount_end_date = 3;
|
198
|
+
}
|
199
|
+
|
200
|
+
optional int32 packageid = 1;
|
201
|
+
optional int32 bundleid = 2;
|
202
|
+
optional string purchase_option_name = 3 [(description) = "The name of the package or bundle"];
|
203
|
+
optional int64 final_price_in_cents = 5 [(description) = "Always set. Includes any applicable non user-specific discounts."];
|
204
|
+
optional int64 original_price_in_cents = 6 [(description) = "If discounted, this is the price the item would normally cost."];
|
205
|
+
optional int64 user_final_price_in_cents = 7;
|
206
|
+
optional string formatted_final_price = 8 [(description) = "Always set. Formatted with currency symbol and decimal, like '$10.00'."];
|
207
|
+
optional string formatted_original_price = 9;
|
208
|
+
optional int32 discount_pct = 10 [(description) = "If discounted, calculated from final price and original price."];
|
209
|
+
optional int32 user_discount_pct = 11;
|
210
|
+
optional int32 bundle_discount_pct = 12 [(description) = "If this is a bundle, the savings from buying the bundle. If no bundle items are on active discount, this will be the same as discount_pct."];
|
211
|
+
repeated .StoreItem.PurchaseOption.Discount active_discounts = 20 [(description) = "Discounts included in discounted_price_in_cents."];
|
212
|
+
repeated .StoreItem.PurchaseOption.Discount user_active_discounts = 21 [(description) = "Additional discounts included in user_discounted_price_in_cents."];
|
213
|
+
repeated .StoreItem.PurchaseOption.Discount inactive_discounts = 22 [(description) = "Additional user-specific discounts that do not apply to the current user."];
|
214
|
+
optional bool user_can_purchase = 30;
|
215
|
+
optional bool user_can_purchase_as_gift = 31;
|
216
|
+
optional bool is_commercial_license = 40 [(description) = "This is a commercial license"];
|
217
|
+
optional bool should_suppress_discount_pct = 41 [(description) = "Don't show the discount percentage on a store capsule for this item."];
|
218
|
+
optional bool hide_discount_pct_for_compliance = 42 [default = false, (description) = "Don't show the discount percent because there was a discount in the last 30 days."];
|
219
|
+
optional int32 included_game_count = 43 [(description) = "How many games are included in this purchase option."];
|
220
|
+
optional int64 lowest_recent_price_in_cents = 44 [(description) = "Lowest recent price in cents. If not set, then there is no data so we ignore."];
|
221
|
+
}
|
222
|
+
|
223
|
+
message Screenshots {
|
224
|
+
message Screenshot {
|
225
|
+
optional string filename = 1 [(description) = "Path to file on media CDN. Can access sized version by appending to SHA: '.1920x1080', '.600x338', '.116x65'"];
|
226
|
+
optional int32 ordinal = 2 [(description) = "Screenshots should be displayed in order of ascending ordinal; they are returned in-order but client may need to merge all_ages and mature_content_screenshots."];
|
227
|
+
}
|
228
|
+
|
229
|
+
repeated .StoreItem.Screenshots.Screenshot all_ages_screenshots = 2 [(description) = "Screenshots suitable for all ages."];
|
230
|
+
repeated .StoreItem.Screenshots.Screenshot mature_content_screenshots = 3 [(description) = "Screenshots that may contain mature content; these should only be shown after verifying age (age gate)."];
|
231
|
+
}
|
232
|
+
|
233
|
+
message Trailers {
|
234
|
+
message VideoSource {
|
235
|
+
optional string filename = 1 [(description) = "Substitute into trailer_url_format"];
|
236
|
+
optional string type = 2 [(description) = "'video/webm' or 'video/mp4'; can just put this directly in to a <source> tag."];
|
237
|
+
}
|
238
|
+
|
239
|
+
message Trailer {
|
240
|
+
optional string trailer_name = 1;
|
241
|
+
optional string trailer_url_format = 2 [(description) = "Format for URLs, should substitute filename for ${FILENAME} in the URL."];
|
242
|
+
repeated .StoreItem.Trailers.VideoSource trailer_480p = 3;
|
243
|
+
repeated .StoreItem.Trailers.VideoSource trailer_max = 4;
|
244
|
+
repeated .StoreItem.Trailers.VideoSource microtrailer = 5;
|
245
|
+
optional string screenshot_medium = 10 [(description) = "293x165px. Use trailer_url_format."];
|
246
|
+
optional string screenshot_full = 11 [(description) = "Same size as trailer_max. Use trailer_url_format."];
|
247
|
+
optional int32 trailer_base_id = 12 [(description) = "Trailer ID. For localized trailers, this will be the original trailer's ID"];
|
248
|
+
}
|
249
|
+
|
250
|
+
repeated .StoreItem.Trailers.Trailer highlights = 1 [(description) = "Primary trailers for this app"];
|
251
|
+
repeated .StoreItem.Trailers.Trailer other_trailers = 2 [(description) = "Additional trailers; on the app page, these are shown after screenshots (highlights shown before)"];
|
252
|
+
}
|
253
|
+
|
254
|
+
message SupportedLanguage {
|
255
|
+
optional int32 elanguage = 1 [(description) = "ELanguage"];
|
256
|
+
optional bool supported = 2;
|
257
|
+
optional bool full_audio = 3;
|
258
|
+
optional bool subtitles = 4;
|
259
|
+
}
|
260
|
+
|
261
|
+
message FreeWeekend {
|
262
|
+
optional uint32 start_time = 1 [(description) = "When the free weekend starts."];
|
263
|
+
optional uint32 end_time = 2 [(description) = "When the free weekend ends."];
|
264
|
+
optional string text = 3 [(description) = "Text to show as a description of the free weekend."];
|
265
|
+
}
|
266
|
+
|
267
|
+
optional .EStoreItemType item_type = 1 [default = k_EStoreItemType_Invalid];
|
268
|
+
optional uint32 id = 2;
|
269
|
+
optional uint32 success = 3 [(description) = "EResult of this lookup action"];
|
270
|
+
optional bool visible = 4;
|
271
|
+
optional bool unvailable_for_country_restriction = 5 [(description) = "Indicates this app is visible in other regions, but not the requested reagion"];
|
272
|
+
optional string name = 6;
|
273
|
+
optional string store_url_path = 7 [(description) = "The URL of this item's store page, to be appended to STORE_BASE_URL."];
|
274
|
+
optional uint32 appid = 9 [(description) = "If this is an app, or a single-app package, the steamworks appid."];
|
275
|
+
optional .EStoreAppType type = 10 [default = k_EStoreAppType_Game, (description) = "Type of app (Game, Software, Music). For packages/bundles, this will be the most interesting type (eg Game + Soundtrack bundle will have type Game)"];
|
276
|
+
repeated .EStoreAppType included_types = 11 [(description) = "For packages/bundles, all types of included items"];
|
277
|
+
repeated uint32 included_appids = 12 [(description) = "For packages/bundles, all included appids"];
|
278
|
+
optional bool is_free = 13;
|
279
|
+
optional bool is_early_access = 14;
|
280
|
+
optional .StoreItem.RelatedItems related_items = 15;
|
281
|
+
optional .StoreItem.IncludedItems included_items = 16 [(description) = "Items included in this package/bundle, if included_items datarequest was passed."];
|
282
|
+
repeated .EContentDescriptorID content_descriptorids = 20;
|
283
|
+
repeated uint32 tagids = 21;
|
284
|
+
optional .StoreItem.Categories categories = 22;
|
285
|
+
optional .StoreItem.Reviews reviews = 23;
|
286
|
+
optional .StoreItem.BasicInfo basic_info = 24;
|
287
|
+
repeated .StoreItem.Tag tags = 25;
|
288
|
+
optional .StoreItem.Assets assets = 30;
|
289
|
+
optional .StoreItem.ReleaseInfo release = 31;
|
290
|
+
optional .StoreItem.Platforms platforms = 32;
|
291
|
+
optional .StoreGameRating game_rating = 33 [(description) = "Local ratings agency information, like ESRB or PEGI"];
|
292
|
+
optional .StoreItem.PurchaseOption best_purchase_option = 40 [(description) = "The cheapest way for the user to acquire this app or package (may be a bundle)."];
|
293
|
+
repeated .StoreItem.PurchaseOption purchase_options = 41 [(description) = "Different ways to buy this app or packages (packages can be purchased directly, but may also be included in bundles)."];
|
294
|
+
repeated .StoreItem.PurchaseOption accessories = 42 [(description) = "Additional packages or bundles associated with an app, but that do not contain the app."];
|
295
|
+
optional .StoreItem.Screenshots screenshots = 50;
|
296
|
+
optional .StoreItem.Trailers trailers = 51;
|
297
|
+
repeated .StoreItem.SupportedLanguage supported_languages = 52;
|
298
|
+
optional string store_url_path_override = 53 [(description) = "Navigate to this URL (relative to store home) when the store capsule for this item is clicked, instead of the default /app/... URL. Used by advertising apps that point to a sale page."];
|
299
|
+
optional .StoreItem.FreeWeekend free_weekend = 54 [(description) = "Information about a free weekend offer."];
|
300
|
+
optional bool unlisted = 55 [(description) = "If true, item is only accessible on store via a direct link"];
|
301
|
+
optional uint32 game_count = 56 [(description) = "For creators and tags, how many games belong to them"];
|
302
|
+
optional string internal_name = 57 [(description) = "For hub categories, the internal name (handle) of the category"];
|
303
|
+
optional string full_description = 58 [(description) = "About this game section on the store page"];
|
304
|
+
}
|
305
|
+
|
306
|
+
message StoreGameRating {
|
307
|
+
optional string type = 1 [(description) = "'esrb', 'pegi', ..."];
|
308
|
+
optional string rating = 2 [(description) = "'t' for teen, 'm' for mature, ..."];
|
309
|
+
repeated string descriptors = 3 [(description) = "Additional descriptors like 'Intense Violence', 'Strong Language',..."];
|
310
|
+
optional string interactive_elements = 4 [(description) = "ESRB-specific"];
|
311
|
+
optional int32 required_age = 10 [(description) = "Age in years. Store pages will prompt with an age gate"];
|
312
|
+
optional bool use_age_gate = 11;
|
313
|
+
optional string image_url = 20 [(description) = "An image corresponding to the rating."];
|
314
|
+
optional string image_target = 21 [(description) = "URL where the image should link for more information."];
|
315
|
+
}
|
316
|
+
|
317
|
+
message CStoreBrowse_GetItems_Response {
|
318
|
+
repeated .StoreItem store_items = 1;
|
319
|
+
}
|
320
|
+
|
321
|
+
message CStoreBrowse_GetStoreCategories_Request {
|
322
|
+
optional string language = 1;
|
323
|
+
optional int32 elanguage = 2 [default = -1, (description) = "ELanguage"];
|
324
|
+
}
|
325
|
+
|
326
|
+
message CStoreBrowse_GetStoreCategories_Response {
|
327
|
+
message Category {
|
328
|
+
optional uint32 categoryid = 1;
|
329
|
+
optional .EStoreCategoryType type = 2 [default = k_EStoreCategoryType_Category];
|
330
|
+
optional string internal_name = 3;
|
331
|
+
optional string display_name = 4;
|
332
|
+
optional string image_url = 5 [(description) = "Append to STORE_CDN_URL"];
|
333
|
+
optional bool show_in_search = 6 [(description) = "Indicates this category can link to search results showing all items in category."];
|
334
|
+
}
|
335
|
+
|
336
|
+
repeated .CStoreBrowse_GetStoreCategories_Response.Category categories = 1;
|
337
|
+
}
|
338
|
+
|
339
|
+
message CStoreBrowse_GetDLCForApps_Request {
|
340
|
+
optional .StoreBrowseContext context = 1;
|
341
|
+
optional .CStorePageFilter store_page_filter = 2;
|
342
|
+
repeated .StoreItemID appids = 3 [(description) = "Apps for which we want DLC information."];
|
343
|
+
optional uint64 steamid = 4 [(description) = "If specified, we want DLC information for all apps owned by this user."];
|
344
|
+
}
|
345
|
+
|
346
|
+
message CStoreBrowse_GetDLCForApps_Response {
|
347
|
+
message DLCData {
|
348
|
+
optional uint32 appid = 1;
|
349
|
+
optional uint32 parentappid = 2;
|
350
|
+
optional uint32 release_date = 3;
|
351
|
+
optional bool coming_soon = 4;
|
352
|
+
optional int64 price = 5;
|
353
|
+
optional uint32 discount = 6;
|
354
|
+
optional bool free = 7;
|
355
|
+
}
|
356
|
+
|
357
|
+
message PlaytimeForApp {
|
358
|
+
optional uint32 appid = 1;
|
359
|
+
optional uint32 playtime = 2 [(description) = "Total time played over all time."];
|
360
|
+
optional uint32 last_played = 3 [(description) = "Time last played on any platform."];
|
361
|
+
}
|
362
|
+
|
363
|
+
repeated .CStoreBrowse_GetDLCForApps_Response.DLCData dlc_data = 1;
|
364
|
+
repeated .CStoreBrowse_GetDLCForApps_Response.PlaytimeForApp playtime = 2;
|
365
|
+
}
|
366
|
+
|
367
|
+
message CStoreBrowse_GetDLCForAppsSolr_Request {
|
368
|
+
optional .StoreBrowseContext context = 1;
|
369
|
+
repeated uint32 appids = 2;
|
370
|
+
optional string flavor = 3;
|
371
|
+
optional uint32 count = 4;
|
372
|
+
optional .CStorePageFilter store_page_filter = 5;
|
373
|
+
}
|
374
|
+
|
375
|
+
message CStoreBrowse_GetDLCForAppsSolr_Response {
|
376
|
+
message DLCList {
|
377
|
+
optional uint32 parent_appid = 1;
|
378
|
+
repeated uint32 dlc_appids = 2;
|
379
|
+
}
|
380
|
+
|
381
|
+
repeated .CStoreBrowse_GetDLCForAppsSolr_Response.DLCList dlc_lists = 1;
|
382
|
+
}
|
383
|
+
|
384
|
+
service StoreBrowse {
|
385
|
+
option (service_description) = "APIs for accessing store item data";
|
386
|
+
|
387
|
+
rpc GetItems (.CStoreBrowse_GetItems_Request) returns (.CStoreBrowse_GetItems_Response) {
|
388
|
+
option (method_description) = "Get information about items on the store";
|
389
|
+
}
|
390
|
+
|
391
|
+
rpc GetStoreCategories (.CStoreBrowse_GetStoreCategories_Request) returns (.CStoreBrowse_GetStoreCategories_Response) {
|
392
|
+
option (method_description) = "Get category definitions for store. This is a public-facing API (as compared to StoreCatalog.GetCategories, which is intended for PHP)";
|
393
|
+
}
|
394
|
+
|
395
|
+
rpc GetDLCForApps (.CStoreBrowse_GetDLCForApps_Request) returns (.CStoreBrowse_GetDLCForApps_Response) {
|
396
|
+
option (method_description) = "Returns all DLC appids for games owned by the user.";
|
397
|
+
}
|
398
|
+
|
399
|
+
rpc GetDLCForAppsSolr (.CStoreBrowse_GetDLCForAppsSolr_Request) returns (.CStoreBrowse_GetDLCForAppsSolr_Response) {
|
400
|
+
option (method_description) = "Returns all DLC appids for the specified games.";
|
401
|
+
}
|
402
|
+
}
|
@@ -1,50 +1,50 @@
|
|
1
|
-
import "steammessages_base.proto";
|
2
|
-
import "steammessages_unified_base.steamclient.proto";
|
3
|
-
|
4
|
-
option cc_generic_services = true;
|
5
|
-
|
6
|
-
message CTimedTrial_GetTimeRemaining_Request {
|
7
|
-
optional uint32 appid = 1;
|
8
|
-
}
|
9
|
-
|
10
|
-
message CTimedTrial_GetTimeRemaining_Response {
|
11
|
-
optional uint32 seconds_played = 1;
|
12
|
-
optional uint32 seconds_allowed = 2;
|
13
|
-
optional uint32 packageid = 3;
|
14
|
-
optional uint32 mastersub_appid = 4;
|
15
|
-
}
|
16
|
-
|
17
|
-
message CTimedTrial_RecordPlaytime_Request {
|
18
|
-
optional uint32 appid = 1;
|
19
|
-
optional uint32 seconds_played = 2;
|
20
|
-
}
|
21
|
-
|
22
|
-
message CTimedTrial_RecordPlaytime_Response {
|
23
|
-
optional uint32 seconds_played = 1;
|
24
|
-
optional uint32 seconds_allowed = 2;
|
25
|
-
}
|
26
|
-
|
27
|
-
message CTimedTrial_ResetPlaytime_Request {
|
28
|
-
optional uint32 appid = 1;
|
29
|
-
}
|
30
|
-
|
31
|
-
message CTimedTrial_ResetPlaytime_Response {
|
32
|
-
optional uint32 seconds_played = 1;
|
33
|
-
optional uint32 seconds_allowed = 2;
|
34
|
-
}
|
35
|
-
|
36
|
-
service TimedTrial {
|
37
|
-
option (service_description) = "A service to get user timed trial information";
|
38
|
-
|
39
|
-
rpc GetTimeRemaining (.CTimedTrial_GetTimeRemaining_Request) returns (.CTimedTrial_GetTimeRemaining_Response) {
|
40
|
-
option (method_description) = "Returns the amount of time a user has left on a timed trial for an app";
|
41
|
-
}
|
42
|
-
|
43
|
-
rpc RecordPlaytime (.CTimedTrial_RecordPlaytime_Request) returns (.CTimedTrial_RecordPlaytime_Response) {
|
44
|
-
option (method_description) = "Updates the user's remaining playtime while in game";
|
45
|
-
}
|
46
|
-
|
47
|
-
rpc ResetPlaytime (.CTimedTrial_ResetPlaytime_Request) returns (.CTimedTrial_ResetPlaytime_Response) {
|
48
|
-
option (method_description) = "Reset the user's remaining playtime (developer only)";
|
49
|
-
}
|
50
|
-
}
|
1
|
+
import "steammessages_base.proto";
|
2
|
+
import "steammessages_unified_base.steamclient.proto";
|
3
|
+
|
4
|
+
option cc_generic_services = true;
|
5
|
+
|
6
|
+
message CTimedTrial_GetTimeRemaining_Request {
|
7
|
+
optional uint32 appid = 1;
|
8
|
+
}
|
9
|
+
|
10
|
+
message CTimedTrial_GetTimeRemaining_Response {
|
11
|
+
optional uint32 seconds_played = 1;
|
12
|
+
optional uint32 seconds_allowed = 2;
|
13
|
+
optional uint32 packageid = 3;
|
14
|
+
optional uint32 mastersub_appid = 4;
|
15
|
+
}
|
16
|
+
|
17
|
+
message CTimedTrial_RecordPlaytime_Request {
|
18
|
+
optional uint32 appid = 1;
|
19
|
+
optional uint32 seconds_played = 2;
|
20
|
+
}
|
21
|
+
|
22
|
+
message CTimedTrial_RecordPlaytime_Response {
|
23
|
+
optional uint32 seconds_played = 1;
|
24
|
+
optional uint32 seconds_allowed = 2;
|
25
|
+
}
|
26
|
+
|
27
|
+
message CTimedTrial_ResetPlaytime_Request {
|
28
|
+
optional uint32 appid = 1;
|
29
|
+
}
|
30
|
+
|
31
|
+
message CTimedTrial_ResetPlaytime_Response {
|
32
|
+
optional uint32 seconds_played = 1;
|
33
|
+
optional uint32 seconds_allowed = 2;
|
34
|
+
}
|
35
|
+
|
36
|
+
service TimedTrial {
|
37
|
+
option (service_description) = "A service to get user timed trial information";
|
38
|
+
|
39
|
+
rpc GetTimeRemaining (.CTimedTrial_GetTimeRemaining_Request) returns (.CTimedTrial_GetTimeRemaining_Response) {
|
40
|
+
option (method_description) = "Returns the amount of time a user has left on a timed trial for an app";
|
41
|
+
}
|
42
|
+
|
43
|
+
rpc RecordPlaytime (.CTimedTrial_RecordPlaytime_Request) returns (.CTimedTrial_RecordPlaytime_Response) {
|
44
|
+
option (method_description) = "Updates the user's remaining playtime while in game";
|
45
|
+
}
|
46
|
+
|
47
|
+
rpc ResetPlaytime (.CTimedTrial_ResetPlaytime_Request) returns (.CTimedTrial_ResetPlaytime_Response) {
|
48
|
+
option (method_description) = "Reset the user's remaining playtime (developer only)";
|
49
|
+
}
|
50
|
+
}
|