diff --git a/protobufs/steammessages_clientserver.proto b/protobufs/steammessages_clientserver.proto index 6ab41b5..ef58144 100644 --- a/protobufs/steammessages_clientserver.proto +++ b/protobufs/steammessages_clientserver.proto @@ -221,6 +221,11 @@ message CMsgClientGamesPlayed { optional string vr_hmd_vendor = 13; optional string vr_hmd_model = 14; optional uint32 launch_option_type = 15 [default = 0]; + optional int32 primary_controller_type = 16 [default = -1]; + optional string primary_steam_controller_serial = 17; + optional uint32 total_steam_controller_count = 18 [default = 0]; + optional uint32 total_non_steam_controller_count = 19 [default = 0]; + optional uint64 controller_workshop_file_id = 20 [default = 0]; } repeated .CMsgClientGamesPlayed.GamePlayed games_played = 1; diff --git a/protobufs/steammessages_clientserver_2.proto b/protobufs/steammessages_clientserver_2.proto index be46861..551a1af 100644 --- a/protobufs/steammessages_clientserver_2.proto +++ b/protobufs/steammessages_clientserver_2.proto @@ -559,12 +559,14 @@ message CMsgClientUpdateAppJobReport { optional string error_details = 5; optional uint32 job_duration = 6; optional uint32 files_validation_failed = 7; - optional uint64 bytes_downloaded = 8; - optional uint64 bytes_staged = 9; + optional uint64 job_bytes_downloaded = 8; + optional uint64 job_bytes_staged = 9; optional uint64 bytes_comitted = 10; optional uint32 start_app_state = 11; optional fixed64 stats_machine_id = 12; optional string branch_name = 13; + optional uint64 total_bytes_downloaded = 14; + optional uint64 total_bytes_staged = 15; } message CMsgClientDPContentStatsReport { diff --git a/protobufs/steammessages_publishedfile.proto b/protobufs/steammessages_publishedfile.proto index 5ff5622..498f041 100644 --- a/protobufs/steammessages_publishedfile.proto +++ b/protobufs/steammessages_publishedfile.proto @@ -161,6 +161,8 @@ message PublishedFileDetails { optional uint32 lifetime_subscriptions = 39; optional uint32 lifetime_favorited = 40; optional uint32 lifetime_followers = 41; + optional uint64 lifetime_playtime = 62; + optional uint64 lifetime_playtime_sessions = 63; optional uint32 views = 42; optional uint32 image_width = 43; optional uint32 image_height = 44; @@ -340,6 +342,7 @@ message CPublishedFile_QueryFiles_Request { optional int32 language = 33 [default = 0, (description) = "Language to search in and also what gets returned. Defaults to English."]; repeated .CPublishedFile_QueryFiles_Request.KVTag required_kv_tags = 34 [(description) = "Required key-value tags to match on."]; optional bool totalonly = 16 [(description) = "(Optional) If true, only return the total number of files that satisfy this query."]; + optional bool ids_only = 35 [(description) = "(Optional) If true, only return the published file ids of files that satisfy this query."]; optional bool return_vote_data = 17 [(description) = "Return vote data"]; optional bool return_tags = 18 [(description) = "Return tags in the file details"]; optional bool return_kv_tags = 19 [(description) = "Return key-value tags in the file details"]; @@ -355,6 +358,42 @@ message CPublishedFile_QueryFiles_Response { repeated .PublishedFileDetails publishedfiledetails = 2 [(description) = "Each file details will be populated, depending on what return values were requested."]; } +message CPublishedFile_StartPlaytimeTracking_Request { + optional uint32 appid = 1; + repeated uint64 publishedfileids = 2; +} + +message CPublishedFile_StartPlaytimeTracking_Response { +} + +message CPublishedFile_StopPlaytimeTracking_Request { + optional uint32 appid = 1; + repeated uint64 publishedfileids = 2; +} + +message CPublishedFile_StopPlaytimeTracking_Response { +} + +message CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request { + optional uint32 appid = 1; +} + +message CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response { +} + +message CPublishedFile_SetPlaytimeForControllerConfigs_Request { + message ControllerConfigUsage { + optional uint64 publishedfileid = 1; + optional float seconds_active = 2; + } + + optional uint32 appid = 1; + repeated .CPublishedFile_SetPlaytimeForControllerConfigs_Request.ControllerConfigUsage controller_config_usage = 2; +} + +message CPublishedFile_SetPlaytimeForControllerConfigs_Response { +} + service PublishedFile { option (service_description) = "A service to access published file data"; rpc Subscribe (.CPublishedFile_Subscribe_Request) returns (.CPublishedFile_Subscribe_Response) { @@ -393,4 +432,16 @@ service PublishedFile { rpc QueryFiles (.CPublishedFile_QueryFiles_Request) returns (.CPublishedFile_QueryFiles_Response) { option (method_description) = "Performs a search query for published files"; } + rpc StartPlaytimeTracking (.CPublishedFile_StartPlaytimeTracking_Request) returns (.CPublishedFile_StartPlaytimeTracking_Response) { + option (method_description) = "Start usage tracking for a given set of published files"; + } + rpc StopPlaytimeTracking (.CPublishedFile_StopPlaytimeTracking_Request) returns (.CPublishedFile_StopPlaytimeTracking_Response) { + option (method_description) = "Stops usage tracking for a given set of published files"; + } + rpc StopPlaytimeTrackingForAllAppItems (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request) returns (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response) { + option (method_description) = "Stops usage tracking for all items currently tracked for the specified app"; + } + rpc SetPlaytimeForControllerConfigs (.CPublishedFile_SetPlaytimeForControllerConfigs_Request) returns (.CPublishedFile_SetPlaytimeForControllerConfigs_Response) { + option (method_description) = "Stops usage tracking all controller configs for the given app and set the usage time for the for the given controller configs"; + } }