Initial version

This commit is contained in:
Lol3rrr
2024-09-15 05:09:15 +02:00
commit c7aa4dbe8c
489 changed files with 124650 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
option optimize_for = SPEED;
option cc_generic_services = false;
message CClientMetrics_ClientBootstrap_RequestInfo {
optional string original_hostname = 1;
optional string actual_hostname = 2;
optional string path = 3;
optional string base_name = 4;
optional bool success = 5;
optional uint32 status_code = 6;
optional string address_of_request_url = 7;
optional uint32 response_time_ms = 8;
optional uint64 bytes_received = 9;
optional uint32 num_retries = 10;
}
message CClientMetrics_ClientBootstrap_Summary {
optional uint32 launcher_type = 1;
optional uint32 steam_realm = 2;
optional string beta_name = 3;
optional bool download_completed = 4;
optional uint32 total_time_ms = 6;
repeated .CClientMetrics_ClientBootstrap_RequestInfo manifest_requests = 7;
repeated .CClientMetrics_ClientBootstrap_RequestInfo package_requests = 8;
}
message CClientMetrics_ContentDownloadResponse_Counts {
optional uint32 class_100 = 1;
optional uint32 class_200 = 2;
optional uint32 class_300 = 3;
optional uint32 class_400 = 4;
optional uint32 class_500 = 5;
optional uint32 no_response = 6;
optional uint32 class_unknown = 7;
}
message CClientMetrics_ContentDownloadResponse_HostCounts {
optional string hostname = 1;
optional uint32 source_type = 2;
optional .CClientMetrics_ContentDownloadResponse_Counts counts = 3;
}
message CClientMetrics_ContentDownloadResponse_Hosts {
repeated .CClientMetrics_ContentDownloadResponse_HostCounts hosts = 1;
}

View File

@@ -0,0 +1,62 @@
option optimize_for = SPEED;
option cc_generic_services = false;
enum EContentDeltaChunkDataLocation {
k_EContentDeltaChunkDataLocationInProtobuf = 0;
k_EContentDeltaChunkDataLocationAfterProtobuf = 1;
}
message ContentManifestPayload {
message FileMapping {
message ChunkData {
optional bytes sha = 1;
optional fixed32 crc = 2;
optional uint64 offset = 3;
optional uint32 cb_original = 4;
optional uint32 cb_compressed = 5;
}
optional string filename = 1;
optional uint64 size = 2;
optional uint32 flags = 3;
optional bytes sha_filename = 4;
optional bytes sha_content = 5;
repeated .ContentManifestPayload.FileMapping.ChunkData chunks = 6;
optional string linktarget = 7;
}
repeated .ContentManifestPayload.FileMapping mappings = 1;
}
message ContentManifestMetadata {
optional uint32 depot_id = 1;
optional uint64 gid_manifest = 2;
optional uint32 creation_time = 3;
optional bool filenames_encrypted = 4;
optional uint64 cb_disk_original = 5;
optional uint64 cb_disk_compressed = 6;
optional uint32 unique_chunks = 7;
optional uint32 crc_encrypted = 8;
optional uint32 crc_clear = 9;
}
message ContentManifestSignature {
optional bytes signature = 1;
}
message ContentDeltaChunks {
message DeltaChunk {
optional bytes sha_source = 1;
optional bytes sha_target = 2;
optional uint32 size_original = 3;
optional uint32 patch_method = 4;
optional bytes chunk = 5;
optional uint32 size_delta = 6;
}
optional uint32 depot_id = 1;
optional uint64 manifest_id_source = 2;
optional uint64 manifest_id_target = 3;
repeated .ContentDeltaChunks.DeltaChunk deltaChunks = 4;
optional .EContentDeltaChunkDataLocation chunk_data_location = 5 [default = k_EContentDeltaChunkDataLocationInProtobuf];
}

View File

@@ -0,0 +1,41 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
option (force_php_generation) = true;
enum EContentHubDiscountFilterType {
k_EContentHubDiscountFilterType_None = 0;
k_EContentHubDiscountFilterType_DiscountsOnly = 1;
k_EContentHubDiscountFilterType_PrioritizeDiscounts = 2;
}
message CStorePageFilter {
message SalePageFilter {
optional uint32 sale_tagid = 1;
}
message ContentHubFilter {
message OptInInfo {
optional string name = 1;
optional uint32 optin_tagid = 2;
optional uint32 prune_tagid = 3;
optional bool optin_only = 4;
}
optional string hub_type = 1;
optional string hub_category = 2;
optional uint32 hub_tagid = 3;
optional .EContentHubDiscountFilterType discount_filter = 4 [default = k_EContentHubDiscountFilterType_None];
optional .CStorePageFilter.ContentHubFilter.OptInInfo optin = 5;
}
message StoreFilter {
optional string filter_json = 1;
optional string cache_key = 2;
}
optional .CStorePageFilter.SalePageFilter sale_filter = 1;
optional .CStorePageFilter.ContentHubFilter content_hub_filter = 2;
repeated .CStorePageFilter.StoreFilter store_filters = 3;
}

View File

@@ -0,0 +1,10 @@
option optimize_for = SPEED;
option cc_generic_services = false;
message EncryptedAppTicket {
optional uint32 ticket_version_no = 1;
optional uint32 crc_encryptedticket = 2;
optional uint32 cb_encrypteduserdata = 3;
optional uint32 cb_encrypted_appownershipticket = 4;
optional bytes encrypted_ticket = 5;
}

577
Protobufs/steam/enums.proto Normal file
View File

@@ -0,0 +1,577 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
option (force_php_generation) = true;
enum EPublishedFileQueryType {
k_PublishedFileQueryType_RankedByVote = 0;
k_PublishedFileQueryType_RankedByPublicationDate = 1;
k_PublishedFileQueryType_AcceptedForGameRankedByAcceptanceDate = 2;
k_PublishedFileQueryType_RankedByTrend = 3;
k_PublishedFileQueryType_FavoritedByFriendsRankedByPublicationDate = 4;
k_PublishedFileQueryType_CreatedByFriendsRankedByPublicationDate = 5;
k_PublishedFileQueryType_RankedByNumTimesReported = 6;
k_PublishedFileQueryType_CreatedByFollowedUsersRankedByPublicationDate = 7;
k_PublishedFileQueryType_NotYetRated = 8;
k_PublishedFileQueryType_RankedByTotalUniqueSubscriptions = 9;
k_PublishedFileQueryType_RankedByTotalVotesAsc = 10;
k_PublishedFileQueryType_RankedByVotesUp = 11;
k_PublishedFileQueryType_RankedByTextSearch = 12;
k_PublishedFileQueryType_RankedByPlaytimeTrend = 13;
k_PublishedFileQueryType_RankedByTotalPlaytime = 14;
k_PublishedFileQueryType_RankedByAveragePlaytimeTrend = 15;
k_PublishedFileQueryType_RankedByLifetimeAveragePlaytime = 16;
k_PublishedFileQueryType_RankedByPlaytimeSessionsTrend = 17;
k_PublishedFileQueryType_RankedByLifetimePlaytimeSessions = 18;
k_PublishedFileQueryType_RankedByInappropriateContentRating = 19;
k_PublishedFileQueryType_RankedByBanContentCheck = 20;
k_PublishedFileQueryType_RankedByLastUpdatedDate = 21;
}
enum EPublishedFileInappropriateProvider {
k_EPublishedFileInappropriateProvider_Invalid = 0;
k_EPublishedFileInappropriateProvider_Google = 1;
k_EPublishedFileInappropriateProvider_Amazon = 2;
}
enum EPublishedFileInappropriateResult {
k_EPublishedFileInappropriateResult_NotScanned = 0;
k_EPublishedFileInappropriateResult_VeryUnlikely = 1;
k_EPublishedFileInappropriateResult_Unlikely = 30;
k_EPublishedFileInappropriateResult_Possible = 50;
k_EPublishedFileInappropriateResult_Likely = 75;
k_EPublishedFileInappropriateResult_VeryLikely = 100;
}
enum EPersonaStateFlag {
k_EPersonaStateFlag_HasRichPresence = 1;
k_EPersonaStateFlag_InJoinableGame = 2;
k_EPersonaStateFlag_Golden = 4;
k_EPersonaStateFlag_RemotePlayTogether = 8;
k_EPersonaStateFlag_ClientTypeWeb = 256;
k_EPersonaStateFlag_ClientTypeMobile = 512;
k_EPersonaStateFlag_ClientTypeTenfoot = 1024;
k_EPersonaStateFlag_ClientTypeVR = 2048;
k_EPersonaStateFlag_LaunchTypeGamepad = 4096;
k_EPersonaStateFlag_LaunchTypeCompatTool = 8192;
}
enum EContentCheckProvider {
k_EContentCheckProvider_Invalid = 0;
k_EContentCheckProvider_Google_DEPRECATED = 1;
k_EContentCheckProvider_Amazon = 2;
k_EContentCheckProvider_Local = 3;
k_EContentCheckProvider_GoogleVertexAI = 4;
}
enum EProfileCustomizationType {
k_EProfileCustomizationTypeInvalid = 0;
k_EProfileCustomizationTypeRareAchievementShowcase = 1;
k_EProfileCustomizationTypeGameCollector = 2;
k_EProfileCustomizationTypeItemShowcase = 3;
k_EProfileCustomizationTypeTradeShowcase = 4;
k_EProfileCustomizationTypeBadges = 5;
k_EProfileCustomizationTypeFavoriteGame = 6;
k_EProfileCustomizationTypeScreenshotShowcase = 7;
k_EProfileCustomizationTypeCustomText = 8;
k_EProfileCustomizationTypeFavoriteGroup = 9;
k_EProfileCustomizationTypeRecommendation = 10;
k_EProfileCustomizationTypeWorkshopItem = 11;
k_EProfileCustomizationTypeMyWorkshop = 12;
k_EProfileCustomizationTypeArtworkShowcase = 13;
k_EProfileCustomizationTypeVideoShowcase = 14;
k_EProfileCustomizationTypeGuides = 15;
k_EProfileCustomizationTypeMyGuides = 16;
k_EProfileCustomizationTypeAchievements = 17;
k_EProfileCustomizationTypeGreenlight = 18;
k_EProfileCustomizationTypeMyGreenlight = 19;
k_EProfileCustomizationTypeSalien = 20;
k_EProfileCustomizationTypeLoyaltyRewardReactions = 21;
k_EProfileCustomizationTypeSingleArtworkShowcase = 22;
k_EProfileCustomizationTypeAchievementsCompletionist = 23;
k_EProfileCustomizationTypeReplay = 24;
}
enum EPublishedFileStorageSystem {
k_EPublishedFileStorageSystemInvalid = 0;
k_EPublishedFileStorageSystemLegacyCloud = 1;
k_EPublishedFileStorageSystemDepot = 2;
k_EPublishedFileStorageSystemUGCCloud = 3;
}
enum ECloudStoragePersistState {
k_ECloudStoragePersistStatePersisted = 0;
k_ECloudStoragePersistStateForgotten = 1;
k_ECloudStoragePersistStateDeleted = 2;
}
enum ESDCardFormatStage {
k_ESDCardFormatStage_Invalid = 0;
k_ESDCardFormatStage_Starting = 1;
k_ESDCardFormatStage_Testing = 2;
k_ESDCardFormatStage_Rescuing = 3;
k_ESDCardFormatStage_Formatting = 4;
k_ESDCardFormatStage_Finalizing = 5;
}
enum EStorageFormatStage {
k_EStorageFormatStage_Invalid = 0;
k_EStorageFormatStage_NotRunning = 1;
k_EStorageFormatStage_Starting = 2;
k_EStorageFormatStage_Testing = 3;
k_EStorageFormatStage_Rescuing = 4;
k_EStorageFormatStage_Formatting = 5;
k_EStorageFormatStage_Finalizing = 6;
}
enum ESystemFanControlMode {
k_SystemFanControlMode_Invalid = 0;
k_SystemFanControlMode_Disabled = 1;
k_SystemFanControlMode_Default = 2;
}
enum EStartupMovieVariant {
k_EStartupMovieVariant_Invalid = 0;
k_EStartupMovieVariant_Default = 1;
k_EStartupMovieVariant_Orange = 2;
}
enum EColorGamutLabelSet {
k_ColorGamutLabelSet_Default = 0;
k_ColorGamutLabelSet_sRGB_Native = 1;
k_ColorGamutLabelSet_Native_sRGB_Boosted = 2;
}
enum EWindowStackingOrder {
k_EWindowStackingOrder_Invalid = 0;
k_EWindowStackingOrder_Top = 1;
k_EWindowStackingOrder_Bottom = 2;
}
enum EBluetoothDeviceType {
k_BluetoothDeviceType_Invalid = 0;
k_BluetoothDeviceType_Unknown = 1;
k_BluetoothDeviceType_Phone = 2;
k_BluetoothDeviceType_Computer = 3;
k_BluetoothDeviceType_Headset = 4;
k_BluetoothDeviceType_Headphones = 5;
k_BluetoothDeviceType_Speakers = 6;
k_BluetoothDeviceType_OtherAudio = 7;
k_BluetoothDeviceType_Mouse = 8;
k_BluetoothDeviceType_Joystick = 9;
k_BluetoothDeviceType_Gamepad = 10;
k_BluetoothDeviceType_Keyboard = 11;
}
enum ESystemAudioDirection {
k_SystemAudioDirection_Invalid = 0;
k_SystemAudioDirection_Input = 1;
k_SystemAudioDirection_Output = 2;
}
enum ESystemAudioChannel {
k_SystemAudioChannel_Invalid = 0;
k_SystemAudioChannel_Aggregated = 1;
k_SystemAudioChannel_FrontLeft = 2;
k_SystemAudioChannel_FrontRight = 3;
k_SystemAudioChannel_LFE = 4;
k_SystemAudioChannel_BackLeft = 5;
k_SystemAudioChannel_BackRight = 6;
k_SystemAudioChannel_FrontCenter = 7;
k_SystemAudioChannel_Unknown = 8;
k_SystemAudioChannel_Mono = 9;
}
enum ESystemAudioPortType {
k_SystemAudioPortType_Invalid = 0;
k_SystemAudioPortType_Unknown = 1;
k_SystemAudioPortType_Audio32f = 2;
k_SystemAudioPortType_Midi8b = 3;
k_SystemAudioPortType_Video32RGBA = 4;
}
enum ESystemAudioPortDirection {
k_SystemAudioPortDirection_Invalid = 0;
k_SystemAudioPortDirection_Input = 1;
k_SystemAudioPortDirection_Output = 2;
}
enum ESystemServiceState {
k_ESystemServiceState_Unavailable = 0;
k_ESystemServiceState_Disabled = 1;
k_ESystemServiceState_Enabled = 2;
}
enum EGraphicsPerfOverlayLevel {
k_EGraphicsPerfOverlayLevel_Hidden = 0;
k_EGraphicsPerfOverlayLevel_Basic = 1;
k_EGraphicsPerfOverlayLevel_Medium = 2;
k_EGraphicsPerfOverlayLevel_Full = 3;
k_EGraphicsPerfOverlayLevel_Minimal = 4;
}
enum EGPUPerformanceLevel {
k_EGPUPerformanceLevel_Invalid = 0;
k_EGPUPerformanceLevel_Auto = 1;
k_EGPUPerformanceLevel_Manual = 2;
k_EGPUPerformanceLevel_Low = 3;
k_EGPUPerformanceLevel_High = 4;
k_EGPUPerformanceLevel_Profiling = 5;
}
enum EScalingFilter {
k_EScalingFilter_Invalid = 0;
k_EScalingFilter_FSR = 1;
k_EScalingFilter_Nearest = 2;
k_EScalingFilter_Integer = 3;
k_EScalingFilter_Linear = 4;
k_EScalingFilter_NIS = 5;
}
enum ESplitScalingFilter {
k_ESplitScalingFilter_Invalid = 0;
k_ESplitScalingFilter_Linear = 1;
k_ESplitScalingFilter_Nearest = 2;
k_ESplitScalingFilter_FSR = 3;
k_ESplitScalingFilter_NIS = 4;
}
enum ESplitScalingScaler {
k_ESplitScalingScaler_Invalid = 0;
k_ESplitScalingScaler_Auto = 1;
k_ESplitScalingScaler_Integer = 2;
k_ESplitScalingScaler_Fit = 3;
k_ESplitScalingScaler_Fill = 4;
k_ESplitScalingScaler_Stretch = 5;
}
enum EGamescopeBlurMode {
k_EGamescopeBlurMode_Disabled = 0;
k_EGamescopeBlurMode_IfOccluded = 1;
k_EGamescopeBlurMode_Always = 2;
}
enum ESLSHelper {
k_ESLSHelper_Invalid = 0;
k_ESLSHelper_Minidump = 1;
k_ESLSHelper_Kdump = 2;
k_ESLSHelper_Journal = 3;
k_ESLSHelper_Gpu = 4;
k_ESLSHelper_SystemInfo = 5;
}
enum EHDRVisualization {
k_EHDRVisualization_None = 0;
k_EHDRVisualization_Heatmap = 1;
k_EHDRVisualization_Analysis = 2;
k_EHDRVisualization_HeatmapExtended = 3;
k_EHDRVisualization_HeatmapClassic = 4;
}
enum EHDRToneMapOperator {
k_EHDRToneMapOperator_Invalid = 0;
k_EHDRToneMapOperator_Uncharted = 1;
k_EHDRToneMapOperator_Reinhard = 2;
}
enum ECPUGovernor {
k_ECPUGovernor_Invalid = 0;
k_ECPUGovernor_Perf = 1;
k_ECPUGovernor_Powersave = 2;
k_ECPUGovernor_Manual = 3;
}
enum EUpdaterType {
k_EUpdaterType_Invalid = 0;
k_EUpdaterType_Client = 1;
k_EUpdaterType_OS = 2;
k_EUpdaterType_BIOS = 3;
k_EUpdaterType_Aggregated = 4;
k_EUpdaterType_Test1 = 5;
k_EUpdaterType_Test2 = 6;
k_EUpdaterType_Dummy = 7;
}
enum EUpdaterState {
k_EUpdaterState_Invalid = 0;
k_EUpdaterState_UpToDate = 2;
k_EUpdaterState_Checking = 3;
k_EUpdaterState_Available = 4;
k_EUpdaterState_Applying = 5;
k_EUpdaterState_ClientRestartPending = 6;
k_EUpdaterState_SystemRestartPending = 7;
k_EUpdaterState_RollBack = 8;
}
enum EStorageBlockContentType {
k_EStorageBlockContentType_Invalid = 0;
k_EStorageBlockContentType_Unknown = 1;
k_EStorageBlockContentType_FileSystem = 2;
k_EStorageBlockContentType_Crypto = 3;
k_EStorageBlockContentType_Raid = 4;
}
enum EStorageBlockFileSystemType {
k_EStorageBlockFileSystemType_Invalid = 0;
k_EStorageBlockFileSystemType_Unknown = 1;
k_EStorageBlockFileSystemType_VFat = 2;
k_EStorageBlockFileSystemType_Ext4 = 3;
}
enum EStorageDriveMediaType {
k_EStorageDriveMediaType_Invalid = 0;
k_EStorageDriveMediaType_Unknown = 1;
k_EStorageDriveMediaType_HDD = 2;
k_EStorageDriveMediaType_SSD = 3;
k_EStorageDriveMediaType_Removable = 4;
}
enum ESystemDisplayCompatibilityMode {
k_ESystemDisplayCompatibilityMode_Invalid = 0;
k_ESystemDisplayCompatibilityMode_None = 1;
k_ESystemDisplayCompatibilityMode_MinimalBandwith = 2;
}
enum ESteamDeckCompatibilityCategory {
k_ESteamDeckCompatibilityCategory_Unknown = 0;
k_ESteamDeckCompatibilityCategory_Unsupported = 1;
k_ESteamDeckCompatibilityCategory_Playable = 2;
k_ESteamDeckCompatibilityCategory_Verified = 3;
}
enum ESteamDeckCompatibilityResultDisplayType {
k_ESteamDeckCompatibilityResultDisplayType_Invisible = 0;
k_ESteamDeckCompatibilityResultDisplayType_Informational = 1;
k_ESteamDeckCompatibilityResultDisplayType_Unsupported = 2;
k_ESteamDeckCompatibilityResultDisplayType_Playable = 3;
k_ESteamDeckCompatibilityResultDisplayType_Verified = 4;
}
enum ESteamDeckCompatibilityTestResult {
k_ESteamDeckCompatibilityTestResult_Invalid = 0;
k_ESteamDeckCompatibilityTestResult_NotApplicable = 1;
k_ESteamDeckCompatibilityTestResult_Pass = 2;
k_ESteamDeckCompatibilityTestResult_Fail = 3;
k_ESteamDeckCompatibilityTestResult_FailMinor = 4;
}
enum EACState {
k_EACState_Unknown = 0;
k_EACState_Disconnected = 1;
k_EACState_Connected = 2;
k_EACState_ConnectedSlow = 3;
}
enum EBatteryState {
k_EBatteryState_Unknown = 0;
k_EBatteryState_Discharging = 1;
k_EBatteryState_Charging = 2;
k_EBatteryState_Full = 3;
}
enum EOSBranch {
k_EOSBranch_Unknown = 0;
k_EOSBranch_Release = 1;
k_EOSBranch_ReleaseCandidate = 2;
k_EOSBranch_Beta = 3;
k_EOSBranch_BetaCandidate = 4;
k_EOSBranch_Preview = 5;
k_EOSBranch_PreviewCandidate = 6;
k_EOSBranch_Main = 7;
k_EOSBranch_Staging = 8;
}
enum ECommunityItemClass {
k_ECommunityItemClass_Invalid = 0;
k_ECommunityItemClass_Badge = 1;
k_ECommunityItemClass_GameCard = 2;
k_ECommunityItemClass_ProfileBackground = 3;
k_ECommunityItemClass_Emoticon = 4;
k_ECommunityItemClass_BoosterPack = 5;
k_ECommunityItemClass_Consumable = 6;
k_ECommunityItemClass_GameGoo = 7;
k_ECommunityItemClass_ProfileModifier = 8;
k_ECommunityItemClass_Scene = 9;
k_ECommunityItemClass_SalienItem = 10;
k_ECommunityItemClass_Sticker = 11;
k_ECommunityItemClass_ChatEffect = 12;
k_ECommunityItemClass_MiniProfileBackground = 13;
k_ECommunityItemClass_AvatarFrame = 14;
k_ECommunityItemClass_AnimatedAvatar = 15;
k_ECommunityItemClass_SteamDeckKeyboardSkin = 16;
k_ECommunityItemClass_SteamDeckStartupMovie = 17;
}
enum ESteamDeckCompatibilityFeedback {
k_ESteamDeckCompatibilityFeedback_Unset = 0;
k_ESteamDeckCompatibilityFeedback_Agree = 1;
k_ESteamDeckCompatibilityFeedback_Disagree = 2;
k_ESteamDeckCompatibilityFeedback_Ignore = 3;
}
enum EProvideDeckFeedbackPreference {
k_EProvideDeckFeedbackPreference_Unset = 0;
k_EProvideDeckFeedbackPreference_Yes = 1;
k_EProvideDeckFeedbackPreference_No = 2;
}
enum ETouchGesture {
k_ETouchGestureNone = 0;
k_ETouchGestureTouch = 1;
k_ETouchGestureTap = 2;
k_ETouchGestureDoubleTap = 3;
k_ETouchGestureShortPress = 4;
k_ETouchGestureLongPress = 5;
k_ETouchGestureLongTap = 6;
k_ETouchGestureTwoFingerTap = 7;
k_ETouchGestureTapCancelled = 8;
k_ETouchGesturePinchBegin = 9;
k_ETouchGesturePinchUpdate = 10;
k_ETouchGesturePinchEnd = 11;
k_ETouchGestureFlingStart = 12;
k_ETouchGestureFlingCancelled = 13;
}
enum ESessionPersistence {
k_ESessionPersistence_Invalid = -1;
k_ESessionPersistence_Ephemeral = 0;
k_ESessionPersistence_Persistent = 1;
}
enum ENewSteamAnnouncementState {
k_ENewSteamAnnouncementState_Invalid = 0;
k_ENewSteamAnnouncementState_AllRead = 1;
k_ENewSteamAnnouncementState_NewAnnouncement = 2;
k_ENewSteamAnnouncementState_FeaturedAnnouncement = 3;
}
enum EForumType {
k_EForumType_Invalid = 0;
k_EForumType_General = 1;
k_EForumType_ReportedPosts = 2;
k_EForumType_Workshop = 3;
k_EForumType_PublishedFile = 4;
k_EForumType_Trading = 5;
k_EForumType_PlayTest = 6;
k_EForumType_Event = 7;
k_EForumType_Max = 8;
}
enum ECommentThreadType {
k_ECommentThreadTypeInvalid = 0;
k_ECommentThreadTypeScreenshot_Deprecated = 1;
k_ECommentThreadTypeWorkshopAccount_Developer = 2;
k_ECommentThreadTypeWorkshopAccount_Public = 3;
k_ECommentThreadTypePublishedFile_Developer = 4;
k_ECommentThreadTypePublishedFile_Public = 5;
k_ECommentThreadTypeTest = 6;
k_ECommentThreadTypeForumTopic = 7;
k_ECommentThreadTypeRecommendation = 8;
k_ECommentThreadTypeVideo_Deprecated = 9;
k_ECommentThreadTypeProfile = 10;
k_ECommentThreadTypeNewsPost = 11;
k_ECommentThreadTypeClan = 12;
k_ECommentThreadTypeClanAnnouncement = 13;
k_ECommentThreadTypeClanEvent = 14;
k_ECommentThreadTypeUserStatusPublished = 15;
k_ECommentThreadTypeUserReceivedNewGame = 16;
k_ECommentThreadTypePublishedFile_Announcement = 17;
k_ECommentThreadTypeModeratorMessage = 18;
k_ECommentThreadTypeClanCuratedApp = 19;
k_ECommentThreadTypeQAndASession = 20;
k_ECommentThreadTypeMax = 21;
}
enum EBroadcastPermission {
k_EBroadcastPermissionDisabled = 0;
k_EBroadcastPermissionFriendsApprove = 1;
k_EBroadcastPermissionFriendsAllowed = 2;
k_EBroadcastPermissionPublic = 3;
k_EBroadcastPermissionSubscribers = 4;
}
enum EBroadcastEncoderSetting {
k_EBroadcastEncoderBestQuality = 0;
k_EBroadcastEncoderBestPerformance = 1;
}
enum ECloudGamingPlatform {
k_ECloudGamingPlatformNone = 0;
k_ECloudGamingPlatformValve = 1;
k_ECloudGamingPlatformNVIDIA = 2;
}
enum ECompromiseDetectionType {
k_ECompromiseDetectionType_None = 0;
k_ECompromiseDetectionType_TradeEvent = 1;
k_ECompromiseDetectionType_ApiCallRate = 2;
k_ECompromiseDetectionType_Manual = 3;
}
enum EAsyncGameSessionUserState {
k_EAsyncGameSessionUserStateUnknown = -1;
k_EAsyncGameSessionUserStateWaitingForOthers = 0;
k_EAsyncGameSessionUserStateReadyForAction = 1;
k_EAsyncGameSessionUserStateDone = 2;
}
enum EAsyncGameSessionUserVisibility {
k_EAsyncGameSessionUserVisibilityEnvelopeAndSessionList = 0;
k_EAsyncGameSessionUserVisibilitySessionListOnly = 1;
k_EAsyncGameSessionUserVisibilityDismissed = 2;
}
enum EGameRecordingType {
k_EGameRecordingType_Unknown = 0;
k_EGameRecordingType_NotRecording = 1;
k_EGameRecordingType_ManualRecording = 2;
k_EGameRecordingType_BackgroundRecording = 3;
k_EGameRecordingType_Clip = 4;
}
enum EProtoAppType {
k_EAppTypeInvalid = 0;
k_EAppTypeGame = 1;
k_EAppTypeApplication = 2;
k_EAppTypeTool = 4;
k_EAppTypeDemo = 8;
k_EAppTypeDeprected = 16;
k_EAppTypeDLC = 32;
k_EAppTypeGuide = 64;
k_EAppTypeDriver = 128;
k_EAppTypeConfig = 256;
k_EAppTypeHardware = 512;
k_EAppTypeFranchise = 1024;
k_EAppTypeVideo = 2048;
k_EAppTypePlugin = 4096;
k_EAppTypeMusicAlbum = 8192;
k_EAppTypeSeries = 16384;
k_EAppTypeComic = 32768;
k_EAppTypeBeta = 65536;
k_EAppTypeShortcut = 1073741824;
k_EAppTypeDepotOnly = -2147483648;
}
enum EWindowsUpdateInstallationImpact {
k_EWindowsUpdateInstallationImpact_Unknown = -1;
k_EWindowsUpdateInstallationImpact_Normal = 0;
k_EWindowsUpdateInstallationImpact_Minor = 1;
k_EWindowsUpdateInstallationImpact_ExclusiveHandling = 2;
}
enum EWindowsUpdateRebootBehavior {
k_EWindowsUpdateRebootBehavior_Unknown = -1;
k_EWindowsUpdateRebootBehavior_NeverNeedsReboot = 0;
k_EWindowsUpdateRebootBehavior_AlwaysNeedsReboot = 1;
k_EWindowsUpdateRebootBehavior_MightNeedReboot = 2;
}
enum EExternalSaleEventType {
k_EExternalSaleEventType_Unknown = 0;
k_EExternalSaleEventType_Publisher = 1;
k_EExternalSaleEventType_Showcase = 2;
k_EExternalSaleEventType_Region = 3;
k_EExternalSaleEventType_Theme = 4;
k_EExternalSaleEventType_Franchise = 5;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
option (force_php_generation) = true;
enum EContentDescriptorID {
k_EContentDescriptor_NudityOrSexualContent = 1;
k_EContentDescriptor_FrequentViolenceOrGore = 2;
k_EContentDescriptor_AdultOnlySexualContent = 3;
k_EContentDescriptor_GratuitousSexualContent = 4;
k_EContentDescriptor_AnyMatureContent = 5;
k_EContentDescriptorMAX = 6;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
message Offline_Ticket {
optional bytes encrypted_ticket = 1;
optional bytes signature = 2;
optional int32 kdf1 = 3;
optional bytes salt1 = 4;
optional int32 kdf2 = 5;
optional bytes salt2 = 6;
}

View File

@@ -0,0 +1,65 @@
import "steamnetworkingsockets_messages_certs.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgSteamDatagramRelayAuthTicket {
message ExtraField {
optional string name = 1;
optional string string_value = 2;
optional sint64 int64_value = 3;
optional fixed64 fixed64_value = 5;
}
optional fixed32 time_expiry = 1;
optional string authorized_client_identity_string = 14;
optional string gameserver_identity_string = 15;
optional fixed32 authorized_public_ip = 3;
optional bytes gameserver_address = 11;
optional uint32 app_id = 7;
optional uint32 virtual_port = 10;
repeated .CMsgSteamDatagramRelayAuthTicket.ExtraField extra_fields = 8;
optional fixed64 legacy_authorized_steam_id = 2;
optional fixed64 legacy_gameserver_steam_id = 4;
optional fixed32 legacy_gameserver_pop_id = 9;
optional bytes legacy_authorized_client_identity_binary = 12;
optional bytes legacy_gameserver_identity_binary = 13;
}
message CMsgSteamDatagramSignedRelayAuthTicket {
optional fixed64 reserved_do_not_use = 1;
optional bytes ticket = 3;
optional bytes signature = 4;
optional fixed64 key_id = 2;
repeated .CMsgSteamDatagramCertificateSigned certs = 5;
}
message CMsgSteamDatagramCachedCredentialsForApp {
optional bytes private_key = 1;
optional bytes cert = 2;
repeated bytes relay_tickets = 3;
}
message CMsgSteamDatagramGameCoordinatorServerLogin {
optional uint32 time_generated = 1;
optional uint32 appid = 2;
optional bytes routing = 3;
optional bytes appdata = 4;
optional bytes legacy_identity_binary = 5;
optional string identity_string = 6;
optional fixed64 dummy_steam_id = 99;
}
message CMsgSteamDatagramSignedGameCoordinatorServerLogin {
optional .CMsgSteamDatagramCertificateSigned cert = 1;
optional bytes login = 2;
optional bytes signature = 3;
}
message CMsgSteamDatagramHostedServerAddressPlaintext {
optional fixed32 ipv4 = 1;
optional bytes ipv6 = 2;
optional uint32 port = 3;
optional fixed64 routing_secret = 4;
optional uint32 protocol_version = 5;
}

View File

@@ -0,0 +1,533 @@
import "steamnetworkingsockets_messages_certs.proto";
import "steamnetworkingsockets_messages.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum ESteamDatagramMsgID {
k_ESteamDatagramMsg_Invalid = 0;
k_ESteamDatagramMsg_RouterPingRequest = 1;
k_ESteamDatagramMsg_RouterPingReply = 2;
k_ESteamDatagramMsg_GameserverPingRequest = 3;
k_ESteamDatagramMsg_GameserverSessionRequest = 5;
k_ESteamDatagramMsg_GameserverSessionEstablished = 6;
k_ESteamDatagramMsg_NoSession = 7;
k_ESteamDatagramMsg_Diagnostic = 8;
k_ESteamDatagramMsg_DataClientToRouter = 9;
k_ESteamDatagramMsg_DataRouterToServer = 10;
k_ESteamDatagramMsg_DataServerToRouter = 11;
k_ESteamDatagramMsg_DataRouterToClient = 12;
k_ESteamDatagramMsg_Stats = 13;
k_ESteamDatagramMsg_ClientPingSampleRequest = 14;
k_ESteamDatagramMsg_ClientPingSampleReply = 15;
k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary = 16;
k_ESteamDatagramMsg_RelayHealth = 17;
k_ESteamDatagramMsg_ConnectRequest = 18;
k_ESteamDatagramMsg_ConnectOK = 19;
k_ESteamDatagramMsg_ConnectionClosed = 20;
k_ESteamDatagramMsg_NoConnection = 21;
k_ESteamDatagramMsg_TicketDecryptRequest = 22;
k_ESteamDatagramMsg_TicketDecryptReply = 23;
k_ESteamDatagramMsg_P2PSessionRequest = 24;
k_ESteamDatagramMsg_P2PSessionEstablished = 25;
k_ESteamDatagramMsg_P2PStatsClient = 26;
k_ESteamDatagramMsg_P2PStatsRelay = 27;
k_ESteamDatagramMsg_P2PBadRoute = 28;
k_ESteamDatagramMsg_GameserverPingReply = 29;
k_ESteamDatagramMsg_LegacyGameserverRegistration = 30;
k_ESteamDatagramMsg_SetSecondaryAddressRequest = 31;
k_ESteamDatagramMsg_SetSecondaryAddressResult = 32;
k_ESteamDatagramMsg_RelayToRelayPingRequest = 33;
k_ESteamDatagramMsg_RelayToRelayPingReply = 34;
}
message CMsgSteamNetworkingIPAddress {
optional fixed32 v4 = 1;
optional bytes v6 = 2;
}
message CMsgSteamDatagramSignedMessageGeneric {
optional .CMsgSteamDatagramCertificateSigned cert = 1;
optional bytes signed_data = 2;
optional bytes signature = 3;
optional bytes dummy_pad = 1023;
}
message CMsgSteamDatagramRouterPingReply {
message RouteException {
optional fixed32 data_center_id = 1;
optional uint32 flags = 2;
optional uint32 penalty = 3;
}
message AltAddress {
enum Protocol {
DefaultProtocol = 0;
}
optional fixed32 ipv4 = 1;
optional uint32 port = 2;
optional uint32 penalty = 3;
optional .CMsgSteamDatagramRouterPingReply.AltAddress.Protocol protocol = 4 [default = DefaultProtocol];
optional string id = 5;
}
enum Flags {
FLAG_MAYBE_MORE_DATA_CENTERS = 1;
FLAG_MAYBE_MORE_ALT_ADDRESSES = 2;
}
optional fixed32 client_timestamp = 1;
repeated fixed32 latency_datacenter_ids = 2 [packed = true];
repeated uint32 latency_ping_ms = 3 [packed = true];
repeated fixed32 latency_datacenter_ids_p2p = 14 [packed = true];
repeated uint32 latency_ping_ms_p2p = 15 [packed = true];
optional fixed32 your_public_ip = 4;
optional fixed32 your_public_port = 11;
optional fixed32 server_time = 5;
optional fixed64 challenge = 6;
optional uint32 seconds_until_shutdown = 7;
optional fixed32 client_cookie = 8;
optional uint32 scoring_penalty_relay_cluster = 9;
optional uint32 flags = 12;
repeated .CMsgSteamDatagramRouterPingReply.RouteException route_exceptions = 10;
repeated .CMsgSteamDatagramRouterPingReply.AltAddress alt_addresses = 13;
optional bytes dummy_pad = 99;
}
message CMsgSteamDatagramGameserverPingRequestBody {
optional fixed32 relay_popid = 1;
optional .CMsgSteamNetworkingIPAddress your_public_ip = 2;
optional uint32 your_public_port = 3;
optional uint64 relay_unix_time = 4;
optional fixed64 routing_secret = 5;
repeated .CMsgSteamNetworkingIPAddress my_ips = 6;
optional bytes echo = 8;
}
message CMsgSteamDatagramGameserverPingRequestEnvelope {
optional .CMsgSteamDatagramCertificateSigned cert = 6;
optional bytes signed_data = 7;
optional bytes signature = 8;
optional fixed32 legacy_your_public_ip = 1;
optional fixed32 legacy_your_public_port = 5;
optional fixed32 legacy_relay_unix_time = 2;
optional fixed64 legacy_challenge = 3;
optional fixed32 legacy_router_timestamp = 4;
optional bytes dummy_pad = 1023;
}
message CMsgSteamDatagramGameserverPingReplyData {
optional fixed32 echo_relay_unix_time = 2;
optional bytes echo = 8;
optional fixed64 legacy_challenge = 3;
optional fixed32 legacy_router_timestamp = 4;
optional fixed32 data_center_id = 5;
optional uint32 appid = 6;
optional uint32 protocol_version = 7;
optional string build = 9;
optional uint64 network_config_version = 10;
optional fixed32 my_unix_time = 11;
optional bytes routing_blob = 12;
}
message CMsgSteamDatagramNoSessionRelayToClient {
optional fixed32 connection_id = 7;
optional fixed32 your_public_ip = 2;
optional fixed32 your_public_port = 6;
optional fixed32 server_time = 3;
optional fixed64 challenge = 4;
optional uint32 seconds_until_shutdown = 5;
}
message CMsgSteamDatagramNoSessionRelayToPeer {
optional uint32 legacy_relay_session_id = 1;
optional fixed32 from_relay_session_id = 2;
optional fixed32 from_connection_id = 7;
optional fixed64 kludge_pad = 99;
}
message CMsgSteamDatagramClientPingSampleRequest {
optional fixed32 connection_id = 1;
}
message CMsgSteamDatagramClientPingSampleReply {
message POP {
message AltAddress {
optional string id = 1;
optional uint32 front_ping_ms = 2;
optional uint32 penalty = 3;
}
optional fixed32 pop_id = 1;
optional uint32 default_front_ping_ms = 2;
optional uint32 cluster_penalty = 4;
repeated .CMsgSteamDatagramClientPingSampleReply.POP.AltAddress alt_addresses = 7;
optional uint32 default_e2e_ping_ms = 3;
optional uint32 default_e2e_score = 5;
optional fixed32 p2p_via_peer_relay_pop_id = 6;
optional uint32 best_dc_ping_ms = 9;
optional uint32 best_dc_score = 10;
optional fixed32 best_dc_via_relay_pop_id = 11;
optional uint32 default_dc_ping_ms = 12;
optional uint32 default_dc_score = 13;
optional fixed32 default_dc_via_relay_pop_id = 14;
optional uint32 test_dc_ping_ms = 15;
optional uint32 test_dc_score = 16;
optional fixed32 test_dc_via_relay_pop_id = 17;
}
message LegacyDataCenter {
optional fixed32 data_center_id = 1;
optional fixed32 best_dc_via_relay_pop_id = 2;
optional uint32 best_dc_ping_ms = 3;
}
optional fixed32 connection_id = 1;
optional bool relay_override_active = 5;
repeated .CMsgSteamDatagramClientPingSampleReply.POP pops = 2;
repeated .CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter legacy_data_centers = 3;
}
message CMsgSteamDatagramClientSwitchedPrimary {
message RouterQuality {
optional uint32 score = 1;
optional uint32 front_ping = 2;
optional uint32 back_ping = 3;
optional uint32 seconds_until_down = 4;
}
optional fixed32 connection_id = 1;
optional fixed32 from_ip = 2;
optional uint32 from_port = 3;
optional fixed32 from_router_cluster = 4;
optional uint32 from_active_time = 5;
optional uint32 from_active_packets_recv = 6;
optional string from_dropped_reason = 7;
optional uint32 gap_ms = 8;
optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_now = 9;
optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_now = 10;
optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_then = 11;
optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_then = 12;
}
message CMsgSteamDatagramConnectRequest {
optional fixed32 connection_id = 1;
optional fixed64 my_timestamp = 4;
optional uint32 ping_est_ms = 5;
optional uint32 virtual_port = 9;
optional uint32 gameserver_relay_session_id = 2;
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
optional .CMsgSteamDatagramCertificateSigned cert = 7;
optional fixed64 routing_secret = 10;
optional fixed64 legacy_client_steam_id = 3;
}
message CMsgSteamDatagramConnectOK {
optional fixed32 client_connection_id = 1;
optional fixed32 server_connection_id = 7;
optional fixed64 your_timestamp = 3;
optional uint32 delay_time_usec = 4;
optional uint32 gameserver_relay_session_id = 2;
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
optional .CMsgSteamDatagramCertificateSigned cert = 6;
}
message CMsgSteamNetworkingP2PSDRRoutingSummary {
optional uint32 initial_ping = 1;
optional uint32 initial_ping_front_local = 2;
optional uint32 initial_ping_front_remote = 3;
optional uint32 initial_score = 4;
optional fixed32 initial_pop_local = 5;
optional fixed32 initial_pop_remote = 6;
optional uint32 best_ping = 11;
optional uint32 best_ping_front_local = 12;
optional uint32 best_ping_front_remote = 13;
optional uint32 best_score = 14;
optional fixed32 best_pop_local = 15;
optional fixed32 best_pop_remote = 16;
optional uint32 best_time = 17;
optional uint32 negotiation_ms = 7;
optional uint32 selected_seconds = 8;
}
message CMsgSteamDatagramP2PRoutingSummary {
optional .CMsgSteamNetworkingICESessionSummary ice = 2;
optional .CMsgSteamNetworkingP2PSDRRoutingSummary sdr = 3;
}
message CMsgSteamDatagramConnectionClosed {
enum ERelayMode {
None = 0;
EndToEnd = 1;
ClosedByPeer = 2;
}
optional fixed32 to_connection_id = 7;
optional fixed32 from_connection_id = 8;
optional string from_identity_string = 15;
optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_from_identity_binary = 13;
optional fixed64 legacy_from_steam_id = 3;
optional uint32 legacy_gameserver_relay_session_id = 2;
optional fixed32 to_relay_session_id = 9;
optional fixed32 from_relay_session_id = 10;
optional bytes forward_target_relay_routing_token = 11;
optional uint32 forward_target_revision = 12;
optional .CMsgSteamDatagramConnectionClosed.ERelayMode relay_mode = 4 [default = None];
optional string debug = 5;
optional uint32 reason_code = 6;
optional fixed64 routing_secret = 14;
optional bool not_primary_session = 16;
optional bool not_primary_transport = 19;
optional bool relay_override_active = 22;
optional .CMsgSteamDatagramConnectionQuality quality_relay = 17;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 18;
optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 21;
}
message CMsgSteamDatagramNoConnection {
optional fixed32 to_connection_id = 5;
optional fixed32 from_connection_id = 6;
optional uint32 legacy_gameserver_relay_session_id = 2;
optional fixed32 to_relay_session_id = 9;
optional fixed32 from_relay_session_id = 10;
optional string from_identity_string = 7;
optional fixed64 legacy_from_steam_id = 3;
optional bool end_to_end = 4;
optional bool not_primary_session = 12;
optional bool not_primary_transport = 15;
optional bool relay_override_active = 17;
optional .CMsgSteamDatagramConnectionQuality quality_relay = 13;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 14;
optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 16;
optional fixed64 routing_secret = 11;
optional fixed32 dummy_pad = 1023;
}
message CMsgSteamDatagramGameserverSessionRequest {
optional bytes ticket = 1;
optional fixed32 challenge_time = 3;
optional fixed64 challenge = 4;
optional fixed32 client_connection_id = 5;
optional fixed32 server_connection_id = 8;
optional uint64 network_config_version = 6;
optional uint32 protocol_version = 7;
optional string platform = 9;
optional string build = 10;
optional string dev_gameserver_identity = 100;
optional .CMsgSteamDatagramCertificateSigned dev_client_cert = 101;
}
message CMsgSteamDatagramGameserverSessionEstablished {
optional fixed32 connection_id = 1;
optional string gameserver_identity_string = 2;
optional uint32 seconds_until_shutdown = 4;
optional uint32 seq_num_r2c = 6;
optional bytes dummy_legacy_identity_binary = 7;
optional fixed64 legacy_gameserver_steamid = 3;
}
message CMsgSteamDatagramConnectionStatsClientToRouter {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
NOT_PRIMARY_SESSION = 8;
CLIENT_RELAY_OVERRIDE = 32;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
repeated fixed32 ack_relay = 4;
repeated fixed32 legacy_ack_e2e = 5;
optional uint32 flags = 6;
optional fixed32 client_connection_id = 8;
optional uint32 seq_num_c2r = 9;
optional uint32 seq_num_e2e = 10;
}
message CMsgSteamDatagramConnectionStatsRouterToClient {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
optional uint32 seconds_until_shutdown = 6;
optional fixed32 migrate_request_ip = 10;
optional uint32 migrate_request_port = 11;
optional uint32 scoring_penalty_relay_cluster = 12;
repeated fixed32 ack_relay = 13;
repeated fixed32 legacy_ack_e2e = 14;
optional uint32 flags = 15;
optional fixed32 client_connection_id = 7;
optional uint32 seq_num_r2c = 8;
optional uint32 seq_num_e2e = 9;
}
message CMsgSteamDatagramConnectionStatsRouterToServer {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
repeated fixed32 ack_relay = 10;
repeated fixed32 legacy_ack_e2e = 11;
optional uint32 flags = 12;
optional uint32 seq_num_r2s = 5;
optional uint32 seq_num_e2e = 6;
optional string client_identity_string = 15;
optional fixed64 legacy_client_steam_id = 7;
optional uint32 relay_session_id = 8;
optional fixed32 client_connection_id = 9;
optional fixed32 server_connection_id = 13;
optional fixed64 routing_secret = 14;
}
message CMsgSteamDatagramConnectionStatsServerToRouter {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
repeated fixed32 ack_relay = 8;
repeated fixed32 legacy_ack_e2e = 9;
optional uint32 flags = 10;
optional uint32 seq_num_s2r = 3;
optional uint32 seq_num_e2e = 4;
optional uint32 relay_session_id = 6;
optional fixed32 client_connection_id = 7;
optional fixed32 server_connection_id = 11;
}
message CMsgSteamDatagramP2PSessionRequestBody {
message EncryptedData {
optional string peer_identity_string = 1;
}
optional fixed32 challenge_time = 1;
optional fixed64 challenge = 2;
optional fixed32 client_connection_id = 3;
optional fixed64 legacy_peer_steam_id = 4;
optional string peer_identity_string = 11;
optional fixed32 peer_connection_id = 5;
optional bytes encrypted_data = 14;
optional uint32 encryption_your_public_key_lead_byte = 15;
optional bytes encryption_my_ephemeral_public_key = 16;
optional uint32 protocol_version = 8;
optional uint64 network_config_version = 9;
optional string platform = 12;
optional string build = 13;
}
message CMsgSteamDatagramP2PSessionRequest {
optional .CMsgSteamDatagramCertificateSigned cert = 1;
optional bytes body = 2;
optional bytes signature = 3;
}
message CMsgSteamDatagramP2PSessionEstablished {
optional fixed32 connection_id = 1;
optional uint32 seconds_until_shutdown = 3;
optional bytes relay_routing_token = 4;
optional uint32 seq_num_r2c = 5;
}
message CMsgSteamDatagramConnectionStatsP2PClientToRouter {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
NOT_PRIMARY_SESSION = 8;
NOT_PRIMARY_TRANSPORT_E2E = 16;
CLIENT_RELAY_OVERRIDE = 32;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 14;
repeated fixed32 ack_relay = 3;
repeated fixed32 legacy_ack_e2e = 4;
optional uint32 flags = 5;
optional bytes forward_target_relay_routing_token = 6;
optional uint32 forward_target_revision = 7;
optional bytes routes = 8;
optional uint32 ack_peer_routes_revision = 9;
optional fixed32 connection_id = 10;
optional uint32 seq_num_c2r = 11;
optional uint32 seq_num_e2e = 12;
}
message CMsgSteamDatagramConnectionStatsP2PRouterToClient {
enum Flags {
ACK_REQUEST_RELAY = 1;
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
NOT_PRIMARY_TRANSPORT_E2E = 16;
}
optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
optional uint32 seconds_until_shutdown = 3;
optional fixed32 migrate_request_ip = 4;
optional uint32 migrate_request_port = 5;
optional uint32 scoring_penalty_relay_cluster = 6;
repeated fixed32 ack_relay = 7;
repeated fixed32 legacy_ack_e2e = 8;
optional uint32 flags = 9;
optional uint32 ack_forward_target_revision = 10;
optional bytes routes = 11;
optional uint32 ack_peer_routes_revision = 12;
optional fixed32 connection_id = 13;
optional uint32 seq_num_r2c = 14;
optional uint32 seq_num_e2e = 15;
}
message CMsgSteamDatagramP2PBadRouteRouterToClient {
optional fixed32 connection_id = 1;
optional bytes failed_relay_routing_token = 2;
optional uint32 ack_forward_target_revision = 3;
optional fixed64 kludge_pad = 99;
}
message CMsgSteamDatagramP2PRoutes {
message RelayCluster {
optional fixed32 pop_id = 1;
optional uint32 ping_ms = 2;
optional uint32 score_penalty = 3;
optional bytes session_relay_routing_token = 4;
}
message Route {
optional fixed32 my_pop_id = 1;
optional fixed32 your_pop_id = 2;
optional uint32 legacy_score = 3;
optional uint32 interior_score = 4;
}
repeated .CMsgSteamDatagramP2PRoutes.RelayCluster relay_clusters = 1;
repeated .CMsgSteamDatagramP2PRoutes.Route routes = 2;
optional uint32 revision = 3;
}
message CMsgSteamDatagramSetSecondaryAddressRequest {
optional fixed32 client_main_ip = 1;
optional fixed32 client_main_port = 2;
optional fixed32 client_connection_id = 3;
optional string client_identity = 4;
optional bool request_send_duplication = 5;
optional bytes kludge_pad = 99;
}
message CMsgSteamDatagramSetSecondaryAddressResult {
optional bool success = 1;
optional string message = 2;
}

View File

@@ -0,0 +1,170 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
enum EValveIndexComponent {
k_EValveIndexComponentUnknown = 0;
k_EValveIndexComponentHMD = 1;
k_EValveIndexComponentLeftKnuckle = 2;
k_EValveIndexComponentRightKnuckle = 3;
k_ETempDTst1 = 4;
k_ETempDTst2 = 5;
k_ETempDTst3 = 6;
}
message CAccountHardware_RegisterSteamController_Request {
optional string serial_number = 1;
optional string controller_code = 2;
}
message CAccountHardware_RegisterSteamController_Response {
}
message CAccountHardware_CompleteSteamControllerRegistration_Request {
optional string serial_number = 1;
optional string controller_code = 2;
}
message CAccountHardware_CompleteSteamControllerRegistration_Response {
}
message CAccountHardware_QueryAccountsRegisteredToSerial_Request {
optional string serial_number = 1;
optional string controller_code = 2;
}
message CAccountHardware_QueryAccountsRegisteredToSerial_Accounts {
optional uint32 accountid = 1;
optional bool registration_complete = 2;
}
message CAccountHardware_QueryAccountsRegisteredToSerial_Response {
repeated .CAccountHardware_QueryAccountsRegisteredToSerial_Accounts accounts = 1;
}
message CAccountHardware_SteamControllerSetConfig_ControllerConfig {
optional string appidorname = 1;
optional uint64 publishedfileid = 2;
optional string templatename = 3;
}
message CAccountHardware_SteamControllerSetConfig_Request {
optional string serial_number = 1;
optional string controller_code = 2;
optional uint32 accountid = 3;
repeated .CAccountHardware_SteamControllerSetConfig_ControllerConfig configurations = 4;
optional int32 controller_type = 5 [default = 2];
optional bool only_for_this_serial = 6 [default = false];
}
message CAccountHardware_SteamControllerSetConfig_Response {
}
message CAccountHardware_SteamControllerGetConfig_Request {
optional string serial_number = 1;
optional string controller_code = 2;
optional uint32 accountid = 3;
optional string appidorname = 4;
optional int32 controller_type = 5 [default = 2];
optional bool only_for_this_serial = 6 [default = false];
}
message CAccountHardware_SteamControllerGetConfig_ControllerConfig {
optional string appidorname = 1;
optional uint64 publishedfileid = 2;
optional string templatename = 3;
optional string serial_number = 4;
optional bool autosave = 5 [default = false];
}
message CAccountHardware_SteamControllerGetConfig_Response {
repeated .CAccountHardware_SteamControllerGetConfig_ControllerConfig configurations = 1;
}
message CAccountHardware_DeRegisterSteamController_Request {
optional string serial_number = 1;
optional string controller_code = 2;
optional uint32 accountid = 3;
}
message CAccountHardware_DeRegisterSteamController_Response {
}
message CAccountHardware_SetPersonalizationFile_Request {
optional string serial_number = 1;
optional uint64 publishedfileid = 2;
optional uint32 accountid = 3;
}
message CAccountHardware_SetPersonalizationFile_Response {
}
message CAccountHardware_GetPersonalizationFile_Request {
optional string serial_number = 1;
optional uint32 accountid = 2;
}
message CAccountHardware_GetPersonalizationFile_Response {
optional uint64 publishedfileid = 1;
}
message CAccountHardware_VRCompatibilityCheck_Request {
message Pair {
optional string key = 1;
optional string value = 2;
}
optional string product_name = 1;
repeated .CAccountHardware_VRCompatibilityCheck_Request.Pair values = 2;
}
message CAccountHardware_VRCompatibilityCheck_Response {
message Pair {
optional string key = 1;
optional string value = 2;
}
message ComponentDisplay {
optional string name = 1;
optional string image = 2;
optional string value = 3;
}
repeated .CAccountHardware_VRCompatibilityCheck_Response.Pair values = 1;
repeated .CAccountHardware_VRCompatibilityCheck_Response.ComponentDisplay components = 2;
}
message CAccountHardware_RegisterValveIndexComponent_Request {
optional string serial_number = 1;
optional string manufacturer_serial_number = 2;
optional string component_code = 3;
optional .EValveIndexComponent component_type = 4 [default = k_EValveIndexComponentUnknown];
optional int32 estimated_time_registered = 5;
}
message CAccountHardware_RegisterValveIndexComponent_Response {
}
message CAccountHardware_GetSteamDeckComponents_Request {
optional string serial_number = 1;
optional string controller_code = 2;
}
message CAccountHardware_GetSteamDeckComponents_Response {
optional string json_components = 1;
}
service AccountHardware {
rpc RegisterSteamController (.CAccountHardware_RegisterSteamController_Request) returns (.CAccountHardware_RegisterSteamController_Response);
rpc CompleteSteamControllerRegistration (.CAccountHardware_CompleteSteamControllerRegistration_Request) returns (.CAccountHardware_CompleteSteamControllerRegistration_Response);
rpc QueryAccountsRegisteredToController (.CAccountHardware_QueryAccountsRegisteredToSerial_Request) returns (.CAccountHardware_QueryAccountsRegisteredToSerial_Response);
rpc SetDesiredControllerConfigForApp (.CAccountHardware_SteamControllerSetConfig_Request) returns (.CAccountHardware_SteamControllerSetConfig_Response);
rpc GetDesiredControllerConfigForApp (.CAccountHardware_SteamControllerGetConfig_Request) returns (.CAccountHardware_SteamControllerGetConfig_Response);
rpc DeRegisterSteamController (.CAccountHardware_DeRegisterSteamController_Request) returns (.CAccountHardware_DeRegisterSteamController_Response);
rpc SetControllerPersonalizationFile (.CAccountHardware_SetPersonalizationFile_Request) returns (.CAccountHardware_SetPersonalizationFile_Response);
rpc GetControllerPersonalizationFile (.CAccountHardware_GetPersonalizationFile_Request) returns (.CAccountHardware_GetPersonalizationFile_Response);
rpc VRCompatibilityCheck (.CAccountHardware_VRCompatibilityCheck_Request) returns (.CAccountHardware_VRCompatibilityCheck_Response);
rpc RegisterValveIndexComponent (.CAccountHardware_RegisterValveIndexComponent_Request) returns (.CAccountHardware_RegisterValveIndexComponent_Response);
rpc GetSteamDeckComponents (.CAccountHardware_GetSteamDeckComponents_Request) returns (.CAccountHardware_GetSteamDeckComponents_Response);
}

View File

@@ -0,0 +1,165 @@
import "enums.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
enum EDisplayStatus {
k_EDisplayStatusInvalid = 0;
k_EDisplayStatusLaunching = 1;
k_EDisplayStatusUninstalling = 2;
k_EDisplayStatusInstalling = 3;
k_EDisplayStatusRunning = 4;
k_EDisplayStatusValidating = 5;
k_EDisplayStatusUpdating = 6;
k_EDisplayStatusDownloading = 7;
k_EDisplayStatusSynchronizing = 8;
k_EDisplayStatusReadyToInstall = 9;
k_EDisplayStatusReadyToPreload = 10;
k_EDisplayStatusReadyToLaunch = 11;
k_EDisplayStatusRegionRestricted = 12;
k_EDisplayStatusPresaleOnly = 13;
k_EDisplayStatusInvalidPlatform = 14;
k_EDisplayStatusPreloadComplete = 16;
k_EDisplayStatusBorrowerLocked = 17;
k_EDisplayStatusUpdatePaused = 18;
k_EDisplayStatusUpdateQueued = 19;
k_EDisplayStatusUpdateRequired = 20;
k_EDisplayStatusUpdateDisabled = 21;
k_EDisplayStatusDownloadPaused = 22;
k_EDisplayStatusDownloadQueued = 23;
k_EDisplayStatusDownloadRequired = 24;
k_EDisplayStatusDownloadDisabled = 25;
k_EDisplayStatusLicensePending = 26;
k_EDisplayStatusLicenseExpired = 27;
k_EDisplayStatusAvailForFree = 28;
k_EDisplayStatusAvailToBorrow = 29;
k_EDisplayStatusAvailGuestPass = 30;
k_EDisplayStatusPurchase = 31;
k_EDisplayStatusUnavailable = 32;
k_EDisplayStatusNotLaunchable = 33;
k_EDisplayStatusCloudError = 34;
k_EDisplayStatusCloudOutOfDate = 35;
k_EDisplayStatusTerminating = 36;
k_EDisplayStatusOwnerLocked = 37;
k_EDisplayStatusDownloadFailed = 38;
k_EDisplayStatusUpdateFailed = 39;
}
enum EAppCloudStatus {
k_EAppCloudStatusInvalid = 0;
k_EAppCloudStatusDisabled = 1;
k_EAppCloudStatusUnknown = 2;
k_EAppCloudStatusSynchronized = 3;
k_EAppCloudStatusChecking = 4;
k_EAppCloudStatusOutOfSync = 5;
k_EAppCloudStatusUploading = 6;
k_EAppCloudStatusDownloading = 7;
k_EAppCloudStatusSyncFailed = 8;
k_EAppCloudStatusConflict = 9;
k_EAppCloudStatusPendingElsewhere = 10;
}
enum EAppControllerSupportLevel {
k_EAppControllerSupportLevelNone = 0;
k_EAppControllerSupportLevelPartial = 1;
k_EAppControllerSupportLevelFull = 2;
}
enum EAppGamepadGyroTrackpadSupportLevel {
k_EAppGamepadGyroTrackpadSupportLevelUnknown = -1;
k_EAppGamepadGyroTrackpadSupportLevelNoGamepad = 0;
k_EAppGamepadGyroTrackpadSupportLevelGamepad = 1;
k_EAppGamepadGyroTrackpadSupportLevelSimultaneous = 2;
}
enum EAppHDRSupport {
k_EHDRSupport_Unknown = 0;
k_EHDRSupport_SDR = 1;
k_EHDRSupport_HDR = 2;
k_EHDRSupport_HDR_Broken = 3;
k_EHDRSupport_HDR_RequiresUserAction = 4;
}
message CAppOverview_PerClientData {
optional uint64 clientid = 1 [default = 0];
optional string client_name = 2;
optional .EDisplayStatus display_status = 3 [default = k_EDisplayStatusInvalid];
optional uint32 status_percentage = 4 [default = 0];
optional string active_beta = 5;
optional bool installed = 6;
optional uint64 bytes_downloaded = 7 [default = 0];
optional uint64 bytes_total = 8 [default = 0];
optional bool streaming_to_local_client = 9;
optional bool is_available_on_current_platform = 10;
optional bool is_invalid_os_type = 11;
optional uint32 playtime_left = 12;
optional bool update_available_but_disabled_by_app = 14;
}
message CAppOverview {
optional uint32 appid = 1;
optional string display_name = 2;
optional bool visible_in_game_list = 4;
optional bool subscribed_to = 5;
optional string sort_as = 6;
optional .EProtoAppType app_type = 7 [default = k_EAppTypeInvalid];
optional uint32 mru_index = 13;
optional uint32 rt_recent_activity_time = 14 [default = 0];
optional uint32 minutes_playtime_forever = 16 [default = 0];
optional uint32 minutes_playtime_last_two_weeks = 17 [default = 0];
optional uint32 rt_last_time_played = 18 [default = 0];
repeated uint32 store_tag = 19;
repeated uint32 store_category = 23;
optional uint32 rt_original_release_date = 25 [default = 0];
optional uint32 rt_steam_release_date = 26 [default = 0];
optional string icon_hash = 27;
optional .EAppControllerSupportLevel xbox_controller_support = 31 [default = k_EAppControllerSupportLevelNone];
optional bool vr_supported = 32;
optional uint32 metacritic_score = 36;
optional uint64 size_on_disk = 37;
optional bool third_party_mod = 38;
optional string icon_data = 39;
optional string icon_data_format = 40;
optional string gameid = 41;
optional string library_capsule_filename = 42;
repeated .CAppOverview_PerClientData per_client_data = 43;
optional uint64 most_available_clientid = 44 [default = 0];
optional uint64 selected_clientid = 45 [default = 0];
optional uint32 rt_store_asset_mtime = 46;
optional uint32 rt_custom_image_mtime = 47;
optional uint32 optional_parent_app_id = 48;
optional uint32 owner_account_id = 49;
optional uint32 review_score_with_bombs = 53 [default = 0];
optional uint32 review_percentage_with_bombs = 54 [default = 0];
optional uint32 review_score_without_bombs = 55 [default = 0];
optional uint32 review_percentage_without_bombs = 56 [default = 0];
optional string library_id = 57;
optional bool vr_only = 58;
optional uint32 mastersub_appid = 59;
optional string mastersub_includedwith_logo = 60;
optional string site_license_site_name = 62;
optional uint32 shortcut_override_appid = 63;
optional uint32 rt_last_time_locally_played = 65;
optional uint32 rt_purchased_time = 66;
optional string header_filename = 67;
optional uint32 local_cache_version = 68;
optional uint32 number_of_copies = 72 [default = 1];
optional uint32 steam_hw_compat_category_packed = 73 [default = 0];
}
message CAppOverview_Change {
repeated .CAppOverview app_overview = 1;
repeated uint32 removed_appid = 2;
optional bool full_update = 3;
optional bool update_complete = 4;
}
message CAppBootstrapData {
optional uint32 appid = 1;
optional bool hidden = 2;
repeated string user_tag = 3;
}
message CLibraryBootstrapData {
repeated .CAppBootstrapData app_data = 1;
}

View File

@@ -0,0 +1,384 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "enums.proto";
option cc_generic_services = true;
enum EAuthTokenPlatformType {
k_EAuthTokenPlatformType_Unknown = 0;
k_EAuthTokenPlatformType_SteamClient = 1;
k_EAuthTokenPlatformType_WebBrowser = 2;
k_EAuthTokenPlatformType_MobileApp = 3;
}
enum EAuthSessionGuardType {
k_EAuthSessionGuardType_Unknown = 0;
k_EAuthSessionGuardType_None = 1;
k_EAuthSessionGuardType_EmailCode = 2;
k_EAuthSessionGuardType_DeviceCode = 3;
k_EAuthSessionGuardType_DeviceConfirmation = 4;
k_EAuthSessionGuardType_EmailConfirmation = 5;
k_EAuthSessionGuardType_MachineToken = 6;
k_EAuthSessionGuardType_LegacyMachineAuth = 7;
}
enum EAuthSessionSecurityHistory {
k_EAuthSessionSecurityHistory_Invalid = 0;
k_EAuthSessionSecurityHistory_UsedPreviously = 1;
k_EAuthSessionSecurityHistory_NoPriorHistory = 2;
}
enum ETokenRenewalType {
k_ETokenRenewalType_None = 0;
k_ETokenRenewalType_Allow = 1;
}
enum EAuthenticationType {
k_EAuthenticationType_Unknown = 0;
k_EAuthenticationType_Password = 1;
k_EAuthenticationType_QR = 2;
k_EAuthenticationType_AccountCreation = 3;
k_EAuthenticationType_GuestAccount = 4;
}
enum EAuthTokenRevokeAction {
k_EAuthTokenRevokeLogout = 0;
k_EAuthTokenRevokePermanent = 1;
k_EAuthTokenRevokeReplaced = 2;
k_EAuthTokenRevokeSupport = 3;
k_EAuthTokenRevokeConsume = 4;
k_EAuthTokenRevokeNonRememberedLogout = 5;
k_EAuthTokenRevokeNonRememberedPermanent = 6;
k_EAuthTokenRevokeAutomatic = 7;
}
enum EAuthTokenState {
k_EAuthTokenState_Invalid = 0;
k_EAuthTokenState_New = 1;
k_EAuthTokenState_Confirmed = 2;
k_EAuthTokenState_Issued = 3;
k_EAuthTokenState_Denied = 4;
k_EAuthTokenState_LoggedOut = 5;
k_EAuthTokenState_Consumed = 6;
k_EAuthTokenState_Revoked = 99;
}
message CAuthentication_GetPasswordRSAPublicKey_Request {
optional string account_name = 1;
}
message CAuthentication_GetPasswordRSAPublicKey_Response {
optional string publickey_mod = 1;
optional string publickey_exp = 2;
optional uint64 timestamp = 3;
}
message CAuthentication_DeviceDetails {
optional string device_friendly_name = 1;
optional .EAuthTokenPlatformType platform_type = 2 [default = k_EAuthTokenPlatformType_Unknown];
optional int32 os_type = 3;
optional uint32 gaming_device_type = 4;
optional uint32 client_count = 5;
optional bytes machine_id = 6;
}
message CAuthentication_BeginAuthSessionViaQR_Request {
optional string device_friendly_name = 1;
optional .EAuthTokenPlatformType platform_type = 2 [default = k_EAuthTokenPlatformType_Unknown];
optional .CAuthentication_DeviceDetails device_details = 3;
optional string website_id = 4 [default = "Unknown"];
}
message CAuthentication_AllowedConfirmation {
optional .EAuthSessionGuardType confirmation_type = 1 [default = k_EAuthSessionGuardType_Unknown];
optional string associated_message = 2;
}
message CAuthentication_BeginAuthSessionViaQR_Response {
optional uint64 client_id = 1;
optional string challenge_url = 2;
optional bytes request_id = 3;
optional float interval = 4;
repeated .CAuthentication_AllowedConfirmation allowed_confirmations = 5;
optional int32 version = 6;
}
message CAuthentication_BeginAuthSessionViaCredentials_Request {
optional string device_friendly_name = 1;
optional string account_name = 2;
optional string encrypted_password = 3;
optional uint64 encryption_timestamp = 4;
optional bool remember_login = 5;
optional .EAuthTokenPlatformType platform_type = 6 [default = k_EAuthTokenPlatformType_Unknown];
optional .ESessionPersistence persistence = 7 [default = k_ESessionPersistence_Persistent];
optional string website_id = 8 [default = "Unknown"];
optional .CAuthentication_DeviceDetails device_details = 9;
optional string guard_data = 10;
optional uint32 language = 11;
optional int32 qos_level = 12 [default = 2];
}
message CAuthentication_BeginAuthSessionViaCredentials_Response {
optional uint64 client_id = 1;
optional bytes request_id = 2;
optional float interval = 3;
repeated .CAuthentication_AllowedConfirmation allowed_confirmations = 4;
optional uint64 steamid = 5;
optional string weak_token = 6;
optional string agreement_session_url = 7;
optional string extended_error_message = 8;
}
message CAuthentication_PollAuthSessionStatus_Request {
optional uint64 client_id = 1;
optional bytes request_id = 2;
optional fixed64 token_to_revoke = 3;
}
message CAuthentication_PollAuthSessionStatus_Response {
optional uint64 new_client_id = 1;
optional string new_challenge_url = 2;
optional string refresh_token = 3;
optional string access_token = 4;
optional bool had_remote_interaction = 5;
optional string account_name = 6;
optional string new_guard_data = 7;
optional string agreement_session_url = 8;
}
message CAuthentication_GetAuthSessionInfo_Request {
optional uint64 client_id = 1;
}
message CAuthentication_GetAuthSessionInfo_Response {
optional string ip = 1;
optional string geoloc = 2;
optional string city = 3;
optional string state = 4;
optional string country = 5;
optional .EAuthTokenPlatformType platform_type = 6 [default = k_EAuthTokenPlatformType_Unknown];
optional string device_friendly_name = 7;
optional int32 version = 8;
optional .EAuthSessionSecurityHistory login_history = 9 [default = k_EAuthSessionSecurityHistory_Invalid];
optional bool requestor_location_mismatch = 10;
optional bool high_usage_login = 11;
optional .ESessionPersistence requested_persistence = 12 [default = k_ESessionPersistence_Invalid];
}
message CAuthentication_UpdateAuthSessionWithMobileConfirmation_Request {
optional int32 version = 1;
optional uint64 client_id = 2;
optional fixed64 steamid = 3;
optional bytes signature = 4;
optional bool confirm = 5 [default = false];
optional .ESessionPersistence persistence = 6 [default = k_ESessionPersistence_Persistent];
}
message CAuthentication_UpdateAuthSessionWithMobileConfirmation_Response {
}
message CAuthentication_UpdateAuthSessionWithSteamGuardCode_Request {
optional uint64 client_id = 1;
optional fixed64 steamid = 2;
optional string code = 3;
optional .EAuthSessionGuardType code_type = 4 [default = k_EAuthSessionGuardType_Unknown];
}
message CAuthentication_UpdateAuthSessionWithSteamGuardCode_Response {
optional string agreement_session_url = 7;
}
message CAuthentication_AccessToken_GenerateForApp_Request {
optional string refresh_token = 1;
optional fixed64 steamid = 2;
optional .ETokenRenewalType renewal_type = 3 [default = k_ETokenRenewalType_None];
}
message CAuthentication_AccessToken_GenerateForApp_Response {
optional string access_token = 1;
optional string refresh_token = 2;
}
message CAuthentication_RefreshToken_Enumerate_Request {
}
message CAuthentication_RefreshToken_Enumerate_Response {
message TokenUsageEvent {
optional uint32 time = 1;
optional .CMsgIPAddress ip = 2;
optional string locale = 3;
optional string country = 4;
optional string state = 5;
optional string city = 6;
}
message RefreshTokenDescription {
optional fixed64 token_id = 1;
optional string token_description = 2;
optional uint32 time_updated = 3;
optional .EAuthTokenPlatformType platform_type = 4 [default = k_EAuthTokenPlatformType_Unknown];
optional bool logged_in = 5;
optional uint32 os_platform = 6;
optional uint32 auth_type = 7;
optional uint32 gaming_device_type = 8;
optional .CAuthentication_RefreshToken_Enumerate_Response.TokenUsageEvent first_seen = 9;
optional .CAuthentication_RefreshToken_Enumerate_Response.TokenUsageEvent last_seen = 10;
optional int32 os_type = 11;
optional .EAuthenticationType authentication_type = 12 [default = k_EAuthenticationType_Unknown];
}
repeated .CAuthentication_RefreshToken_Enumerate_Response.RefreshTokenDescription refresh_tokens = 1;
optional fixed64 requesting_token = 2;
}
message CAuthentication_GetAuthSessionsForAccount_Request {
}
message CAuthentication_GetAuthSessionsForAccount_Response {
repeated uint64 client_ids = 1;
}
message CAuthentication_MigrateMobileSession_Request {
optional fixed64 steamid = 1;
optional string token = 2;
optional string signature = 3;
}
message CAuthentication_MigrateMobileSession_Response {
optional string refresh_token = 1;
optional string access_token = 2;
}
message CAuthentication_Token_Revoke_Request {
optional string token = 1;
optional .EAuthTokenRevokeAction revoke_action = 2 [default = k_EAuthTokenRevokePermanent];
}
message CAuthentication_Token_Revoke_Response {
}
message CAuthentication_RefreshToken_Revoke_Request {
optional fixed64 token_id = 1;
optional fixed64 steamid = 2;
optional .EAuthTokenRevokeAction revoke_action = 3 [default = k_EAuthTokenRevokePermanent];
optional bytes signature = 4;
}
message CAuthentication_RefreshToken_Revoke_Response {
}
message CAuthenticationSupport_QueryRefreshTokensByAccount_Request {
optional fixed64 steamid = 1;
optional bool include_revoked_tokens = 2;
}
message CSupportRefreshTokenDescription {
message TokenUsageEvent {
optional uint32 time = 1;
optional .CMsgIPAddress ip = 2;
optional string country = 3;
optional string state = 4;
optional string city = 5;
}
optional fixed64 token_id = 1;
optional string token_description = 2;
optional uint32 time_updated = 3;
optional .EAuthTokenPlatformType platform_type = 4 [default = k_EAuthTokenPlatformType_Unknown];
optional .EAuthTokenState token_state = 5 [default = k_EAuthTokenState_Invalid];
optional fixed64 owner_steamid = 6;
optional uint32 os_platform = 7;
optional int32 os_type = 8;
optional uint32 auth_type = 9;
optional uint32 gaming_device_type = 10;
optional .CSupportRefreshTokenDescription.TokenUsageEvent first_seen = 11;
optional .CSupportRefreshTokenDescription.TokenUsageEvent last_seen = 12;
}
message CAuthenticationSupport_QueryRefreshTokensByAccount_Response {
repeated .CSupportRefreshTokenDescription refresh_tokens = 1;
optional int32 last_token_reset = 2;
}
message CAuthenticationSupport_QueryRefreshTokenByID_Request {
optional fixed64 token_id = 1;
}
message CAuthenticationSupport_QueryRefreshTokenByID_Response {
repeated .CSupportRefreshTokenDescription refresh_tokens = 1;
}
message CAuthenticationSupport_RevokeToken_Request {
optional fixed64 token_id = 1;
optional fixed64 steamid = 2;
}
message CAuthenticationSupport_RevokeToken_Response {
}
message CAuthenticationSupport_GetTokenHistory_Request {
optional fixed64 token_id = 1;
}
message CSupportRefreshTokenAudit {
optional int32 action = 1;
optional uint32 time = 2;
optional .CMsgIPAddress ip = 3;
optional fixed64 actor = 4;
}
message CAuthenticationSupport_GetTokenHistory_Response {
repeated .CSupportRefreshTokenAudit history = 1;
}
message CCloudGaming_CreateNonce_Request {
optional string platform = 1;
optional uint32 appid = 2;
}
message CCloudGaming_CreateNonce_Response {
optional string nonce = 1;
optional uint32 expiry = 2;
}
message CCloudGaming_GetTimeRemaining_Request {
optional string platform = 1;
repeated uint32 appid_list = 2;
}
message CCloudGaming_TimeRemaining {
optional uint32 appid = 1;
optional uint32 minutes_remaining = 2;
}
message CCloudGaming_GetTimeRemaining_Response {
repeated .CCloudGaming_TimeRemaining entries = 2;
}
service Authentication {
rpc GetPasswordRSAPublicKey (.CAuthentication_GetPasswordRSAPublicKey_Request) returns (.CAuthentication_GetPasswordRSAPublicKey_Response);
rpc BeginAuthSessionViaQR (.CAuthentication_BeginAuthSessionViaQR_Request) returns (.CAuthentication_BeginAuthSessionViaQR_Response);
rpc BeginAuthSessionViaCredentials (.CAuthentication_BeginAuthSessionViaCredentials_Request) returns (.CAuthentication_BeginAuthSessionViaCredentials_Response);
rpc PollAuthSessionStatus (.CAuthentication_PollAuthSessionStatus_Request) returns (.CAuthentication_PollAuthSessionStatus_Response);
rpc GetAuthSessionInfo (.CAuthentication_GetAuthSessionInfo_Request) returns (.CAuthentication_GetAuthSessionInfo_Response);
rpc UpdateAuthSessionWithMobileConfirmation (.CAuthentication_UpdateAuthSessionWithMobileConfirmation_Request) returns (.CAuthentication_UpdateAuthSessionWithMobileConfirmation_Response);
rpc UpdateAuthSessionWithSteamGuardCode (.CAuthentication_UpdateAuthSessionWithSteamGuardCode_Request) returns (.CAuthentication_UpdateAuthSessionWithSteamGuardCode_Response);
rpc GenerateAccessTokenForApp (.CAuthentication_AccessToken_GenerateForApp_Request) returns (.CAuthentication_AccessToken_GenerateForApp_Response);
rpc EnumerateTokens (.CAuthentication_RefreshToken_Enumerate_Request) returns (.CAuthentication_RefreshToken_Enumerate_Response);
rpc GetAuthSessionsForAccount (.CAuthentication_GetAuthSessionsForAccount_Request) returns (.CAuthentication_GetAuthSessionsForAccount_Response);
rpc MigrateMobileSession (.CAuthentication_MigrateMobileSession_Request) returns (.CAuthentication_MigrateMobileSession_Response);
rpc RevokeToken (.CAuthentication_Token_Revoke_Request) returns (.CAuthentication_Token_Revoke_Response);
rpc RevokeRefreshToken (.CAuthentication_RefreshToken_Revoke_Request) returns (.CAuthentication_RefreshToken_Revoke_Response);
}
service AuthenticationSupport {
rpc QueryRefreshTokensByAccount (.CAuthenticationSupport_QueryRefreshTokensByAccount_Request) returns (.CAuthenticationSupport_QueryRefreshTokensByAccount_Response);
rpc QueryRefreshTokenByID (.CAuthenticationSupport_QueryRefreshTokenByID_Request) returns (.CAuthenticationSupport_QueryRefreshTokenByID_Response);
rpc RevokeToken (.CAuthenticationSupport_RevokeToken_Request) returns (.CAuthenticationSupport_RevokeToken_Response);
rpc GetTokenHistory (.CAuthenticationSupport_GetTokenHistory_Request) returns (.CAuthenticationSupport_GetTokenHistory_Response);
}
service CloudGaming {
rpc CreateNonce (.CCloudGaming_CreateNonce_Request) returns (.CCloudGaming_CreateNonce_Response);
rpc GetTimeRemaining (.CCloudGaming_GetTimeRemaining_Request) returns (.CCloudGaming_GetTimeRemaining_Response);
}

View File

@@ -0,0 +1,335 @@
import "google/protobuf/descriptor.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
option (force_php_generation) = true;
extend .google.protobuf.MessageOptions {
optional int32 msgpool_soft_limit = 50000 [default = 32];
optional int32 msgpool_hard_limit = 50001 [default = 384];
}
extend .google.protobuf.FileOptions {
optional bool force_php_generation = 50000 [default = false];
}
extend .google.protobuf.FieldOptions {
optional bool php_output_always_number = 50020 [default = false];
optional bool allow_field_named_steam_id = 50024 [default = false];
}
enum EBanContentCheckResult {
k_EBanContentCheckResult_NotScanned = 0;
k_EBanContentCheckResult_Reset = 1;
k_EBanContentCheckResult_NeedsChecking = 2;
k_EBanContentCheckResult_VeryUnlikely = 5;
k_EBanContentCheckResult_Unlikely = 30;
k_EBanContentCheckResult_Possible = 50;
k_EBanContentCheckResult_Likely = 75;
k_EBanContentCheckResult_VeryLikely = 100;
}
enum EProtoClanEventType {
k_EClanOtherEvent = 1;
k_EClanGameEvent = 2;
k_EClanPartyEvent = 3;
k_EClanMeetingEvent = 4;
k_EClanSpecialCauseEvent = 5;
k_EClanMusicAndArtsEvent = 6;
k_EClanSportsEvent = 7;
k_EClanTripEvent = 8;
k_EClanChatEvent = 9;
k_EClanGameReleaseEvent = 10;
k_EClanBroadcastEvent = 11;
k_EClanSmallUpdateEvent = 12;
k_EClanPreAnnounceMajorUpdateEvent = 13;
k_EClanMajorUpdateEvent = 14;
k_EClanDLCReleaseEvent = 15;
k_EClanFutureReleaseEvent = 16;
k_EClanESportTournamentStreamEvent = 17;
k_EClanDevStreamEvent = 18;
k_EClanFamousStreamEvent = 19;
k_EClanGameSalesEvent = 20;
k_EClanGameItemSalesEvent = 21;
k_EClanInGameBonusXPEvent = 22;
k_EClanInGameLootEvent = 23;
k_EClanInGamePerksEvent = 24;
k_EClanInGameChallengeEvent = 25;
k_EClanInGameContestEvent = 26;
k_EClanIRLEvent = 27;
k_EClanNewsEvent = 28;
k_EClanBetaReleaseEvent = 29;
k_EClanInGameContentReleaseEvent = 30;
k_EClanFreeTrial = 31;
k_EClanSeasonRelease = 32;
k_EClanSeasonUpdate = 33;
k_EClanCrosspostEvent = 34;
k_EClanInGameEventGeneral = 35;
}
enum PartnerEventNotificationType {
k_EEventStart = 0;
k_EEventBroadcastStart = 1;
k_EEventMatchStart = 2;
k_EEventPartnerMaxType = 3;
}
message CMsgIPAddress {
oneof ip {
fixed32 v4 = 1;
bytes v6 = 2;
}
}
message CMsgIPAddressBucket {
optional .CMsgIPAddress original_ip_address = 1;
optional fixed64 bucket = 2;
}
message CMsgGCRoutingProtoBufHeader {
optional uint64 dst_gcid_queue = 1;
optional uint32 dst_gc_dir_index = 2;
}
message CMsgProtoBufHeader {
enum ESessionDisposition {
k_ESessionDispositionNormal = 0;
k_ESessionDispositionDisconnect = 1;
}
optional fixed64 steamid = 1;
optional int32 client_sessionid = 2;
optional uint32 routing_appid = 3;
optional fixed64 jobid_source = 10 [default = 18446744073709551615];
optional fixed64 jobid_target = 11 [default = 18446744073709551615];
optional string target_job_name = 12;
optional int32 seq_num = 24;
optional int32 eresult = 13 [default = 2];
optional string error_message = 14;
optional uint32 auth_account_flags = 16;
optional uint32 token_source = 22;
optional bool admin_spoofing_user = 23;
optional int32 transport_error = 17 [default = 1];
optional uint64 messageid = 18 [default = 18446744073709551615];
optional uint32 publisher_group_id = 19;
optional uint32 sysid = 20;
optional uint64 trace_tag = 21;
optional uint32 webapi_key_id = 25;
optional bool is_from_external_source = 26;
repeated uint32 forward_to_sysid = 27;
optional uint32 cm_sysid = 28;
optional uint32 launcher_type = 31 [default = 0];
optional uint32 realm = 32 [default = 0];
optional int32 timeout_ms = 33 [default = -1];
optional string debug_source = 34;
optional uint32 debug_source_string_index = 35;
optional uint64 token_id = 36;
optional .CMsgGCRoutingProtoBufHeader routing_gc = 37;
optional .CMsgProtoBufHeader.ESessionDisposition session_disposition = 38 [default = k_ESessionDispositionNormal];
optional string wg_token = 39;
optional string webui_auth_key = 40;
repeated int32 exclude_client_sessionids = 41;
oneof ip_addr {
uint32 ip = 15;
bytes ip_v6 = 29;
}
}
message CMsgMulti {
optional uint32 size_unzipped = 1;
optional bytes message_body = 2;
}
message CMsgProtobufWrapped {
optional bytes message_body = 1;
}
message CMsgAuthTicket {
optional uint32 estate = 1;
optional uint32 eresult = 2 [default = 2];
optional fixed64 steamid = 3;
optional fixed64 gameid = 4;
optional uint32 h_steam_pipe = 5;
optional uint32 ticket_crc = 6;
optional bytes ticket = 7;
optional bytes server_secret = 8;
optional uint32 ticket_type = 9;
}
message CCDDBAppDetailCommon {
optional uint32 appid = 1;
optional string name = 2;
optional string icon = 3;
optional bool tool = 6;
optional bool demo = 7;
optional bool media = 8;
optional bool community_visible_stats = 9;
optional string friendly_name = 10;
optional string propagation = 11;
optional bool has_adult_content = 12;
optional bool is_visible_in_steam_china = 13;
optional uint32 app_type = 14;
optional bool has_adult_content_sex = 15;
optional bool has_adult_content_violence = 16;
repeated uint32 content_descriptorids = 17;
}
message CMsgAppRights {
optional bool edit_info = 1;
optional bool publish = 2;
optional bool view_error_data = 3;
optional bool download = 4;
optional bool upload_cdkeys = 5;
optional bool generate_cdkeys = 6;
optional bool view_financials = 7;
optional bool manage_ceg = 8;
optional bool manage_signing = 9;
optional bool manage_cdkeys = 10;
optional bool edit_marketing = 11;
optional bool economy_support = 12;
optional bool economy_support_supervisor = 13;
optional bool manage_pricing = 14;
optional bool broadcast_live = 15;
optional bool view_marketing_traffic = 16;
optional bool edit_store_display_content = 17;
}
message CCuratorPreferences {
optional uint32 supported_languages = 1;
optional bool platform_windows = 2;
optional bool platform_mac = 3;
optional bool platform_linux = 4;
optional bool vr_content = 5;
optional bool adult_content_violence = 6;
optional bool adult_content_sex = 7;
optional uint32 timestamp_updated = 8;
repeated uint32 tagids_curated = 9;
repeated uint32 tagids_filtered = 10;
optional string website_title = 11;
optional string website_url = 12;
optional string discussion_url = 13;
optional bool show_broadcast = 14;
}
message CLocalizationToken {
optional uint32 language = 1;
optional string localized_string = 2;
}
message CClanEventUserNewsTuple {
optional uint32 clanid = 1;
optional fixed64 event_gid = 2;
optional fixed64 announcement_gid = 3;
optional uint32 rtime_start = 4;
optional uint32 rtime_end = 5;
optional uint32 priority_score = 6;
optional uint32 type = 7;
optional uint32 clamp_range_slot = 8;
optional uint32 appid = 9;
optional uint32 rtime32_last_modified = 10;
}
message CClanMatchEventByRange {
optional uint32 rtime_before = 1;
optional uint32 rtime_after = 2;
optional uint32 qualified = 3;
repeated .CClanEventUserNewsTuple events = 4;
}
message CCommunity_ClanAnnouncementInfo {
optional uint64 gid = 1;
optional uint64 clanid = 2;
optional uint64 posterid = 3;
optional string headline = 4;
optional uint32 posttime = 5;
optional uint32 updatetime = 6;
optional string body = 7;
optional int32 commentcount = 8;
repeated string tags = 9;
optional int32 language = 10;
optional bool hidden = 11;
optional fixed64 forum_topic_id = 12;
optional fixed64 event_gid = 13;
optional int32 voteupcount = 14;
optional int32 votedowncount = 15;
optional .EBanContentCheckResult ban_check_result = 16 [default = k_EBanContentCheckResult_NotScanned];
optional bool banned = 17;
}
message CClanEventData {
optional fixed64 gid = 1;
optional fixed64 clan_steamid = 2;
optional string event_name = 3;
optional .EProtoClanEventType event_type = 4 [default = k_EClanOtherEvent];
optional uint32 appid = 5;
optional string server_address = 6;
optional string server_password = 7;
optional uint32 rtime32_start_time = 8;
optional uint32 rtime32_end_time = 9;
optional int32 comment_count = 10;
optional fixed64 creator_steamid = 11;
optional fixed64 last_update_steamid = 12;
optional string event_notes = 13;
optional string jsondata = 14;
optional .CCommunity_ClanAnnouncementInfo announcement_body = 15;
optional bool published = 16;
optional bool hidden = 17;
optional uint32 rtime32_visibility_start = 18;
optional uint32 rtime32_visibility_end = 19;
optional uint32 broadcaster_accountid = 20;
optional uint32 follower_count = 21;
optional uint32 ignore_count = 22;
optional fixed64 forum_topic_id = 23;
optional uint32 rtime32_last_modified = 24;
optional fixed64 news_post_gid = 25;
optional uint32 rtime_mod_reviewed = 26;
optional uint32 featured_app_tagid = 27;
repeated uint32 referenced_appids = 28;
optional uint32 build_id = 29;
optional string build_branch = 30;
}
message CBilling_Address {
optional string first_name = 1;
optional string last_name = 2;
optional string address1 = 3;
optional string address2 = 4;
optional string city = 5;
optional string us_state = 6;
optional string country_code = 7;
optional string postcode = 8;
optional int32 zip_plus4 = 9;
optional string phone = 10;
}
message CPackageReservationStatus {
optional uint32 packageid = 1;
optional int32 reservation_state = 2;
optional int32 queue_position = 3;
optional int32 total_queue_size = 4;
optional string reservation_country_code = 5;
optional bool expired = 6;
optional uint32 time_expires = 7;
optional uint32 time_reserved = 8;
optional uint32 rtime_estimated_notification = 9;
optional string notificaton_token = 10;
}
message CMsgKeyValuePair {
optional string name = 1;
optional string value = 2;
}
message CMsgKeyValueSet {
repeated .CMsgKeyValuePair pairs = 1;
}
message UserContentDescriptorPreferences {
message ContentDescriptor {
optional uint32 content_descriptorid = 1;
optional uint32 timestamp_added = 2;
}
repeated .UserContentDescriptorPreferences.ContentDescriptor content_descriptors_to_exclude = 1;
}

View File

@@ -0,0 +1,618 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
enum EBroadcastWatchLocation {
k_EBroadcastWatchLocation_Invalid = 0;
k_EBroadcastWatchLocation_SteamTV_Tab = 1;
k_EBroadcastWatchLocation_SteamTV_WatchParty = 2;
k_EBroadcastWatchLocation_Chat_Tab = 3;
k_EBroadcastWatchLocation_Chat_WatchParty = 4;
k_EBroadcastWatchLocation_CommunityPage = 5;
k_EBroadcastWatchLocation_StoreAppPage = 6;
k_EBroadcastWatchLocation_InGame = 7;
k_EBroadcastWatchLocation_BigPicture = 8;
k_EBroadcastWatchLocation_SalesPage = 9;
k_EBroadcastWatchLocation_CuratorPage = 10;
k_EBroadcastWatchLocation_DeveloperPage = 11;
k_EBroadcastWatchLocation_Chat_Friends = 12;
k_EBroadcastWatchLocation_SteamTV_Web = 13;
k_EBroadcastWatchLocation_DesktopUI_Overlay = 14;
}
enum EBroadcastChatPermission {
k_EBroadcastChatPermissionPublic = 0;
k_EBroadcastChatPermissionOwnsApp = 1;
}
message CBroadcast_BeginBroadcastSession_Request {
optional int32 permission = 1;
optional uint64 gameid = 2;
optional uint64 client_instance_id = 3;
optional string title = 4;
optional uint32 cellid = 5;
optional uint64 rtmp_token = 6;
optional bool thumbnail_upload = 7;
optional uint32 sysid = 9;
optional bool allow_webrtc = 10;
}
message CBroadcast_BeginBroadcastSession_Response {
optional fixed64 broadcast_id = 1;
optional string thumbnail_upload_address = 2;
optional string thumbnail_upload_token = 3;
optional uint32 thumbnail_interval_seconds = 4;
optional uint32 heartbeat_interval_seconds = 5;
}
message CBroadcast_EndBroadcastSession_Request {
optional fixed64 broadcast_id = 1;
}
message CBroadcast_EndBroadcastSession_Response {
}
message CBroadcast_StartBroadcastUpload_Request {
optional fixed64 broadcast_id = 1;
optional uint32 cellid = 2;
optional bool as_rtmp = 3;
optional uint32 delay_seconds = 4;
optional uint64 rtmp_token = 5 [default = 0];
optional uint32 upload_ip_address = 6;
optional bool is_replay = 7;
optional uint32 sysid = 8;
}
message CBroadcast_StartBroadcastUpload_Response {
optional string upload_token = 1;
optional string upload_address = 2;
optional fixed64 broadcast_upload_id = 3;
optional bool enable_replay = 6;
optional string http_address = 7;
}
message CBroadcast_NotifyBroadcastUploadStop_Notification {
optional fixed64 broadcast_upload_id = 1;
optional uint32 upload_result = 2;
}
message CBroadcast_WatchBroadcast_Request {
optional fixed64 steamid = 1;
optional fixed64 existing_broadcast_id = 2;
optional fixed64 viewer_token = 3;
optional uint32 client_cell = 5;
optional .EBroadcastWatchLocation watch_location = 6 [default = k_EBroadcastWatchLocation_Invalid];
optional bool is_webrtc = 7;
}
message CBroadcast_WatchBroadcast_Response {
enum EWatchResponse {
k_EWatchResponseReady = 1;
k_EWatchResponseNotAvailable = 2;
k_EWatchResponseWaitingForApproval = 3;
k_EWatchResponseWaitingForStart = 4;
k_EWatchResponseInvalidSession = 5;
k_EWatchResponseTooManyBroadcasts = 6;
k_EWatchResponseWaitingForReconnect = 7;
k_EWatchResponseSystemNotSupported = 8;
k_EWatchResponseUserRestricted = 9;
k_EWatchResponseClientOutOfDate = 10;
k_EWatchResponsePoorUploadQuality = 11;
k_EWatchResponseMissingSubscription = 12;
k_EWatchResponseTooManyViewers = 13;
}
optional .CBroadcast_WatchBroadcast_Response.EWatchResponse response = 1 [default = k_EWatchResponseReady];
optional string mpd_url = 2;
optional fixed64 broadcast_id = 3;
optional uint64 gameid = 4;
optional string title = 5;
optional uint32 num_viewers = 6;
optional int32 permission = 7;
optional bool is_rtmp = 8;
optional int32 seconds_delay = 9;
optional fixed64 viewer_token = 10;
optional string hls_m3u8_master_url = 11;
optional int32 heartbeat_interval = 12;
optional string thumbnail_url = 13;
optional bool is_webrtc = 14;
optional fixed64 webrtc_session_id = 15;
optional string webrtc_offer_sdp = 16;
optional string webrtc_turn_server = 17;
optional bool is_replay = 18;
optional int32 duration = 19;
optional string cdn_auth_url_parameters = 20;
}
message CBroadcast_HeartbeatBroadcast_Notification {
optional fixed64 steamid = 1;
optional fixed64 broadcast_id = 2;
optional fixed64 viewer_token = 3;
optional uint32 representation = 4;
}
message CBroadcast_StopWatchingBroadcast_Notification {
optional fixed64 steamid = 1;
optional fixed64 broadcast_id = 2;
optional fixed64 viewer_token = 3;
}
message CBroadcast_GetBroadcastStatus_Request {
optional fixed64 steamid = 1;
optional fixed64 broadcast_id = 2;
}
message CBroadcast_GetBroadcastStatus_Response {
optional uint64 gameid = 1;
optional string title = 2;
optional uint32 num_viewers = 3;
optional int32 permission = 4;
optional bool is_rtmp = 5;
optional int32 seconds_delay = 6;
optional bool is_publisher = 7;
optional string thumbnail_url = 8;
optional int32 update_interval = 9;
optional bool is_uploading = 10;
optional uint32 duration = 11;
optional bool is_replay = 12;
optional bool is_capturing_vod = 13;
optional bool is_store_whitelisted = 14;
}
message CBroadcast_GetBroadcastThumbnail_Request {
optional fixed64 steamid = 1;
optional fixed64 broadcast_id = 2;
}
message CBroadcast_GetBroadcastThumbnail_Response {
optional string thumbnail_url = 1;
optional int32 update_interval = 2;
optional int32 num_viewers = 3;
optional int32 duration = 4;
}
message CBroadcast_InviteToBroadcast_Request {
optional fixed64 steamid = 1;
optional bool approval_response = 2;
}
message CBroadcast_InviteToBroadcast_Response {
optional bool success = 1;
}
message CBroadcast_SendBroadcastStateToServer_Request {
optional int32 permission = 1;
optional uint64 gameid = 2;
optional string title = 3;
optional string game_data_config = 4;
}
message CBroadcast_SendBroadcastStateToServer_Response {
}
message CBroadcast_NotifyBroadcastSessionHeartbeat_Notification {
optional fixed64 broadcast_id = 1;
}
message CBroadcast_GetBroadcastChatInfo_Request {
optional fixed64 steamid = 1;
optional fixed64 broadcast_id = 2;
optional uint32 client_ip = 3;
optional uint32 client_cell = 4;
}
message CBroadcast_GetBroadcastChatInfo_Response {
optional fixed64 chat_id = 1;
optional string view_url_template = 3;
repeated uint32 flair_group_ids = 4;
}
message CBroadcast_PostChatMessage_Request {
optional fixed64 chat_id = 1;
optional string message = 2;
optional uint32 instance_id = 3;
optional uint32 language = 4 [default = 0];
optional string country_code = 5;
}
message CBroadcast_PostChatMessage_Response {
optional string persona_name = 1;
optional bool in_game = 2;
optional int32 result = 3;
optional int32 cooldown_time_seconds = 4;
}
message CBroadcast_UpdateChatMessageFlair_Request {
optional fixed64 chat_id = 1;
optional string flair = 2;
}
message CBroadcast_UpdateChatMessageFlair_Response {
optional int32 result = 1;
optional fixed64 chat_id = 2;
optional string flair = 3;
}
message CBroadcast_MuteBroadcastChatUser_Request {
optional fixed64 chat_id = 1;
optional fixed64 user_steamid = 2;
optional bool muted = 3;
}
message CBroadcast_MuteBroadcastChatUser_Response {
}
message CBroadcast_RemoveUserChatText_Request {
optional fixed64 chat_id = 1;
optional fixed64 user_steamid = 2;
}
message CBroadcast_RemoveUserChatText_Response {
}
message CBroadcast_GetBroadcastChatUserNames_Request {
optional fixed64 chat_id = 1;
repeated fixed64 user_steamid = 2;
}
message CBroadcast_GetBroadcastChatUserNames_Response {
message PersonaName {
optional fixed64 steam_id = 1 [(allow_field_named_steam_id) = true];
optional string persona = 2;
}
repeated .CBroadcast_GetBroadcastChatUserNames_Response.PersonaName persona_names = 1;
}
message CBroadcast_StartBuildClip_Request {
optional fixed64 steamid = 1;
optional fixed64 broadcast_session_id = 2;
optional int32 first_segment = 3;
optional int32 num_segments = 4;
optional string clip_description = 5;
}
message CBroadcast_StartBuildClip_Response {
optional fixed64 broadcast_clip_id = 1;
}
message CBroadcast_GetBuildClipStatus_Request {
optional fixed64 broadcast_clip_id = 1;
}
message CBroadcast_GetBuildClipStatus_Response {
}
message CBroadcast_SetClipDetails_Request {
optional uint64 broadcast_clip_id = 1;
optional uint32 start_time = 2;
optional uint32 end_time = 3;
optional string video_description = 4;
}
message CBroadcast_SetClipDetails_Response {
}
message CBroadcast_GetClipDetails_Request {
optional uint64 broadcast_clip_id = 1;
}
message CBroadcast_GetClipDetails_Response {
optional uint64 broadcast_clip_id = 1;
optional uint64 video_id = 2;
optional uint64 channel_id = 3;
optional uint32 app_id = 4;
optional uint32 accountid_broadcaster = 5;
optional uint32 accountid_clipmaker = 6;
optional string video_description = 7;
optional uint32 start_time = 8;
optional uint32 length_milliseconds = 9;
optional string thumbnail_path = 10;
}
message CBroadcast_SetRTMPInfo_Request {
optional int32 broadcast_permission = 1;
optional bool update_token = 2;
optional int32 broadcast_delay = 3;
optional uint32 app_id = 4;
optional uint32 required_app_id = 5;
optional .EBroadcastChatPermission broadcast_chat_permission = 6 [default = k_EBroadcastChatPermissionPublic];
optional int32 broadcast_buffer = 7;
optional fixed64 steamid = 8;
optional uint32 chat_rate_limit = 9;
optional bool enable_replay = 10;
optional bool is_partner_chat_only = 11;
optional string wordban_list = 12;
}
message CBroadcast_SetRTMPInfo_Response {
}
message CBroadcast_GetRTMPInfo_Request {
optional uint32 ip = 1;
optional fixed64 steamid = 2;
}
message CBroadcast_GetRTMPInfo_Response {
optional int32 broadcast_permission = 1;
optional string rtmp_host = 2;
optional string rtmp_token = 3;
optional int32 broadcast_delay = 4;
optional uint32 app_id = 5;
optional uint32 required_app_id = 6;
optional .EBroadcastChatPermission broadcast_chat_permission = 7 [default = k_EBroadcastChatPermissionPublic];
optional int32 broadcast_buffer = 8;
optional fixed64 steamid = 9;
optional uint32 chat_rate_limit = 10;
optional bool enable_replay = 11;
optional bool is_partner_chat_only = 12;
optional string wordban_list = 13;
}
message CBroadcast_WebRTCHaveTURNServer_Notification {
optional fixed64 broadcast_session_id = 1;
optional string turn_server = 2;
}
message CBroadcast_WebRTCStartResult_Request {
optional fixed64 webrtc_session_id = 1;
optional bool started = 2;
optional string offer = 3;
optional uint32 resolution_x = 4;
optional uint32 resolution_y = 5;
optional uint32 fps = 6;
}
message CBroadcast_WebRTCStartResult_Response {
}
message CBroadcast_WebRTCStopped_Request {
optional fixed64 webrtc_session_id = 1;
}
message CBroadcast_WebRTCStopped_Response {
}
message CBroadcast_WebRTCSetAnswer_Request {
optional fixed64 broadcaster_steamid = 1;
optional fixed64 webrtc_session_id = 2;
optional string answer = 3;
}
message CBroadcast_WebRTCSetAnswer_Response {
}
message CBroadcast_WebRTCLookupTURNServer_Request {
optional uint32 cellid = 1;
}
message CBroadcast_WebRTCLookupTURNServer_Response {
optional string turn_server = 1;
}
message CBroadcast_WebRTC_Candidate {
optional string sdp_mid = 1;
optional int32 sdp_mline_index = 2;
optional string candidate = 3;
}
message CBroadcast_WebRTCAddHostCandidate_Request {
optional fixed64 webrtc_session_id = 1;
optional .CBroadcast_WebRTC_Candidate candidate = 2;
}
message CBroadcast_WebRTCAddHostCandidate_Response {
}
message CBroadcast_WebRTCAddViewerCandidate_Request {
optional fixed64 broadcaster_steamid = 1;
optional fixed64 webrtc_session_id = 2;
optional .CBroadcast_WebRTC_Candidate candidate = 3;
}
message CBroadcast_WebRTCAddViewerCandidate_Response {
}
message CBroadcast_WebRTCGetHostCandidates_Request {
optional fixed64 broadcaster_steamid = 1;
optional fixed64 webrtc_session_id = 2;
optional uint32 candidate_generation = 3;
}
message CBroadcast_WebRTCGetHostCandidates_Response {
optional uint32 candidate_generation = 1;
repeated .CBroadcast_WebRTC_Candidate candidates = 2;
}
message CBroadcast_GetBroadcastUploadStats_Request {
optional uint32 row_limit = 1 [default = 100];
optional uint32 start_time = 2 [default = 0];
optional uint64 upload_id = 3;
optional fixed64 steamid = 4;
optional uint64 session_id = 5;
}
message CBroadcast_GetBroadcastUploadStats_Response {
message UploadStats {
optional uint32 upload_result = 1;
optional uint32 time_stopped = 2;
optional uint32 seconds_uploaded = 3;
optional uint32 max_viewers = 4;
optional uint32 resolution_x = 5;
optional uint32 resolution_y = 6;
optional uint32 avg_bandwidth = 7;
optional uint64 total_bytes = 8;
optional uint32 app_id = 9;
optional uint32 total_unique_viewers = 10;
optional uint64 total_seconds_watched = 11;
optional uint32 time_started = 12;
optional uint64 upload_id = 13;
optional string local_address = 14;
optional string remote_address = 15;
optional uint32 frames_per_second = 16;
optional uint32 num_representations = 17;
optional string app_name = 18;
optional bool is_replay = 19;
optional uint64 session_id = 20;
}
repeated .CBroadcast_GetBroadcastUploadStats_Response.UploadStats upload_stats = 1;
}
message CBroadcast_GetBroadcastViewerStats_Request {
optional uint64 upload_id = 1;
optional fixed64 steamid = 2;
}
message CBroadcast_GetBroadcastViewerStats_Response {
message ViewerStats {
optional uint32 time = 1;
optional uint32 num_viewers = 2;
}
message CountryStats {
optional string country_code = 1;
optional uint32 num_viewers = 2;
}
repeated .CBroadcast_GetBroadcastViewerStats_Response.ViewerStats viewer_stats = 1;
repeated .CBroadcast_GetBroadcastViewerStats_Response.CountryStats country_stats = 2;
}
message CBroadcast_BroadcastViewerState_Notification {
enum EViewerState {
k_EViewerNeedsApproval = 1;
k_EViewerWatching = 2;
k_EViewerLeft = 3;
}
optional fixed64 steamid = 1;
optional .CBroadcast_BroadcastViewerState_Notification.EViewerState state = 2 [default = k_EViewerNeedsApproval];
}
message CBroadcast_WaitingBroadcastViewer_Notification {
optional fixed64 broadcast_id = 1;
}
message CBroadcast_BroadcastUploadStarted_Notification {
optional fixed64 broadcast_id = 1;
optional string upload_token = 2;
optional string upload_address = 3;
optional string http_address = 4;
optional fixed64 broadcast_upload_id = 5;
optional uint32 heartbeat_interval_seconds = 6;
optional bool is_rtmp = 7;
}
message CBroadcast_StopBroadcastUpload_Notification {
optional fixed64 broadcast_id = 1;
optional fixed64 broadcast_relay_id = 2;
optional uint32 upload_result = 3;
optional bool too_many_poor_uploads = 4;
}
message CBroadcast_SessionClosed_Notification {
optional fixed64 broadcast_id = 1;
}
message CBroadcast_ViewerBroadcastInvite_Notification {
optional fixed64 broadcaster_steamid = 1;
}
message CBroadcast_BroadcastStatus_Notification {
optional fixed64 broadcast_id = 1;
optional int32 num_viewers = 2;
}
message CBroadcast_BroadcastChannelLive_Notification {
optional fixed64 broadcast_channel_id = 1;
optional string broadcast_channel_name = 2;
optional string broadcast_channel_avatar = 3;
}
message CBroadcast_SendThumbnailToRelay_Notification {
optional string thumbnail_upload_token = 1;
optional fixed64 thumbnail_broadcast_session_id = 2;
optional bytes thumbnail_data = 3;
optional uint32 thumbnail_width = 4;
optional uint32 thumbnail_height = 5;
}
message CBroadcast_WebRTCNeedTURNServer_Notification {
optional fixed64 broadcast_session_id = 1;
}
message CBroadcast_WebRTCStart_Notification {
optional fixed64 broadcast_session_id = 1;
optional fixed64 webrtc_session_id = 2;
optional fixed64 viewer_steamid = 3;
optional fixed64 viewer_token = 4;
}
message CBroadcast_WebRTCSetAnswer_Notification {
optional fixed64 broadcast_session_id = 1;
optional fixed64 webrtc_session_id = 2;
optional string answer = 3;
}
message CBroadcast_WebRTCAddViewerCandidate_Notification {
optional fixed64 broadcast_session_id = 1;
optional fixed64 webrtc_session_id = 2;
optional .CBroadcast_WebRTC_Candidate candidate = 3;
}
service Broadcast {
rpc BeginBroadcastSession (.CBroadcast_BeginBroadcastSession_Request) returns (.CBroadcast_BeginBroadcastSession_Response);
rpc EndBroadcastSession (.CBroadcast_EndBroadcastSession_Request) returns (.CBroadcast_EndBroadcastSession_Response);
rpc StartBroadcastUpload (.CBroadcast_StartBroadcastUpload_Request) returns (.CBroadcast_StartBroadcastUpload_Response);
rpc NotifyBroadcastUploadStop (.CBroadcast_NotifyBroadcastUploadStop_Notification) returns (.NoResponse);
rpc WatchBroadcast (.CBroadcast_WatchBroadcast_Request) returns (.CBroadcast_WatchBroadcast_Response);
rpc HeartbeatBroadcast (.CBroadcast_HeartbeatBroadcast_Notification) returns (.NoResponse);
rpc StopWatchingBroadcast (.CBroadcast_StopWatchingBroadcast_Notification) returns (.NoResponse);
rpc GetBroadcastStatus (.CBroadcast_GetBroadcastStatus_Request) returns (.CBroadcast_GetBroadcastStatus_Response);
rpc GetBroadcastThumbnail (.CBroadcast_GetBroadcastThumbnail_Request) returns (.CBroadcast_GetBroadcastThumbnail_Response);
rpc InviteToBroadcast (.CBroadcast_InviteToBroadcast_Request) returns (.CBroadcast_InviteToBroadcast_Response);
rpc SendBroadcastStateToServer (.CBroadcast_SendBroadcastStateToServer_Request) returns (.CBroadcast_SendBroadcastStateToServer_Response);
rpc NotifyBroadcastSessionHeartbeat (.CBroadcast_NotifyBroadcastSessionHeartbeat_Notification) returns (.NoResponse);
rpc GetBroadcastChatInfo (.CBroadcast_GetBroadcastChatInfo_Request) returns (.CBroadcast_GetBroadcastChatInfo_Response);
rpc PostChatMessage (.CBroadcast_PostChatMessage_Request) returns (.CBroadcast_PostChatMessage_Response);
rpc UpdateChatMessageFlair (.CBroadcast_UpdateChatMessageFlair_Request) returns (.CBroadcast_UpdateChatMessageFlair_Response);
rpc MuteBroadcastChatUser (.CBroadcast_MuteBroadcastChatUser_Request) returns (.CBroadcast_MuteBroadcastChatUser_Response);
rpc RemoveUserChatText (.CBroadcast_RemoveUserChatText_Request) returns (.CBroadcast_RemoveUserChatText_Response);
rpc GetBroadcastChatUserNames (.CBroadcast_GetBroadcastChatUserNames_Request) returns (.CBroadcast_GetBroadcastChatUserNames_Response);
rpc StartBuildClip (.CBroadcast_StartBuildClip_Request) returns (.CBroadcast_StartBuildClip_Response);
rpc GetBuildClipStatus (.CBroadcast_GetBuildClipStatus_Request) returns (.CBroadcast_GetBuildClipStatus_Response);
rpc SetClipDetails (.CBroadcast_SetClipDetails_Request) returns (.CBroadcast_SetClipDetails_Response);
rpc GetClipDetails (.CBroadcast_GetClipDetails_Request) returns (.CBroadcast_GetClipDetails_Response);
rpc SetRTMPInfo (.CBroadcast_SetRTMPInfo_Request) returns (.CBroadcast_SetRTMPInfo_Response);
rpc GetRTMPInfo (.CBroadcast_GetRTMPInfo_Request) returns (.CBroadcast_GetRTMPInfo_Response);
rpc NotifyWebRTCHaveTURNServer (.CBroadcast_WebRTCHaveTURNServer_Notification) returns (.NoResponse);
rpc WebRTCStartResult (.CBroadcast_WebRTCStartResult_Request) returns (.CBroadcast_WebRTCStartResult_Response);
rpc WebRTCStopped (.CBroadcast_WebRTCStopped_Request) returns (.CBroadcast_WebRTCStopped_Response);
rpc WebRTCSetAnswer (.CBroadcast_WebRTCSetAnswer_Request) returns (.CBroadcast_WebRTCSetAnswer_Response);
rpc WebRTCLookupTURNServer (.CBroadcast_WebRTCLookupTURNServer_Request) returns (.CBroadcast_WebRTCLookupTURNServer_Response);
rpc WebRTCAddHostCandidate (.CBroadcast_WebRTCAddHostCandidate_Request) returns (.CBroadcast_WebRTCAddHostCandidate_Response);
rpc WebRTCAddViewerCandidate (.CBroadcast_WebRTCAddViewerCandidate_Request) returns (.CBroadcast_WebRTCAddViewerCandidate_Response);
rpc WebRTCGetHostCandidates (.CBroadcast_WebRTCGetHostCandidates_Request) returns (.CBroadcast_WebRTCGetHostCandidates_Response);
rpc GetBroadcastUploadStats (.CBroadcast_GetBroadcastUploadStats_Request) returns (.CBroadcast_GetBroadcastUploadStats_Response);
rpc GetBroadcastViewerStats (.CBroadcast_GetBroadcastViewerStats_Request) returns (.CBroadcast_GetBroadcastViewerStats_Response);
}
service BroadcastClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyBroadcastViewerState (.CBroadcast_BroadcastViewerState_Notification) returns (.NoResponse);
rpc NotifyWaitingBroadcastViewer (.CBroadcast_WaitingBroadcastViewer_Notification) returns (.NoResponse);
rpc NotifyBroadcastUploadStarted (.CBroadcast_BroadcastUploadStarted_Notification) returns (.NoResponse);
rpc NotifyStopBroadcastUpload (.CBroadcast_StopBroadcastUpload_Notification) returns (.NoResponse);
rpc NotifySessionClosed (.CBroadcast_SessionClosed_Notification) returns (.NoResponse);
rpc NotifyViewerBroadcastInvite (.CBroadcast_ViewerBroadcastInvite_Notification) returns (.NoResponse);
rpc NotifyBroadcastStatus (.CBroadcast_BroadcastStatus_Notification) returns (.NoResponse);
rpc NotifyBroadcastChannelLive (.CBroadcast_BroadcastChannelLive_Notification) returns (.NoResponse);
rpc SendThumbnailToRelay (.CBroadcast_SendThumbnailToRelay_Notification) returns (.NoResponse);
rpc NotifyWebRTCNeedTURNServer (.CBroadcast_WebRTCNeedTURNServer_Notification) returns (.NoResponse);
rpc NotifyWebRTCStart (.CBroadcast_WebRTCStart_Notification) returns (.NoResponse);
rpc NotifyWebRTCSetAnswer (.CBroadcast_WebRTCSetAnswer_Notification) returns (.NoResponse);
rpc NotifyWebRTCAddViewerCandidate (.CBroadcast_WebRTCAddViewerCandidate_Notification) returns (.NoResponse);
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,665 @@
import "enums.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum ECloudPendingRemoteOperation {
k_ECloudPendingRemoteOperationNone = 0;
k_ECloudPendingRemoteOperationAppSessionActive = 1;
k_ECloudPendingRemoteOperationUploadInProgress = 2;
k_ECloudPendingRemoteOperationUploadPending = 3;
k_ECloudPendingRemoteOperationAppSessionSuspended = 4;
}
enum ESteamDeckKeyboardLayout {
k_ESteamDeckKeyboardLayout_QWERTY = 0;
k_ESteamDeckKeyboardLayout_Bulgarian = 1;
k_ESteamDeckKeyboardLayout_Chinese_Simplified = 2;
k_ESteamDeckKeyboardLayout_Chinese_Traditional = 3;
k_ESteamDeckKeyboardLayout_Czech = 4;
k_ESteamDeckKeyboardLayout_Danish = 5;
k_ESteamDeckKeyboardLayout_Finnish = 6;
k_ESteamDeckKeyboardLayout_French = 7;
k_ESteamDeckKeyboardLayout_German = 8;
k_ESteamDeckKeyboardLayout_Greek = 9;
k_ESteamDeckKeyboardLayout_Hungarian = 10;
k_ESteamDeckKeyboardLayout_Italian = 11;
k_ESteamDeckKeyboardLayout_Japanese = 12;
k_ESteamDeckKeyboardLayout_Korean = 13;
k_ESteamDeckKeyboardLayout_Norwegian = 14;
k_ESteamDeckKeyboardLayout_Polish = 15;
k_ESteamDeckKeyboardLayout_Portuguese = 16;
k_ESteamDeckKeyboardLayout_Romanian = 17;
k_ESteamDeckKeyboardLayout_Russian = 18;
k_ESteamDeckKeyboardLayout_Spanish = 19;
k_ESteamDeckKeyboardLayout_Swedish = 20;
k_ESteamDeckKeyboardLayout_Thai = 21;
k_ESteamDeckKeyboardLayout_Turkish_F = 22;
k_ESteamDeckKeyboardLayout_Turkish_Q = 23;
k_ESteamDeckKeyboardLayout_Ukrainian = 24;
k_ESteamDeckKeyboardLayout_Vietnamese = 25;
k_ESteamDeckKeyboardLayout_QWERTY_International = 26;
k_ESteamDeckKeyboardLayout_Dvorak = 27;
k_ESteamDeckKeyboardLayout_Colemak = 28;
k_ESteamDeckKeyboardLayout_Bulgarian_Phonetic_Traditional = 29;
k_ESteamDeckKeyboardLayout_Bulgarian_Phonetic = 30;
k_ESteamDeckKeyboardLayout_Chinese_Traditional_Bopomofo = 31;
k_ESteamDeckKeyboardLayout_Chinese_Traditional_Cangjie = 32;
k_ESteamDeckKeyboardLayout_Japanese_Kana = 33;
k_ESteamDeckKeyboardLayout_Chinese_Traditional_Quick = 34;
k_ESteamDeckKeyboardLayout_Indonesian = 35;
}
message SteamMessagesClientIClientForcedEnumDependencies {
optional .EBluetoothDeviceType a = 1 [default = k_BluetoothDeviceType_Invalid];
optional .EStorageBlockContentType b = 2 [default = k_EStorageBlockContentType_Invalid];
optional .EStorageBlockFileSystemType c = 3 [default = k_EStorageBlockFileSystemType_Invalid];
optional .ESDCardFormatStage d = 4 [default = k_ESDCardFormatStage_Invalid];
}
message CMsgNetworkDeviceIP4Address {
optional int32 ip = 1 [default = 0];
optional int32 netmask = 2;
}
message CMsgNetworkDeviceIP4Config {
repeated .CMsgNetworkDeviceIP4Address addresses = 1;
repeated int32 dns_ip = 2;
optional int32 gateway_ip = 3;
optional bool is_dhcp_enabled = 4;
optional bool is_default_route = 5;
optional bool is_enabled = 6 [default = false];
}
message CMsgNetworkDeviceIP6Address {
optional string ip = 1;
}
message CMsgNetworkDeviceIP6Config {
repeated .CMsgNetworkDeviceIP6Address addresses = 1;
repeated string dns_ip = 2;
optional string gateway_ip = 3;
optional bool is_dhcp_enabled = 4;
optional bool is_default_route = 5;
optional bool is_enabled = 6 [default = false];
}
message CMsgNetworkDevicesData {
message Device {
message Wired {
optional bool is_cable_present = 1 [default = false];
optional uint32 speed_mbit = 2;
optional string friendly_name = 3;
}
message Wireless {
message AP {
optional uint32 id = 1 [default = 0];
optional int32 estrength = 2;
optional string ssid = 3;
optional bool is_active = 4;
optional bool is_autoconnect = 5;
optional int32 esecurity = 6;
optional string user_name = 7;
optional string password = 8;
optional int32 strength_raw = 9;
}
repeated .CMsgNetworkDevicesData.Device.Wireless.AP aps = 1;
optional int32 esecurity_supported = 2;
}
optional uint32 id = 1 [default = 0];
optional int32 etype = 2;
optional int32 estate = 3;
optional string mac = 4;
optional string vendor = 5;
optional string product = 6;
optional .CMsgNetworkDeviceIP4Config ip4 = 7;
optional .CMsgNetworkDeviceIP6Config ip6 = 8;
optional .CMsgNetworkDevicesData.Device.Wired wired = 9;
optional .CMsgNetworkDevicesData.Device.Wireless wireless = 10;
}
repeated .CMsgNetworkDevicesData.Device devices = 1;
optional bool is_wifi_enabled = 2;
optional bool is_wifi_scanning_enabled = 3;
}
message CMsgNetworkDeviceConnect {
message KnownAP {
optional uint32 ap_id = 1;
}
message CustomAP {
optional string ssid = 1;
optional int32 esecurity = 2;
}
message Credentials {
optional string username = 1;
optional string password = 2;
}
optional uint32 device_id = 1 [default = 0];
optional .CMsgNetworkDeviceConnect.Credentials credentials = 4;
optional .CMsgNetworkDeviceIP4Config ip4 = 5;
optional .CMsgNetworkDeviceIP6Config ip6 = 6;
oneof ap_info {
.CMsgNetworkDeviceConnect.KnownAP ap_known = 2;
.CMsgNetworkDeviceConnect.CustomAP ap_custom = 3;
}
}
message CMsgStorageDevicesData {
message Drive {
optional uint32 id = 1 [default = 0];
optional string model = 2;
optional string vendor = 3;
optional string serial = 4;
optional bool is_ejectable = 5;
optional uint64 size_bytes = 6;
optional .EStorageDriveMediaType media_type = 7 [default = k_EStorageDriveMediaType_Invalid];
}
message BlockDevice {
optional uint32 id = 1 [default = 0];
optional uint32 drive_id = 2 [default = 0];
optional string path = 3;
optional string friendly_path = 4;
optional string label = 5;
optional uint64 size_bytes = 6;
optional bool is_formattable = 7;
optional bool is_read_only = 8;
optional bool is_root_device = 9;
optional .EStorageBlockContentType content_type = 10 [default = k_EStorageBlockContentType_Invalid];
optional .EStorageBlockFileSystemType filesystem_type = 11 [default = k_EStorageBlockFileSystemType_Invalid];
optional string mount_path = 12;
}
repeated .CMsgStorageDevicesData.Drive drives = 1;
repeated .CMsgStorageDevicesData.BlockDevice block_devices = 2;
optional bool is_unmount_supported = 3;
optional bool is_trim_supported = 4;
optional bool is_trim_running = 5;
}
message CCloud_PendingRemoteOperation {
optional .ECloudPendingRemoteOperation operation = 1 [default = k_ECloudPendingRemoteOperationNone];
optional string machine_name = 2;
optional uint64 client_id = 3;
optional uint32 time_last_updated = 4;
optional int32 os_type = 5;
optional int32 device_type = 6;
}
message CMsgCloudPendingRemoteOperations {
repeated .CCloud_PendingRemoteOperation operations = 1;
}
message CMsgBluetoothDevicesData {
message Adapter {
optional uint32 id = 1 [default = 0];
optional string mac = 2;
optional string name = 3;
optional bool is_enabled = 4;
optional bool is_discovering = 5;
}
message Device {
optional uint32 id = 1 [default = 0];
optional uint32 adapter_id = 2 [default = 0];
optional .EBluetoothDeviceType etype = 3 [default = k_BluetoothDeviceType_Invalid];
optional string mac = 4;
optional string name = 5;
optional bool is_connected = 6;
optional bool is_paired = 7;
optional int32 strength_raw = 8;
optional bool wake_allowed = 9;
optional bool wake_allowed_supported = 10;
optional int32 battery_percent = 11;
}
message Manager {
optional bool is_bluetooth_enabled = 1;
}
repeated .CMsgBluetoothDevicesData.Adapter adapters = 1;
repeated .CMsgBluetoothDevicesData.Device devices = 2;
optional .CMsgBluetoothDevicesData.Manager manager = 3;
}
message CMsgSystemPerfDiagnosticEntry {
optional string name = 1;
optional string value = 2;
}
message CMsgSystemPerfNetworkInterface {
optional string name = 1;
optional double timestamp = 2;
optional int64 tx_bytes_total = 3;
optional int64 rx_bytes_total = 4;
optional int32 tx_bytes_per_sec = 5;
optional int32 rx_bytes_per_sec = 6;
}
message CMsgSystemPerfDiagnosticInfo {
repeated .CMsgSystemPerfDiagnosticEntry entries = 1;
repeated .CMsgSystemPerfNetworkInterface interfaces = 2;
optional float battery_temp_c = 3;
}
message CMsgSystemPerfLimits {
optional int32 cpu_governor_manual_min_mhz = 1;
optional int32 cpu_governor_manual_max_mhz = 2;
optional int32 fsr_sharpness_min = 3;
optional int32 fsr_sharpness_max = 4;
optional int32 gpu_performance_manual_min_mhz = 5;
optional int32 gpu_performance_manual_max_mhz = 6;
optional bool perf_overlay_is_standalone = 7;
optional bool is_dynamic_vrs_available = 8;
optional bool is_manual_display_refresh_rate_available = 9;
repeated .EGPUPerformanceLevel gpu_performance_levels_available = 10;
optional int32 display_refresh_manual_hz_min = 11;
optional int32 display_refresh_manual_hz_max = 12;
repeated int32 fps_limit_options = 13;
optional int32 tdp_limit_min = 14;
optional int32 tdp_limit_max = 15;
optional bool is_nis_supported = 16;
optional int32 nis_sharpness_min = 17;
optional int32 nis_sharpness_max = 18;
optional int32 display_external_refresh_manual_hz_min = 19;
optional int32 display_external_refresh_manual_hz_max = 20;
repeated int32 fps_limit_options_external = 21;
optional bool is_vrr_supported = 23;
optional bool is_dynamic_refresh_rate_in_steam_supported = 24;
optional bool is_split_scaling_and_filtering_supported = 25;
repeated .ESplitScalingFilter split_scaling_filters_available = 26;
repeated .ESplitScalingScaler split_scaling_scalers_available = 27;
optional bool is_hdr_supported = 28;
optional int32 display_refresh_manual_hz_oc_max = 29;
optional bool disable_refresh_rate_management = 30;
}
message CMsgSystemPerfSettingsGlobal {
optional float diagnostic_update_rate = 1;
optional .ESystemServiceState system_trace_service_state = 2 [default = k_ESystemServiceState_Unavailable];
optional .ESystemServiceState graphics_profiling_service_state = 3 [default = k_ESystemServiceState_Unavailable];
optional .ESystemServiceState perf_overlay_service_state = 4 [default = k_ESystemServiceState_Unavailable];
optional .EGraphicsPerfOverlayLevel perf_overlay_level = 5 [default = k_EGraphicsPerfOverlayLevel_Hidden];
optional bool is_show_perf_overlay_over_steam_enabled = 6;
optional bool is_advanced_settings_enabled = 7;
optional bool allow_external_display_refresh_control = 8;
optional bool is_hdr_enabled = 9;
optional .EHDRToneMapOperator hdr_on_sdr_tonemap_operator = 12 [default = k_EHDRToneMapOperator_Invalid];
optional bool is_hdr_debug_heatmap_enabled = 13;
optional bool force_hdr_wide_gammut_for_sdr = 15 [default = true];
optional bool allow_experimental_hdr = 16;
optional float sdr_to_hdr_brightness = 22;
optional bool debug_force_hdr_support = 18;
optional bool force_hdr_10pq_output_debug = 19;
optional bool is_display_oc_enabled = 20;
optional bool is_color_management_enabled = 21;
}
message CMsgSystemPerfSettingsPerApp {
optional int32 gpu_performance_manual_mhz = 1;
optional int32 fps_limit = 2;
optional bool is_variable_resolution_enabled = 3;
optional bool is_dynamic_refresh_rate_enabled = 4;
optional int32 tdp_limit = 5;
optional .ECPUGovernor cpu_governor = 6 [default = k_ECPUGovernor_Invalid];
optional int32 cpu_governor_manual_mhz = 7;
optional int32 scaling_filter = 8;
optional int32 fsr_sharpness = 9;
optional bool is_fps_limit_enabled = 10;
optional bool is_tdp_limit_enabled = 11;
optional bool is_low_latency_mode_enabled = 12;
optional int32 display_refresh_manual_hz = 13;
optional bool is_game_perf_profile_enabled = 14;
optional .EGPUPerformanceLevel gpu_performance_level = 15 [default = k_EGPUPerformanceLevel_Invalid];
optional int32 nis_sharpness = 16;
optional int32 display_external_refresh_manual_hz = 17;
optional int32 fps_limit_external = 18;
optional bool is_tearing_enabled = 19;
optional bool is_vrr_enabled = 20;
optional bool use_dynamic_refresh_rate_in_steam = 23;
optional .ESplitScalingFilter split_scaling_filter = 24 [default = k_ESplitScalingFilter_Invalid];
optional .ESplitScalingScaler split_scaling_scaler = 25 [default = k_ESplitScalingScaler_Invalid];
}
message CMsgSystemPerfSettings {
optional .CMsgSystemPerfSettingsGlobal global = 1;
optional .CMsgSystemPerfSettingsPerApp per_app = 2;
}
message CMsgSystemPerfSettingsV1 {
optional float diagnostic_update_rate = 1;
optional .ESystemServiceState system_trace_service_state = 2 [default = k_ESystemServiceState_Unavailable];
optional .ESystemServiceState graphics_profiling_service_state = 3 [default = k_ESystemServiceState_Unavailable];
optional .ESystemServiceState perf_overlay_service_state = 4 [default = k_ESystemServiceState_Unavailable];
optional .EGraphicsPerfOverlayLevel perf_overlay_level = 5 [default = k_EGraphicsPerfOverlayLevel_Hidden];
optional .EGPUPerformanceLevel gpu_performance_level = 6 [default = k_EGPUPerformanceLevel_Invalid];
optional int32 gpu_performance_manual_mhz = 7;
optional int32 fps_limit = 8;
optional bool is_variable_resolution_enabled = 9;
optional bool is_dynamic_refresh_rate_enabled = 10;
optional int32 tdp_limit = 11;
optional .ECPUGovernor cpu_governor = 12 [default = k_ECPUGovernor_Invalid];
optional int32 cpu_governor_manual_mhz = 13;
optional int32 scaling_filter = 14;
optional int32 fsr_sharpness = 15;
optional bool is_fps_limit_enabled = 16;
optional bool is_tdp_limit_enabled = 17;
optional bool is_show_perf_overlay_over_steam_enabled = 18;
optional bool is_low_latency_mode_enabled = 19;
optional int32 display_refresh_manual_hz = 20;
optional bool is_game_perf_profile_enabled = 21;
}
message CMsgSystemPerfState {
optional .CMsgSystemPerfLimits limits = 1;
optional .CMsgSystemPerfSettings settings = 2;
optional uint64 current_game_id = 3;
optional uint64 active_profile_game_id = 4;
}
message CMsgSystemPerfUpdateSettings {
optional uint64 gameid = 1;
optional bool skip_storage_update = 4;
oneof update {
bool reset_to_default = 2;
.CMsgSystemPerfSettings settings_delta = 3;
}
}
message CMsgSystemPerfLegacySettingEntry {
optional uint64 profile_game_id = 1;
optional .CMsgSystemPerfSettingsPerApp settings = 2;
}
message CMsgSystemPerfLegacySettings {
optional .CMsgSystemPerfSettingsGlobal global = 1;
repeated .CMsgSystemPerfLegacySettingEntry per_app_settings = 2;
}
message CMsgSystemDockUpdateState {
optional .EUpdaterState state = 1 [default = k_EUpdaterState_Invalid];
optional fixed32 rtime_last_checked = 2;
optional string version_current = 3;
optional string version_available = 4;
optional float stage_progress = 5;
optional fixed32 rtime_estimated_completion = 6;
optional int32 old_fw_workaround = 7;
}
message CMsgSystemDockState {
optional .CMsgSystemDockUpdateState update_state = 1;
}
message CMsgSystemDockUpdateFirmware {
optional bool check_only = 1;
}
message CMsgSystemAudioVolume {
message ChannelEntry {
optional .ESystemAudioChannel echannel = 1 [default = k_SystemAudioChannel_Invalid];
optional float volume = 2;
}
repeated .CMsgSystemAudioVolume.ChannelEntry entries = 1;
optional bool is_muted = 2;
}
message CMsgSystemAudioManagerObject {
optional uint32 id = 1;
optional fixed32 rtime_last_update = 2;
}
message CMsgSystemAudioManagerDevice {
optional .CMsgSystemAudioManagerObject base = 1;
optional string name = 2;
optional string nick = 3;
optional string description = 4;
optional string api = 5;
}
message CMsgSystemAudioManagerNode {
optional .CMsgSystemAudioManagerObject base = 1;
optional uint32 device_id = 2;
optional string name = 3;
optional string nick = 4;
optional string description = 5;
optional .ESystemAudioDirection edirection = 6 [default = k_SystemAudioDirection_Invalid];
optional .CMsgSystemAudioVolume volume = 7;
}
message CMsgSystemAudioManagerPort {
optional .CMsgSystemAudioManagerObject base = 1;
optional uint32 node_id = 3;
optional string name = 4;
optional string alias = 5;
optional .ESystemAudioPortType etype = 6 [default = k_SystemAudioPortType_Invalid];
optional .ESystemAudioPortDirection edirection = 7 [default = k_SystemAudioPortDirection_Invalid];
optional bool is_physical = 8;
optional bool is_terminal = 9;
optional bool is_control = 10;
optional bool is_monitor = 11;
}
message CMsgSystemAudioManagerLink {
optional .CMsgSystemAudioManagerObject base = 1;
optional uint32 output_node_id = 2;
optional uint32 output_port_id = 3;
optional uint32 input_node_id = 4;
optional uint32 input_port_id = 5;
}
message CMsgSystemAudioManagerStateHW {
repeated .CMsgSystemAudioManagerDevice devices = 1;
repeated .CMsgSystemAudioManagerNode nodes = 2;
repeated .CMsgSystemAudioManagerPort ports = 3;
repeated .CMsgSystemAudioManagerLink links = 4;
}
message CMsgSystemAudioManagerState {
optional fixed32 rtime_filter = 1;
optional int32 counter = 2;
optional .CMsgSystemAudioManagerStateHW hw = 3;
}
message CMsgSystemAudioManagerUpdateSomething {
optional int32 counter = 1;
}
message CMsgSystemDisplayMode {
optional int32 id = 1;
optional int32 width = 2;
optional int32 height = 3;
optional int32 refresh_hz = 4;
}
message CMsgSystemDisplay {
optional int32 id = 1;
optional string name = 2;
optional string description = 3;
optional bool is_primary = 4;
optional bool is_enabled = 5;
optional bool is_internal = 6;
optional bool has_mode_override = 7;
optional int32 width_mm = 8;
optional int32 height_mm = 9;
optional int32 current_mode_id = 10;
repeated .CMsgSystemDisplayMode modes = 11;
optional int32 refresh_rate_min = 12;
optional int32 refresh_rate_max = 13;
optional bool is_vrr_capable = 14;
optional bool is_vrr_enabled = 15;
optional bool is_hdr_capable = 16;
optional bool is_hdr_enabled = 17;
repeated int32 supported_refresh_rates = 18;
}
message CMsgSystemDisplayManagerState {
repeated .CMsgSystemDisplay displays = 1;
optional bool is_mode_switching_supported = 2;
optional .ESystemDisplayCompatibilityMode compatibility_mode = 3 [default = k_ESystemDisplayCompatibilityMode_Invalid];
}
message CMsgSystemDisplayManagerSetMode {
optional int32 display_id = 1;
optional int32 mode_id = 2;
}
message CMsgSystemManagerSettings {
optional float idle_backlight_dim_battery_seconds = 1;
optional float idle_backlight_dim_ac_seconds = 2;
optional float idle_suspend_battery_seconds = 3;
optional float idle_suspend_ac_seconds = 4;
optional bool idle_suspend_supressed = 5;
optional bool is_adaptive_brightness_available = 6;
optional bool display_adaptive_brightness_enabled = 7;
optional bool display_nightmode_enabled = 10;
optional float display_nightmode_tintstrength = 11;
optional float display_nightmode_maxhue = 12;
optional float display_nightmode_maxsat = 13;
optional float display_nightmode_uiexp = 14;
optional float display_nightmode_blend = 15;
optional bool display_nightmode_reset = 16;
optional bool display_nightmode_schedule_enabled = 17;
optional float display_nightmode_schedule_starttime = 18;
optional float display_nightmode_schedule_endtime = 19;
optional bool display_diagnostics_enabled = 20;
optional float als_lux_primary = 21;
optional float als_lux_median = 22;
optional float display_backlight_raw = 23;
optional float display_brightness_adaptivemin = 24;
optional float display_brightness_adaptivemax = 25;
optional bool is_wifi_powersave_enabled = 26;
optional bool is_fan_control_available = 27;
optional .ESystemFanControlMode fan_control_mode = 28 [default = k_SystemFanControlMode_Invalid];
optional bool is_display_brightness_available = 29;
optional bool is_display_colormanagement_available = 31;
optional float display_colorgamut = 32;
optional float als_lux_alternate = 33;
optional bool is_display_colortemp_available = 34;
optional float display_colortemp = 35;
optional float display_colortemp_default = 36;
optional bool display_colortemp_enabled = 37;
optional .EColorGamutLabelSet display_colorgamut_labelset = 38 [default = k_ColorGamutLabelSet_Default];
optional float display_brightness_overdrive_hdr_split = 39;
}
message CMsgSelectOSBranchParams {
optional .EOSBranch branch = 1 [default = k_EOSBranch_Unknown];
optional string custom_branch = 2;
}
message CMsgSystemUpdateProgress {
optional float stage_progress = 1;
optional int64 stage_size_bytes = 2;
optional fixed32 rtime_estimated_completion = 3;
}
message CMsgSystemUpdateCheckResult {
optional .EUpdaterType type = 1 [default = k_EUpdaterType_Invalid];
optional uint32 eresult = 2 [default = 2];
optional fixed32 rtime_checked = 3;
optional bool available = 4;
optional string version = 5;
optional string auto_message = 6;
optional bool system_restart_pending = 7;
}
message CMsgSystemUpdateApplyParams {
repeated .EUpdaterType apply_types = 1;
}
message CMsgSystemUpdateApplyResult {
optional .EUpdaterType type = 1 [default = k_EUpdaterType_Invalid];
optional uint32 eresult = 2 [default = 2];
optional bool requires_client_restart = 3 [default = false];
optional bool requires_system_restart = 4 [default = false];
}
message CMsgSystemUpdateState {
optional .EUpdaterState state = 1 [default = k_EUpdaterState_Invalid];
optional .CMsgSystemUpdateProgress progress = 2;
repeated .CMsgSystemUpdateCheckResult update_check_results = 3;
repeated .CMsgSystemUpdateApplyResult update_apply_results = 4;
optional bool supports_os_updates = 5;
}
message CMsgAchievementChange {
optional uint32 appid = 1;
}
message CMsgCellList {
message Cell {
optional uint32 cell_id = 1;
optional string loc_name = 2;
}
repeated .CMsgCellList.Cell cells = 1;
}
message CMsgShortcutInfo {
optional uint32 appid = 1;
optional string exe = 2;
optional string start_dir = 3;
optional string icon = 4;
optional string path = 5;
optional string args = 6;
optional string app_name = 7;
optional uint32 override_appid = 8;
optional string flatpak_appid = 9;
repeated string tags = 10;
optional bool is_remote = 11;
optional bool is_hidden = 12;
optional bool is_temporary = 13;
optional bool is_openvr = 14;
optional bool allow_desktop_config = 15;
optional bool allow_overlay = 16;
optional uint32 rt_last_played_time = 17;
optional bool is_devkit_shortcut = 18;
optional string devkit_gameid = 19;
}
message CMsgShortcutAppIds {
repeated uint32 appids = 1;
}
message CMsgMonitorInfo {
message MonitorInfo {
required string monitor_device_name = 1;
required string monitor_display_name = 2;
}
required string selected_display_name = 1;
repeated .CMsgMonitorInfo.MonitorInfo monitors = 2;
}
message CMsgGenerateSystemReportReply {
optional string report_id = 1;
}
message CMsgWebUITransportInfo {
optional uint32 port = 1;
optional string auth_key = 2;
}
message CMsgWebUITransportFailure {
optional uint32 connect_count = 1;
}
message CMsgClientShaderHitCacheEntry {
optional bytes key_sha = 1;
optional bytes code_sha = 2;
optional uint64 time_last_reported = 3;
}
message CMsgClientShaderHitCache {
repeated .CMsgClientShaderHitCacheEntry entries = 1;
}

View File

@@ -0,0 +1,43 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientLANP2PRequestChunks {
message ChunkKey {
optional uint32 depot_id = 1;
optional bytes sha = 2;
}
repeated .CMsgClientLANP2PRequestChunks.ChunkKey chunk_keys = 1;
}
message CMsgClientLANP2PRequestChunksResponse {
message ChunkData {
optional uint32 result = 1;
optional uint32 depot_id = 2;
optional bytes sha = 3;
optional bytes chunk_data = 4;
optional bool encrypted = 5;
optional bool compressed = 6;
}
repeated .CMsgClientLANP2PRequestChunksResponse.ChunkData chunk_responses = 1;
}
message CMsgClientPeerChunkRequest {
optional uint32 app_id = 1;
optional uint32 depot_id = 2;
optional bytes sha = 3;
optional uint64 access_token = 4;
}
message CMsgClientPeerChunkResponse {
optional uint32 result = 1;
optional uint32 app_id = 2;
optional uint32 depot_id = 3;
optional bytes sha = 4;
optional bool encrypted = 5;
optional bool compressed = 6;
optional bytes chunk_data = 7;
}

View File

@@ -0,0 +1,247 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "clientmetrics.proto";
import "enums.proto";
option cc_generic_services = true;
enum ESteamPipeWorkType {
k_ESteamPipeClientWorkType_Invalid = 0;
k_ESteamPipeClientWorkType_StageFromChunkStores = 1;
}
enum ESteamPipeOperationType {
k_ESteamPipeOperationType_Invalid = 0;
k_ESteamPipeOperationType_DecryptCPU = 1;
k_ESteamPipeOperationType_DiskRead = 2;
k_ESteamPipeOperationType_DiskWrite = 3;
}
enum EClipShareMethod {
k_EClipShareMethod_Chat = 1;
k_EClipShareMethod_Clipboard = 2;
k_EClipShareMethod_File = 3;
k_EClipShareMethod_SendClip = 4;
k_EClipShareMethod_SaveToMedia = 5;
k_EClipShareMethod_CreateLink = 6;
}
enum EClipRangeMethod {
k_EClipRangeMethod_CreateClipButton = 1;
k_EClipRangeMethod_Highlight = 2;
k_EClipRangeMethod_BeginEndButtons = 3;
k_EClipRangeMethod_ContextMenu = 4;
k_EClipRangeMethod_Drag = 5;
k_EClipRangeMethod_EntireClip = 6;
}
message CClientMetrics_AppInterfaceCreation {
optional string raw_version = 1;
optional string requested_interface_type = 2;
}
message CClientMetrics_AppInterfaceMethodCounts {
optional string interface_name = 1;
optional string method_name = 2;
optional uint32 call_count = 3;
}
message CClientMetrics_AppInterfaceStats_Notification {
optional uint64 game_id = 1;
repeated .CClientMetrics_AppInterfaceCreation interfaces_created = 2;
repeated .CClientMetrics_AppInterfaceMethodCounts methods_called = 3;
optional uint32 session_length_seconds = 4;
}
message CClientMetrics_IPv6Connectivity_Result {
optional uint32 protocol_tested = 1;
optional uint32 connectivity_state = 2;
}
message CClientMetrics_IPv6Connectivity_Notification {
optional uint32 cell_id = 1;
repeated .CClientMetrics_IPv6Connectivity_Result results = 2;
optional bool private_ip_is_rfc6598 = 3;
}
message CClientMetrics_SteamPipeWorkStats_Operation {
optional .ESteamPipeOperationType type = 1 [default = k_ESteamPipeOperationType_Invalid];
optional uint32 num_ops = 2;
optional uint64 num_bytes = 3;
optional uint64 busy_time_ms = 4;
optional uint64 idle_time_ms = 5;
optional uint64 sum_run_time_ms = 6;
optional uint64 sum_wait_time_ms = 7;
}
message CClientMetrics_SteamPipeWorkStats_Notification {
optional uint32 appid = 1;
optional uint32 depotid = 2;
optional .ESteamPipeWorkType work_type = 3 [default = k_ESteamPipeClientWorkType_Invalid];
repeated .CClientMetrics_SteamPipeWorkStats_Operation operations = 4;
optional uint32 hardware_type = 5;
}
message CClientMetrics_ReportReactUsage_Notification {
message RouteData {
optional string route = 1;
optional uint32 count = 2;
}
message ComponentData {
optional string component = 1;
optional uint32 count = 2;
}
message ActionData {
optional string action = 1;
optional uint32 count = 2;
}
optional string product = 1;
optional string version = 2;
repeated .CClientMetrics_ReportReactUsage_Notification.RouteData routes = 3;
repeated .CClientMetrics_ReportReactUsage_Notification.ComponentData components = 4;
repeated .CClientMetrics_ReportReactUsage_Notification.ActionData actions = 5;
}
message CClientMetrics_ReportClientError_Notification {
message Error {
optional string identifier = 1;
optional string message = 2;
optional uint32 count = 3;
}
optional string product = 1;
optional string version = 2;
repeated .CClientMetrics_ReportClientError_Notification.Error errors = 3;
}
message CClientMetrics_ClientBootstrap_Notification {
optional .CClientMetrics_ClientBootstrap_Summary summary = 1;
}
message CClientMetrics_DownloadRates_Notification {
message StatsInfo {
optional uint32 source_type = 1;
optional uint32 source_id = 2;
optional uint64 bytes = 3;
optional string host_name = 4;
optional uint64 microseconds = 5;
optional bool used_ipv6 = 6;
optional bool proxied = 7;
optional bool used_http2 = 8;
optional uint32 cache_hits = 9;
optional uint32 cache_misses = 10;
optional uint64 hit_bytes = 11;
optional uint64 miss_bytes = 12;
}
optional uint32 cell_id = 1;
repeated .CClientMetrics_DownloadRates_Notification.StatsInfo stats = 2;
optional uint32 throttling_kbps = 3;
optional uint32 os_type = 4;
optional uint32 device_type = 5;
}
message CClientMetrics_ContentValidation_Notification {
optional int32 validation_result = 1;
optional uint32 app_id = 2;
optional bool staged_files = 3;
optional bool user_initiated = 4;
optional bool early_out = 5;
optional uint32 chunks_scanned = 6;
optional uint32 chunks_corrupt = 7;
optional uint64 bytes_scanned = 8;
optional uint64 chunk_bytes_corrupt = 9;
optional uint64 total_file_size_corrupt = 10;
}
message CClientMetrics_CloudAppSyncStats_Notification {
optional uint32 app_id = 1;
optional uint32 platform_type = 2;
optional bool preload = 3;
optional bool blocking_app_launch = 4;
optional uint32 files_uploaded = 5;
optional uint32 files_downloaded = 6;
optional uint32 files_deleted = 7;
optional uint64 bytes_uploaded = 8;
optional uint64 bytes_downloaded = 9;
optional uint64 microsec_total = 10;
optional uint64 microsec_init_caches = 11;
optional uint64 microsec_validate_state = 12;
optional uint64 microsec_ac_launch = 13;
optional uint64 microsec_ac_prep_user_files = 14;
optional uint64 microsec_ac_exit = 15;
optional uint64 microsec_build_sync_list = 16;
optional uint64 microsec_delete_files = 17;
optional uint64 microsec_download_files = 18;
optional uint64 microsec_upload_files = 19;
optional uint32 hardware_type = 20;
optional uint32 files_managed = 21;
}
message CClientMetrics_ContentDownloadResponse_Counts_Notification {
optional uint32 cell_id = 1;
optional .CClientMetrics_ContentDownloadResponse_Hosts data = 2;
}
message CClientMetrics_ReportClientArgs_Notification {
repeated string client_args = 1;
optional bool gpu_webview_regkey_disabled = 2;
optional bool suppress_gpu_chrome = 3;
optional bool browser_not_supported = 4;
optional bool hw_accel_video_regkey_disabled = 5;
optional bool mini_mode_enabled = 6;
optional bool fps_counter_enabled = 7;
optional bool library_low_bandwidth_mode_enabled = 8;
optional bool library_low_perf_mode_enabled = 9;
optional int32 gr_mode = 10;
}
message CClientMetrics_ClipShare_Notification {
optional uint32 eresult = 1 [default = 2];
optional .EClipShareMethod share_method = 2 [default = k_EClipShareMethod_Chat];
optional float seconds = 3;
optional uint64 bytes = 4;
optional fixed64 gameid = 5;
}
message CClientMetrics_ClipRange_Notification {
message RelativeRangeEdge {
optional .EClipRangeMethod original_range_method = 1 [default = k_EClipRangeMethod_CreateClipButton];
optional .EClipRangeMethod latest_range_method = 2 [default = k_EClipRangeMethod_CreateClipButton];
optional int32 delta_ms = 3;
}
optional .EClipRangeMethod original_range_method = 1 [default = k_EClipRangeMethod_CreateClipButton];
optional .CClientMetrics_ClipRange_Notification.RelativeRangeEdge start = 2;
optional .CClientMetrics_ClipRange_Notification.RelativeRangeEdge end = 3;
optional float seconds = 4;
optional fixed64 gameid = 5;
}
message CClientMetrics_EndGameRecording_Notification {
optional .EGameRecordingType recording_type = 1 [default = k_EGameRecordingType_Unknown];
optional float seconds = 2;
optional uint64 bytes = 3;
optional fixed64 gameid = 4;
optional bool instant_clip = 5;
}
service ClientMetrics {
rpc ClientAppInterfaceStatsReport (.CClientMetrics_AppInterfaceStats_Notification) returns (.NoResponse);
rpc ClientIPv6ConnectivityReport (.CClientMetrics_IPv6Connectivity_Notification) returns (.NoResponse);
rpc SteamPipeWorkStatsReport (.CClientMetrics_SteamPipeWorkStats_Notification) returns (.NoResponse);
rpc ReportReactUsage (.CClientMetrics_ReportReactUsage_Notification) returns (.NoResponse);
rpc ReportClientError (.CClientMetrics_ReportClientError_Notification) returns (.NoResponse);
rpc ClientBootstrapReport (.CClientMetrics_ClientBootstrap_Notification) returns (.NoResponse);
rpc ClientDownloadRatesReport (.CClientMetrics_DownloadRates_Notification) returns (.NoResponse);
rpc ClientContentValidationReport (.CClientMetrics_ContentValidation_Notification) returns (.NoResponse);
rpc ClientCloudAppSyncStats (.CClientMetrics_CloudAppSyncStats_Notification) returns (.NoResponse);
rpc ClientDownloadResponseCodeCounts (.CClientMetrics_ContentDownloadResponse_Counts_Notification) returns (.NoResponse);
rpc ReportClientArgs (.CClientMetrics_ReportClientArgs_Notification) returns (.NoResponse);
rpc ReportClipShare (.CClientMetrics_ClipShare_Notification) returns (.NoResponse);
rpc ReportClipRange (.CClientMetrics_ClipRange_Notification) returns (.NoResponse);
rpc ReportEndGameRecording (.CClientMetrics_EndGameRecording_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,280 @@
option optimize_for = SPEED;
option cc_generic_services = true;
enum EClientNotificationType {
k_EClientNotificationType_Invalid = 0;
k_EClientNotificationType_DownloadCompleted = 1;
k_EClientNotificationType_FriendInvite = 2;
k_EClientNotificationType_FriendInGame = 3;
k_EClientNotificationType_FriendOnline = 4;
k_EClientNotificationType_Achievement = 5;
k_EClientNotificationType_LowBattery = 6;
k_EClientNotificationType_SystemUpdate = 7;
k_EClientNotificationType_FriendMessage = 8;
k_EClientNotificationType_GroupChatMessage = 9;
k_EClientNotificationType_FriendInviteRollup = 10;
k_EClientNotificationType_FamilySharingDeviceAuthorizationChanged = 11;
k_EClientNotificationType_FamilySharingStopPlaying = 12;
k_EClientNotificationType_FamilySharingLibraryAvailable = 13;
k_EClientNotificationType_Screenshot = 14;
k_EClientNotificationType_CloudSyncFailure = 15;
k_EClientNotificationType_CloudSyncConflict = 16;
k_EClientNotificationType_IncomingVoiceChat = 17;
k_EClientNotificationType_ClaimSteamDeckRewards = 18;
k_EClientNotificationType_GiftReceived = 19;
k_EClientNotificationType_ItemAnnouncement = 20;
k_EClientNotificationType_HardwareSurvey = 21;
k_EClientNotificationType_LowDiskSpace = 22;
k_EClientNotificationType_BatteryTemperature = 23;
k_EClientNotificationType_DockUnsupportedFirmware = 24;
k_EClientNotificationType_PeerContentUpload = 25;
k_EClientNotificationType_CannotReadControllerGuideButton = 26;
k_EClientNotificationType_Comment = 27;
k_EClientNotificationType_Wishlist = 28;
k_EClientNotificationType_TradeOffer = 29;
k_EClientNotificationType_AsyncGame = 30;
k_EClientNotificationType_General = 31;
k_EClientNotificationType_HelpRequest = 32;
k_EClientNotificationType_OverlaySplashScreen = 33;
k_EClientNotificationType_BroadcastAvailableToWatch = 34;
k_EClientNotificationType_TimedTrialRemaining = 35;
k_EClientNotificationType_LoginRefresh = 36;
k_EClientNotificationType_MajorSale = 37;
k_EClientNotificationType_TimerExpired = 38;
k_EClientNotificationType_ModeratorMsg = 39;
k_EClientNotificationType_SteamInputActionSetChanged = 40;
k_EClientNotificationType_RemoteClientConnection = 41;
k_EClientNotificationType_RemoteClientStartStream = 42;
k_EClientNotificationType_StreamingClientConnection = 43;
k_EClientNotificationType_FamilyInvite = 44;
k_EClientNotificationType_PlaytimeWarning = 45;
k_EClientNotificationType_FamilyPurchaseRequest = 46;
k_EClientNotificationType_FamilyPurchaseRequestResponse = 47;
k_EClientNotificationType_ParentalFeatureRequest = 48;
k_EClientNotificationType_ParentalPlaytimeRequest = 49;
k_EClientNotificationType_GameRecordingError = 50;
k_EClientNotificationType_ParentalFeatureResponse = 51;
k_EClientNotificationType_ParentalPlaytimeResponse = 52;
k_EClientNotificationType_RequestedGameAdded = 53;
k_EClientNotificationType_ClipDownloaded = 54;
k_EClientNotificationType_GameRecordingStart = 55;
k_EClientNotificationType_GameRecordingStop = 56;
k_EClientNotificationType_GameRecordingUserMarkerAdded = 57;
k_EClientNotificationType_GameRecordingInstantClip = 58;
}
enum ESystemUpdateNotificationType {
k_ESystemUpdateNotificationType_Invalid = 0;
k_ESystemUpdateNotificationType_Available = 1;
k_ESystemUpdateNotificationType_NeedsRestart = 2;
}
enum EGameRecordingErrorType {
k_EGameRecordingErrorGeneral = 1;
k_EGameRecordingErrorLowDiskSpace = 2;
}
message CClientNotificationCloudSyncFailure {
optional uint32 appid = 1;
}
message CClientNotificationCloudSyncConflict {
optional uint32 appid = 1;
}
message CClientNotificationScreenshot {
optional string screenshot_handle = 1;
optional string description = 2;
optional string local_url = 3;
}
message CClientNotificationDownloadCompleted {
optional uint32 appid = 1;
optional uint32 dlc_appid = 2;
}
message CClientNotificationFriendInvite {
optional fixed64 steamid = 1;
}
message CClientNotificationFriendInviteRollup {
optional uint32 new_invite_count = 1;
}
message CClientNotificationFriendInGame {
optional fixed64 steamid = 1;
optional string game_name = 2;
}
message CClientNotificationFriendOnline {
optional fixed64 steamid = 1;
}
message CClientNotificationAchievement {
optional string achievement_id = 1;
optional uint32 appid = 2;
optional string name = 3;
optional string description = 4;
optional string image_url = 5;
optional bool achieved = 6;
optional uint32 rtime_unlocked = 7;
optional float min_progress = 8;
optional float current_progress = 9;
optional float max_progress = 10;
optional float global_achieved_pct = 11;
}
message CClientNotificationLowBattery {
optional float pct_remaining = 1;
}
message CClientNotificationSystemUpdate {
optional .ESystemUpdateNotificationType type = 1 [default = k_ESystemUpdateNotificationType_Invalid];
}
message CClientNotificationFriendMessage {
optional string tag = 1;
optional string steamid = 2;
optional string title = 3;
optional string body = 4;
optional string icon = 5;
optional uint32 notificationid = 6;
optional string response_steamurl = 7;
}
message CClientNotificationGroupChatMessage {
optional string tag = 1;
optional string steamid_sender = 2;
optional string chat_group_id = 3;
optional string chat_id = 4;
optional string title = 5;
optional string body = 6;
optional string rawbody = 7;
optional string icon = 8;
optional uint32 notificationid = 9;
}
message CClientNotificationFamilySharingDeviceAuthorizationChanged {
optional uint32 accountid_owner = 1;
optional bool authorized = 2;
}
message CClientNotificationFamilySharingStopPlaying {
optional uint32 accountid_owner = 1;
optional uint32 seconds_remaining = 2;
optional uint32 appid = 3;
}
message CClientNotificationFamilySharingLibraryAvailable {
optional uint32 accountid_owner = 1;
}
message CClientNotificationIncomingVoiceChat {
optional fixed64 steamid = 1;
}
message CClientNotificationClaimSteamDeckRewards {
}
message CClientNotificationGiftReceived {
optional string sender_name = 1;
}
message CClientNotificationItemAnnouncement {
optional uint32 new_item_count = 1;
optional bool new_backpack_items = 2;
}
message CClientNotificationHardwareSurveyPending {
}
message CClientNotificationLowDiskSpace {
optional uint32 folder_index = 1;
}
message CClientNotificationBatteryTemperature {
optional uint32 temperature = 1;
optional string notification_type = 2;
}
message CClientNotificationDockUnsupportedFirmware {
}
message CClientNotificationPeerContentUpload {
optional uint32 appid = 1;
optional string peer_name = 2;
}
message CClientNotificationCannotReadControllerGuideButton {
optional int32 controller_index = 1;
}
message CClientNotificationOverlaySplashScreen {
}
message CClientNotificationBroadcastAvailableToWatch {
optional int32 broadcast_permission = 1;
}
message CClientNotificationTimedTrialRemaining {
optional uint32 appid = 1;
optional string icon = 2;
optional bool offline = 3;
optional uint32 allowed_seconds = 4;
optional uint32 played_seconds = 5;
}
message CClientNotificationLoginRefresh {
}
message CClientNotificationTimerExpired {
}
message CClientNotificationSteamInputActionSetChanged {
optional int32 controller_index = 1;
optional string action_set_name = 2;
}
message CClientNotificationRemoteClientConnection {
optional string machine = 1;
optional bool connected = 2;
}
message CClientNotificationRemoteClientStartStream {
optional string machine = 1;
optional string game_name = 2;
}
message CClientNotificationStreamingClientConnection {
optional string hostname = 1;
optional string machine = 2;
optional bool connected = 3;
}
message CClientNotificationPlaytimeWarning {
optional string type = 1;
optional uint32 playtime_remaining = 2;
}
message CClientNotificationGameRecordingError {
optional fixed64 game_id = 1;
optional .EGameRecordingErrorType error_type = 2 [default = k_EGameRecordingErrorGeneral];
}
message CClientNotificationGameRecordingStart {
optional fixed64 game_id = 1;
}
message CClientNotificationGameRecordingStop {
optional fixed64 game_id = 1;
optional string clip_id = 2;
}
message CClientNotificationGameRecordingUserMarkerAdded {
optional fixed64 game_id = 1;
}
message CClientNotificationGameRecordingInstantClip {
optional fixed64 game_id = 1;
optional string clip_id = 2;
}

View File

@@ -0,0 +1,392 @@
import "steammessages_base.proto";
import "encrypted_app_ticket.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientRegisterAuthTicketWithCM {
optional uint32 protocol_version = 1;
optional bytes ticket = 3;
optional uint64 client_instance_id = 4;
}
message CMsgClientTicketAuthComplete {
optional fixed64 steam_id = 1;
optional fixed64 game_id = 2;
optional uint32 estate = 3;
optional uint32 eauth_session_response = 4;
optional bytes DEPRECATED_ticket = 5;
optional uint32 ticket_crc = 6;
optional uint32 ticket_sequence = 7;
optional fixed64 owner_steam_id = 8;
}
message CMsgClientCMList {
repeated uint32 cm_addresses = 1;
repeated uint32 cm_ports = 2;
repeated string cm_websocket_addresses = 3;
optional uint32 percent_default_to_websocket = 4;
}
message CMsgClientP2PConnectionInfo {
optional fixed64 steam_id_dest = 1;
optional fixed64 steam_id_src = 2;
optional uint32 app_id = 3;
optional bytes candidate = 4;
optional fixed64 legacy_connection_id_src = 5;
optional bytes rendezvous = 6;
}
message CMsgClientP2PConnectionFailInfo {
optional fixed64 steam_id_dest = 1;
optional fixed64 steam_id_src = 2;
optional uint32 app_id = 3;
optional uint32 ep2p_session_error = 4;
optional fixed64 connection_id_dest = 5;
optional uint32 close_reason = 7;
optional string close_message = 8;
}
message CMsgClientNetworkingCertRequest {
optional bytes key_data = 2;
optional uint32 app_id = 3;
}
message CMsgClientNetworkingCertReply {
optional bytes cert = 4;
optional fixed64 ca_key_id = 5;
optional bytes ca_signature = 6;
}
message CMsgClientNetworkingMobileCertRequest {
optional uint32 app_id = 1;
}
message CMsgClientNetworkingMobileCertReply {
optional string encoded_cert = 1;
}
message CMsgClientGetAppOwnershipTicket {
optional uint32 app_id = 1;
}
message CMsgClientGetAppOwnershipTicketResponse {
optional uint32 eresult = 1 [default = 2];
optional uint32 app_id = 2;
optional bytes ticket = 3;
}
message CMsgClientSessionToken {
optional uint64 token = 1;
}
message CMsgClientGameConnectTokens {
optional uint32 max_tokens_to_keep = 1 [default = 10];
repeated bytes tokens = 2;
}
message CMsgClientGamesPlayed {
message ProcessInfo {
optional uint32 process_id = 1;
optional uint32 process_id_parent = 2;
optional bool parent_is_steam = 3;
}
message GamePlayed {
optional uint64 steam_id_gs = 1;
optional fixed64 game_id = 2;
optional uint32 deprecated_game_ip_address = 3;
optional uint32 game_port = 4;
optional bool is_secure = 5;
optional bytes token = 6;
optional string game_extra_info = 7;
optional bytes game_data_blob = 8;
optional uint32 process_id = 9;
optional uint32 streaming_provider_id = 10;
optional uint32 game_flags = 11;
optional uint32 owner_id = 12;
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];
optional uint32 launch_source = 21 [default = 0];
optional uint32 vr_hmd_runtime = 22;
optional .CMsgIPAddress game_ip_address = 23;
optional uint32 controller_connection_type = 24 [default = 0];
optional int32 game_os_platform = 25;
optional uint32 game_build_id = 26;
optional uint32 compat_tool_id = 27 [default = 0];
optional string compat_tool_cmd = 28;
optional uint32 compat_tool_build_id = 29;
optional string beta_name = 30;
optional uint32 dlc_context = 31;
repeated .CMsgClientGamesPlayed.ProcessInfo process_id_list = 32;
}
repeated .CMsgClientGamesPlayed.GamePlayed games_played = 1;
optional uint32 client_os_type = 2;
optional uint32 cloud_gaming_platform = 3;
optional bool recent_reauthentication = 4;
}
message CMsgGSApprove {
optional fixed64 steam_id = 1;
optional fixed64 owner_steam_id = 2;
}
message CMsgGSDeny {
optional fixed64 steam_id = 1;
optional int32 edeny_reason = 2;
optional string deny_string = 3;
}
message CMsgGSKick {
optional fixed64 steam_id = 1;
optional int32 edeny_reason = 2;
}
message CMsgClientAuthList {
optional uint32 tokens_left = 1;
optional uint32 last_request_seq = 2;
optional uint32 last_request_seq_from_server = 3;
repeated .CMsgAuthTicket tickets = 4;
repeated uint32 app_ids = 5;
optional uint32 message_sequence = 6;
optional bool filtered = 7;
}
message CMsgClientAuthListAck {
repeated uint32 ticket_crc = 1;
repeated uint32 app_ids = 2;
optional uint32 message_sequence = 3;
}
message CMsgClientLicenseList {
message License {
optional uint32 package_id = 1;
optional fixed32 time_created = 2;
optional fixed32 time_next_process = 3;
optional int32 minute_limit = 4;
optional int32 minutes_used = 5;
optional uint32 payment_method = 6;
optional uint32 flags = 7;
optional string purchase_country_code = 8;
optional uint32 license_type = 9;
optional int32 territory_code = 10;
optional int32 change_number = 11;
optional uint32 owner_id = 12;
optional uint32 initial_period = 13;
optional uint32 initial_time_unit = 14;
optional uint32 renewal_period = 15;
optional uint32 renewal_time_unit = 16;
optional uint64 access_token = 17;
optional uint32 master_package_id = 18;
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgClientLicenseList.License licenses = 2;
}
message CMsgClientIsLimitedAccount {
optional bool bis_limited_account = 1;
optional bool bis_community_banned = 2;
optional bool bis_locked_account = 3;
optional bool bis_limited_account_allowed_to_invite_friends = 4;
}
message CMsgClientRequestedClientStats {
message StatsToSend {
optional uint32 client_stat = 1;
optional uint32 stat_aggregate_method = 2;
}
repeated .CMsgClientRequestedClientStats.StatsToSend stats_to_send = 1;
}
message CMsgClientStat2 {
message StatDetail {
optional uint32 client_stat = 1;
optional int64 ll_value = 2;
optional uint32 time_of_day = 3;
optional uint32 cell_id = 4;
optional uint32 depot_id = 5;
optional uint32 app_id = 6;
}
repeated .CMsgClientStat2.StatDetail stat_detail = 1;
}
message CMsgClientInviteToGame {
optional fixed64 steam_id_dest = 1;
optional fixed64 steam_id_src = 2;
optional string connect_string = 3;
optional string remote_play = 4;
}
message CMsgClientChatInvite {
optional fixed64 steam_id_invited = 1;
optional fixed64 steam_id_chat = 2;
optional fixed64 steam_id_patron = 3;
optional int32 chatroom_type = 4;
optional fixed64 steam_id_friend_chat = 5;
optional string chat_name = 6;
optional fixed64 game_id = 7;
}
message CMsgClientConnectionStats {
message Stats_Logon {
optional int32 connect_attempts = 1;
optional int32 connect_successes = 2;
optional int32 connect_failures = 3;
optional int32 connections_dropped = 4;
optional uint32 seconds_running = 5;
optional uint32 msec_tologonthistime = 6;
optional uint32 count_bad_cms = 7;
optional bool no_udp_connectivity = 8;
optional bool no_tcp_connectivity = 9;
optional bool no_websocket_443_connectivity = 10;
optional bool no_websocket_non_443_connectivity = 11;
}
message Stats_UDP {
optional uint64 pkts_sent = 1;
optional uint64 bytes_sent = 2;
optional uint64 pkts_recv = 3;
optional uint64 pkts_processed = 4;
optional uint64 bytes_recv = 5;
}
message Stats_VConn {
optional uint32 connections_udp = 1;
optional uint32 connections_tcp = 2;
optional .CMsgClientConnectionStats.Stats_UDP stats_udp = 3;
optional uint64 pkts_abandoned = 4;
optional uint64 conn_req_received = 5;
optional uint64 pkts_resent = 6;
optional uint64 msgs_sent = 7;
optional uint64 msgs_sent_failed = 8;
optional uint64 msgs_recv = 9;
optional uint64 datagrams_sent = 10;
optional uint64 datagrams_recv = 11;
optional uint64 bad_pkts_recv = 12;
optional uint64 unknown_conn_pkts_recv = 13;
optional uint64 missed_pkts_recv = 14;
optional uint64 dup_pkts_recv = 15;
optional uint64 failed_connect_challenges = 16;
optional uint32 micro_sec_avg_latency = 17;
optional uint32 micro_sec_min_latency = 18;
optional uint32 micro_sec_max_latency = 19;
}
optional .CMsgClientConnectionStats.Stats_Logon stats_logon = 1;
optional .CMsgClientConnectionStats.Stats_VConn stats_vconn = 2;
}
message CMsgClientServersAvailable {
message Server_Types_Available {
optional uint32 server = 1;
optional bool changed = 2;
}
repeated .CMsgClientServersAvailable.Server_Types_Available server_types_available = 1;
optional uint32 server_type_for_auth_services = 2;
}
message CMsgClientReportOverlayDetourFailure {
repeated string failure_strings = 1;
}
message CMsgClientRequestEncryptedAppTicket {
optional uint32 app_id = 1;
optional bytes userdata = 2;
}
message CMsgClientRequestEncryptedAppTicketResponse {
optional uint32 app_id = 1;
optional int32 eresult = 2 [default = 2];
optional .EncryptedAppTicket encrypted_app_ticket = 3;
}
message CMsgClientWalletInfoUpdate {
optional bool has_wallet = 1;
optional int32 balance = 2;
optional int32 currency = 3;
optional int32 balance_delayed = 4;
optional int64 balance64 = 5 [(php_output_always_number) = true];
optional int64 balance64_delayed = 6 [(php_output_always_number) = true];
optional int32 realm = 7;
}
message CMsgClientAMGetClanOfficers {
optional fixed64 steamid_clan = 1;
}
message CMsgClientAMGetClanOfficersResponse {
optional int32 eresult = 1 [default = 2];
optional fixed64 steamid_clan = 2;
optional int32 officer_count = 3;
}
message CMsgClientAMGetPersonaNameHistory {
message IdInstance {
optional fixed64 steamid = 1;
}
optional int32 id_count = 1;
repeated .CMsgClientAMGetPersonaNameHistory.IdInstance Ids = 2;
}
message CMsgClientAMGetPersonaNameHistoryResponse {
message NameTableInstance {
message NameInstance {
optional fixed32 name_since = 1;
optional string name = 2;
}
optional int32 eresult = 1 [default = 2];
optional fixed64 steamid = 2;
repeated .CMsgClientAMGetPersonaNameHistoryResponse.NameTableInstance.NameInstance names = 3;
}
repeated .CMsgClientAMGetPersonaNameHistoryResponse.NameTableInstance responses = 2;
}
message CMsgClientDeregisterWithServer {
optional uint32 eservertype = 1;
optional uint32 app_id = 2;
}
message CMsgClientClanState {
message NameInfo {
optional string clan_name = 1;
optional bytes sha_avatar = 2;
}
message UserCounts {
optional uint32 members = 1;
optional uint32 online = 2;
optional uint32 chatting = 3;
optional uint32 in_game = 4;
optional uint32 chat_room_members = 5;
}
message Event {
optional fixed64 gid = 1;
optional uint32 event_time = 2;
optional string headline = 3;
optional fixed64 game_id = 4;
optional bool just_posted = 5;
}
optional fixed64 steamid_clan = 1;
optional uint32 clan_account_flags = 3;
optional .CMsgClientClanState.NameInfo name_info = 4;
optional .CMsgClientClanState.UserCounts user_counts = 5;
repeated .CMsgClientClanState.Event events = 6;
repeated .CMsgClientClanState.Event announcements = 7;
optional bool chat_room_private = 8;
}

View File

@@ -0,0 +1,771 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientUpdateUserGameInfo {
optional fixed64 steamid_idgs = 1;
optional fixed64 gameid = 2;
optional uint32 game_ip = 3;
optional uint32 game_port = 4;
optional bytes token = 5;
}
message CMsgClientRichPresenceUpload {
optional bytes rich_presence_kv = 1;
repeated fixed64 steamid_broadcast = 2;
}
message CMsgClientRichPresenceRequest {
repeated fixed64 steamid_request = 1;
}
message CMsgClientRichPresenceInfo {
message RichPresence {
optional fixed64 steamid_user = 1;
optional bytes rich_presence_kv = 2;
}
repeated .CMsgClientRichPresenceInfo.RichPresence rich_presence = 1;
}
message CMsgClientCheckFileSignature {
optional uint32 app_id = 1;
}
message CMsgClientCheckFileSignatureResponse {
optional uint32 app_id = 1;
optional uint32 pid = 2;
optional uint32 eresult = 3;
optional string filename = 4;
optional uint32 esignatureresult = 5;
optional bytes sha_file = 6;
optional bytes signatureheader = 7;
optional uint32 filesize = 8;
optional uint32 getlasterror = 9;
optional uint32 evalvesignaturecheckdetail = 10;
}
message CMsgClientReadMachineAuth {
optional string filename = 1;
optional uint32 offset = 2;
optional uint32 cubtoread = 3;
}
message CMsgClientReadMachineAuthResponse {
optional string filename = 1;
optional uint32 eresult = 2;
optional uint32 filesize = 3;
optional bytes sha_file = 4;
optional uint32 getlasterror = 5;
optional uint32 offset = 6;
optional uint32 cubread = 7;
optional bytes bytes_read = 8;
optional string filename_sentry = 9;
}
message CMsgClientUpdateMachineAuth {
optional string filename = 1;
optional uint32 offset = 2;
optional uint32 cubtowrite = 3;
optional bytes bytes = 4;
optional uint32 otp_type = 5;
optional string otp_identifier = 6;
optional bytes otp_sharedsecret = 7;
optional uint32 otp_timedrift = 8;
}
message CMsgClientUpdateMachineAuthResponse {
optional string filename = 1;
optional uint32 eresult = 2;
optional uint32 filesize = 3;
optional bytes sha_file = 4;
optional uint32 getlasterror = 5;
optional uint32 offset = 6;
optional uint32 cubwrote = 7;
optional int32 otp_type = 8;
optional uint32 otp_value = 9;
optional string otp_identifier = 10;
}
message CMsgClientRequestMachineAuth {
optional string filename = 1;
optional uint32 eresult_sentryfile = 2;
optional uint32 filesize = 3;
optional bytes sha_sentryfile = 4;
optional int32 lock_account_action = 6;
optional uint32 otp_type = 7;
optional string otp_identifier = 8;
optional bytes otp_sharedsecret = 9;
optional uint32 otp_value = 10;
optional string machine_name = 11;
optional string machine_name_userchosen = 12;
}
message CMsgClientRequestMachineAuthResponse {
optional uint32 eresult = 1;
}
message CMsgClientRegisterKey {
optional string key = 1;
}
message CMsgClientPurchaseResponse {
optional int32 eresult = 1 [default = 2];
optional int32 purchase_result_details = 2;
optional bytes purchase_receipt_info = 3;
}
message CMsgClientActivateOEMLicense {
optional string bios_manufacturer = 1;
optional string bios_serialnumber = 2;
optional bytes license_file = 3;
optional string mainboard_manufacturer = 4;
optional string mainboard_product = 5;
optional string mainboard_serialnumber = 6;
}
message CMsgClientRegisterOEMMachine {
optional bytes oem_register_file = 1;
}
message CMsgClientRegisterOEMMachineResponse {
optional uint32 eresult = 1;
}
message CMsgClientPurchaseWithMachineID {
optional uint32 package_id = 1;
optional bytes machine_info = 2;
}
message CMsgTrading_InitiateTradeRequest {
optional uint32 trade_request_id = 1;
optional uint64 other_steamid = 2;
optional string other_name = 3;
}
message CMsgTrading_InitiateTradeResponse {
optional uint32 response = 1;
optional uint32 trade_request_id = 2;
optional uint64 other_steamid = 3;
optional uint32 steamguard_required_days = 4;
optional uint32 new_device_cooldown_days = 5;
optional uint32 default_password_reset_probation_days = 6;
optional uint32 password_reset_probation_days = 7;
optional uint32 default_email_change_probation_days = 8;
optional uint32 email_change_probation_days = 9;
}
message CMsgTrading_CancelTradeRequest {
optional uint64 other_steamid = 1;
}
message CMsgTrading_StartSession {
optional uint64 other_steamid = 1;
}
message CMsgClientGetCDNAuthToken {
optional uint32 depot_id = 1;
optional string host_name = 2;
optional uint32 app_id = 3;
}
message CMsgClientGetDepotDecryptionKey {
optional uint32 depot_id = 1;
optional uint32 app_id = 2;
}
message CMsgClientGetDepotDecryptionKeyResponse {
optional int32 eresult = 1 [default = 2];
optional uint32 depot_id = 2;
optional bytes depot_encryption_key = 3;
}
message CMsgClientCheckAppBetaPassword {
optional uint32 app_id = 1;
optional string betapassword = 2;
optional int32 language = 3;
}
message CMsgClientCheckAppBetaPasswordResponse {
message BetaPassword {
optional string betaname = 1;
optional string betapassword = 2;
optional string betadescription = 3;
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgClientCheckAppBetaPasswordResponse.BetaPassword betapasswords = 4;
}
message CMsgClientGetCDNAuthTokenResponse {
optional uint32 eresult = 1 [default = 2];
optional string token = 2;
optional uint32 expiration_time = 3;
}
message CMsgDownloadRateStatistics {
message StatsInfo {
optional uint32 source_type = 1;
optional uint32 source_id = 2;
optional uint32 seconds = 3;
optional uint64 bytes = 4;
optional string host_name = 5;
optional uint64 microseconds = 6;
optional bool used_ipv6 = 7;
optional bool proxied = 8;
}
optional uint32 cell_id = 1;
repeated .CMsgDownloadRateStatistics.StatsInfo stats = 2;
optional uint32 throttling_kbps = 3;
optional uint32 steam_realm = 4;
}
message CMsgClientRequestAccountData {
optional string account_or_email = 1;
optional uint32 action = 2;
}
message CMsgClientRequestAccountDataResponse {
optional uint32 action = 1;
optional uint32 eresult = 2;
optional string account_name = 3;
optional uint32 ct_matches = 4;
optional string account_name_suggestion1 = 5;
optional string account_name_suggestion2 = 6;
optional string account_name_suggestion3 = 7;
}
message CMsgClientUGSGetGlobalStats {
optional uint64 gameid = 1;
optional uint32 history_days_requested = 2;
optional fixed32 time_last_requested = 3;
optional uint32 first_day_cached = 4;
optional uint32 days_cached = 5;
}
message CMsgClientUGSGetGlobalStatsResponse {
message Day {
message Stat {
optional int32 stat_id = 1;
optional int64 data = 2;
}
optional uint32 day_id = 1;
repeated .CMsgClientUGSGetGlobalStatsResponse.Day.Stat stats = 2;
}
optional int32 eresult = 1 [default = 2];
optional fixed32 timestamp = 2;
optional int32 day_current = 3;
repeated .CMsgClientUGSGetGlobalStatsResponse.Day days = 4;
}
message CMsgClientRedeemGuestPass {
optional fixed64 guest_pass_id = 1;
}
message CMsgClientRedeemGuestPassResponse {
optional uint32 eresult = 1 [default = 2];
optional uint32 package_id = 2;
optional uint32 must_own_appid = 3;
}
message CMsgClientGetClanActivityCounts {
repeated uint64 steamid_clans = 1;
}
message CMsgClientGetClanActivityCountsResponse {
optional uint32 eresult = 1 [default = 2];
}
message CMsgClientOGSReportString {
optional bool accumulated = 1;
optional uint64 sessionid = 2;
optional int32 severity = 3;
optional string formatter = 4;
optional bytes varargs = 5;
}
message CMsgClientOGSReportBug {
optional uint64 sessionid = 1;
optional string bugtext = 2;
optional bytes screenshot = 3;
}
message CMsgClientSentLogs {
}
message CMsgGCClient {
optional uint32 appid = 1;
optional uint32 msgtype = 2;
optional bytes payload = 3;
optional fixed64 steamid = 4;
optional string gcname = 5;
optional uint32 ip = 6;
}
message CMsgClientRequestFreeLicense {
repeated uint32 appids = 2;
}
message CMsgClientRequestFreeLicenseResponse {
optional uint32 eresult = 1 [default = 2];
repeated uint32 granted_packageids = 2;
repeated uint32 granted_appids = 3;
}
message CMsgDRMDownloadRequestWithCrashData {
optional uint32 download_flags = 1;
optional uint32 download_types_known = 2;
optional bytes guid_drm = 3;
optional bytes guid_split = 4;
optional bytes guid_merge = 5;
optional string module_name = 6;
optional string module_path = 7;
optional bytes crash_data = 8;
}
message CMsgDRMDownloadResponse {
optional uint32 eresult = 1 [default = 2];
optional uint32 app_id = 2;
optional uint32 blob_download_type = 3;
optional bytes merge_guid = 4;
optional uint32 download_file_dfs_ip = 5;
optional uint32 download_file_dfs_port = 6;
optional string download_file_url = 7;
optional string module_path = 8;
}
message CMsgDRMFinalResult {
optional uint32 eResult = 1 [default = 2];
optional uint32 app_id = 2;
optional uint32 blob_download_type = 3;
optional uint32 error_detail = 4;
optional bytes merge_guid = 5;
optional uint32 download_file_dfs_ip = 6;
optional uint32 download_file_dfs_port = 7;
optional string download_file_url = 8;
}
message CMsgClientDPCheckSpecialSurvey {
optional uint32 survey_id = 1;
}
message CMsgClientDPCheckSpecialSurveyResponse {
optional uint32 eResult = 1 [default = 2];
optional uint32 state = 2;
optional string name = 3;
optional string custom_url = 4;
optional bool include_software = 5;
optional bytes token = 6;
}
message CMsgClientDPSendSpecialSurveyResponse {
optional uint32 survey_id = 1;
optional bytes data = 2;
}
message CMsgClientDPSendSpecialSurveyResponseReply {
optional uint32 eResult = 1 [default = 2];
optional bytes token = 2;
}
message CMsgClientRequestForgottenPasswordEmail {
optional string account_name = 1;
optional string password_tried = 2;
}
message CMsgClientRequestForgottenPasswordEmailResponse {
optional uint32 eResult = 1;
optional bool use_secret_question = 2;
}
message CMsgClientItemAnnouncements {
message UnseenItem {
optional uint32 appid = 1;
optional uint64 context_id = 2;
optional uint64 asset_id = 3;
optional uint64 amount = 4;
optional fixed32 rtime32_gained = 5;
optional uint32 source_appid = 6;
}
optional uint32 count_new_items = 1;
repeated .CMsgClientItemAnnouncements.UnseenItem unseen_items = 2;
}
message CMsgClientRequestItemAnnouncements {
}
message CMsgClientUserNotifications {
message Notification {
optional uint32 user_notification_type = 1;
optional uint32 count = 2;
}
repeated .CMsgClientUserNotifications.Notification notifications = 1;
}
message CMsgClientCommentNotifications {
optional uint32 count_new_comments = 1;
optional uint32 count_new_comments_owner = 2;
optional uint32 count_new_comments_subscriptions = 3;
}
message CMsgClientRequestCommentNotifications {
}
message CMsgClientOfflineMessageNotification {
optional uint32 offline_messages = 1;
repeated uint32 friends_with_offline_messages = 2;
}
message CMsgClientRequestOfflineMessageCount {
}
message CMsgClientChatGetFriendMessageHistory {
optional fixed64 steamid = 1;
}
message CMsgClientChatGetFriendMessageHistoryResponse {
message FriendMessage {
optional uint32 accountid = 1;
optional uint32 timestamp = 2;
optional string message = 3;
optional bool unread = 4;
}
optional fixed64 steamid = 1;
optional uint32 success = 2;
repeated .CMsgClientChatGetFriendMessageHistoryResponse.FriendMessage messages = 3;
}
message CMsgClientChatGetFriendMessageHistoryForOfflineMessages {
}
message CMsgClientFSGetFriendsSteamLevels {
repeated uint32 accountids = 1;
}
message CMsgClientFSGetFriendsSteamLevelsResponse {
message Friend {
optional uint32 accountid = 1;
optional uint32 level = 2;
}
repeated .CMsgClientFSGetFriendsSteamLevelsResponse.Friend friends = 1;
}
message CMsgClientEmailAddrInfo {
optional string email_address = 1;
optional bool email_is_validated = 2;
optional bool email_validation_changed = 3;
optional bool credential_change_requires_code = 4;
optional bool password_or_secretqa_change_requires_code = 5;
}
message CMsgCREItemVoteSummary {
message PublishedFileId {
optional fixed64 published_file_id = 1;
}
repeated .CMsgCREItemVoteSummary.PublishedFileId published_file_ids = 1;
}
message CMsgCREItemVoteSummaryResponse {
message ItemVoteSummary {
optional fixed64 published_file_id = 1;
optional int32 votes_for = 2;
optional int32 votes_against = 3;
optional int32 reports = 4;
optional float score = 5;
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgCREItemVoteSummaryResponse.ItemVoteSummary item_vote_summaries = 2;
}
message CMsgCREUpdateUserPublishedItemVote {
optional fixed64 published_file_id = 1;
optional bool vote_up = 2;
}
message CMsgCREUpdateUserPublishedItemVoteResponse {
optional int32 eresult = 1 [default = 2];
}
message CMsgCREGetUserPublishedItemVoteDetails {
message PublishedFileId {
optional fixed64 published_file_id = 1;
}
repeated .CMsgCREGetUserPublishedItemVoteDetails.PublishedFileId published_file_ids = 1;
}
message CMsgCREGetUserPublishedItemVoteDetailsResponse {
message UserItemVoteDetail {
optional fixed64 published_file_id = 1;
optional int32 vote = 2 [default = 0];
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgCREGetUserPublishedItemVoteDetailsResponse.UserItemVoteDetail user_item_vote_details = 2;
}
message CMsgFSGetFollowerCount {
optional fixed64 steam_id = 1;
}
message CMsgFSGetFollowerCountResponse {
optional int32 eresult = 1 [default = 2];
optional int32 count = 2 [default = 0];
}
message CMsgFSGetIsFollowing {
optional fixed64 steam_id = 1;
}
message CMsgFSGetIsFollowingResponse {
optional int32 eresult = 1 [default = 2];
optional bool is_following = 2 [default = false];
}
message CMsgFSEnumerateFollowingList {
optional uint32 start_index = 1;
}
message CMsgFSEnumerateFollowingListResponse {
optional int32 eresult = 1 [default = 2];
optional int32 total_results = 2;
repeated fixed64 steam_ids = 3;
}
message CMsgDPGetNumberOfCurrentPlayers {
optional uint32 appid = 1;
}
message CMsgDPGetNumberOfCurrentPlayersResponse {
optional int32 eresult = 1 [default = 2];
optional int32 player_count = 2;
}
message CMsgClientFriendUserStatusPublished {
optional fixed64 friend_steamid = 1;
optional uint32 appid = 2;
optional string status_text = 3;
}
message CMsgClientServiceMethodLegacy {
optional string method_name = 1;
optional bytes serialized_method = 2;
optional bool is_notification = 3;
}
message CMsgClientServiceMethodLegacyResponse {
optional string method_name = 1;
optional bytes serialized_method_response = 2;
}
message CMsgClientUIMode {
optional uint32 uimode = 1;
optional uint32 chat_mode = 2;
}
message CMsgClientVanityURLChangedNotification {
optional string vanity_url = 1;
}
message CMsgClientAuthorizeLocalDeviceRequest {
optional string device_description = 1;
optional uint32 owner_account_id = 2;
optional uint64 local_device_token = 3;
}
message CMsgClientAuthorizeLocalDevice {
optional int32 eresult = 1 [default = 2];
optional uint32 owner_account_id = 2;
optional uint64 authed_device_token = 3;
}
message CMsgClientAuthorizeLocalDeviceNotification {
optional int32 eresult = 1 [default = 2];
optional uint32 owner_account_id = 2;
optional uint64 local_device_token = 3;
}
message CMsgClientDeauthorizeDeviceRequest {
optional uint32 deauthorization_account_id = 1;
optional uint64 deauthorization_device_token = 2;
}
message CMsgClientDeauthorizeDevice {
optional int32 eresult = 1 [default = 2];
optional uint32 deauthorization_account_id = 2;
}
message CMsgClientUseLocalDeviceAuthorizations {
message DeviceToken {
optional uint32 owner_account_id = 1;
optional uint64 token_id = 2;
}
repeated uint32 authorization_account_id = 1;
repeated .CMsgClientUseLocalDeviceAuthorizations.DeviceToken device_tokens = 2;
}
message CMsgClientGetAuthorizedDevices {
}
message CMsgClientGetAuthorizedDevicesResponse {
message AuthorizedDevice {
optional uint64 auth_device_token = 1;
optional string device_name = 2;
optional uint32 last_access_time = 3;
optional uint32 borrower_id = 4;
optional bool is_pending = 5;
optional uint32 app_played = 6;
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgClientGetAuthorizedDevicesResponse.AuthorizedDevice authorized_device = 2;
}
message CMsgClientSharedLibraryLockStatus {
message LockedLibrary {
optional uint32 owner_id = 1;
optional uint32 locked_by = 2;
}
repeated .CMsgClientSharedLibraryLockStatus.LockedLibrary locked_library = 1;
optional uint32 own_library_locked_by = 2;
}
message CMsgClientSharedLibraryStopPlaying {
message StopApp {
optional uint32 app_id = 1;
optional uint32 owner_id = 2;
}
optional int32 seconds_left = 1;
repeated .CMsgClientSharedLibraryStopPlaying.StopApp stop_apps = 2;
}
message CMsgClientServiceCall {
optional bytes sysid_routing = 1;
optional uint32 call_handle = 2;
optional uint32 module_crc = 3;
optional bytes module_hash = 4;
optional uint32 function_id = 5;
optional uint32 cub_output_max = 6;
optional uint32 flags = 7;
optional bytes callparameter = 8;
optional bool ping_only = 9;
optional uint32 max_outstanding_calls = 10;
optional uint32 app_id = 11;
}
message CMsgClientServiceModule {
optional uint32 module_crc = 1;
optional bytes module_hash = 2;
optional bytes module_content = 3;
}
message CMsgClientServiceCallResponse {
optional bytes sysid_routing = 1;
optional uint32 call_handle = 2;
optional uint32 module_crc = 3;
optional bytes module_hash = 4;
optional uint32 ecallresult = 5;
optional bytes result_content = 6;
optional bytes os_version_info = 7;
optional bytes system_info = 8;
optional fixed64 load_address = 9;
optional bytes exception_record = 10;
optional bytes portable_os_version_info = 11;
optional bytes portable_system_info = 12;
optional bool was_converted = 13;
optional uint32 internal_result = 14;
optional uint32 current_count = 15;
optional uint32 last_call_handle = 16;
optional uint32 last_call_module_crc = 17;
optional bytes last_call_sysid_routing = 18;
optional uint32 last_ecallresult = 19;
optional uint32 last_callissue_delta = 20;
optional uint32 last_callcomplete_delta = 21;
}
message CMsgAMUnlockH264 {
optional uint32 appid = 1;
optional int32 platform = 2;
optional int32 reason = 3;
}
message CMsgAMUnlockH264Response {
optional int32 eresult = 1 [default = 2];
optional bytes encryption_key = 2;
}
message CMsgClientPlayingSessionState {
optional bool playing_blocked = 2;
optional uint32 playing_app = 3;
}
message CMsgClientKickPlayingSession {
optional bool only_stop_game = 1;
}
message CMsgClientVoiceCallPreAuthorize {
optional fixed64 caller_steamid = 1;
optional fixed64 receiver_steamid = 2;
optional int32 caller_id = 3;
optional bool hangup = 4;
}
message CMsgClientVoiceCallPreAuthorizeResponse {
optional fixed64 caller_steamid = 1;
optional fixed64 receiver_steamid = 2;
optional int32 eresult = 3 [default = 2];
optional int32 caller_id = 4;
}
message CMsgBadgeCraftedNotification {
optional uint32 appid = 1;
optional uint32 badge_level = 2;
}
message CMsgClientStartPeerContentServer {
optional fixed64 steamid = 1;
optional fixed64 client_remote_id = 2;
optional uint32 app_id = 3;
optional uint32 current_build_id = 4;
}
message CMsgClientStartPeerContentServerResponse {
optional uint32 result = 1;
optional uint32 server_port = 2;
repeated uint32 installed_depots = 3;
optional uint64 access_token = 4;
}
message CMsgClientGetPeerContentInfo {
optional fixed64 steamid = 1;
optional fixed64 client_remote_id = 2;
optional bool owned_games_visible = 3;
}
message CMsgClientGetPeerContentInfoResponse {
optional uint32 result = 1;
repeated uint32 apps = 2;
}
message CMsgClientPendingGameLaunch {
optional uint32 app_id = 1;
}
message CMsgClientPendingGameLaunchResponse {
optional int32 eresult = 1 [default = 2];
optional uint32 app_id = 2;
optional string envkey = 3;
}

View File

@@ -0,0 +1,143 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientAppInfoUpdate {
optional uint32 last_changenumber = 1;
optional bool send_changelist = 2;
}
message CMsgClientAppInfoChanges {
optional uint32 current_change_number = 1;
optional bool force_full_update = 2;
repeated uint32 appIDs = 3;
}
message CMsgClientAppInfoRequest {
message App {
optional uint32 app_id = 1;
optional uint32 section_flags = 2;
repeated uint32 section_CRC = 3;
}
repeated .CMsgClientAppInfoRequest.App apps = 1;
optional bool supports_batches = 2 [default = false];
}
message CMsgClientPICSChangesSinceRequest {
optional uint32 since_change_number = 1;
optional bool send_app_info_changes = 2;
optional bool send_package_info_changes = 3;
optional uint32 num_app_info_cached = 4;
optional uint32 num_package_info_cached = 5;
}
message CMsgClientPICSChangesSinceResponse {
message PackageChange {
optional uint32 packageid = 1;
optional uint32 change_number = 2;
optional bool needs_token = 3;
}
message AppChange {
optional uint32 appid = 1;
optional uint32 change_number = 2;
optional bool needs_token = 3;
}
optional uint32 current_change_number = 1;
optional uint32 since_change_number = 2;
optional bool force_full_update = 3;
repeated .CMsgClientPICSChangesSinceResponse.PackageChange package_changes = 4;
repeated .CMsgClientPICSChangesSinceResponse.AppChange app_changes = 5;
optional bool force_full_app_update = 6;
optional bool force_full_package_update = 7;
}
message CMsgClientPICSProductInfoRequest {
message AppInfo {
optional uint32 appid = 1;
optional uint64 access_token = 2;
optional bool only_public_obsolete = 3;
}
message PackageInfo {
optional uint32 packageid = 1;
optional uint64 access_token = 2;
}
repeated .CMsgClientPICSProductInfoRequest.PackageInfo packages = 1;
repeated .CMsgClientPICSProductInfoRequest.AppInfo apps = 2;
optional bool meta_data_only = 3;
optional uint32 num_prev_failed = 4;
optional uint32 OBSOLETE_supports_package_tokens = 5;
optional uint32 sequence_number = 6;
optional bool single_response = 7;
}
message CMsgClientPICSProductInfoResponse {
option (msgpool_hard_limit) = 0;
message AppInfo {
optional uint32 appid = 1;
optional uint32 change_number = 2;
optional bool missing_token = 3;
optional bytes sha = 4;
optional bytes buffer = 5;
optional bool only_public = 6;
optional uint32 size = 7;
}
message PackageInfo {
optional uint32 packageid = 1;
optional uint32 change_number = 2;
optional bool missing_token = 3;
optional bytes sha = 4;
optional bytes buffer = 5;
optional uint32 size = 6;
}
repeated .CMsgClientPICSProductInfoResponse.AppInfo apps = 1;
repeated uint32 unknown_appids = 2;
repeated .CMsgClientPICSProductInfoResponse.PackageInfo packages = 3;
repeated uint32 unknown_packageids = 4;
optional bool meta_data_only = 5;
optional bool response_pending = 6;
optional uint32 http_min_size = 7;
optional string http_host = 8;
}
message CMsgClientPICSAccessTokenRequest {
repeated uint32 packageids = 1;
repeated uint32 appids = 2;
}
message CMsgClientPICSAccessTokenResponse {
message PackageToken {
optional uint32 packageid = 1;
optional uint64 access_token = 2;
}
message AppToken {
optional uint32 appid = 1;
optional uint64 access_token = 2;
}
repeated .CMsgClientPICSAccessTokenResponse.PackageToken package_access_tokens = 1;
repeated uint32 package_denied_tokens = 2;
repeated .CMsgClientPICSAccessTokenResponse.AppToken app_access_tokens = 3;
repeated uint32 app_denied_tokens = 4;
}
message CMsgClientPICSPrivateBetaRequest {
optional uint32 appid = 1;
optional uint64 access_token = 2;
optional string beta_name = 3;
optional bytes password_hash = 4;
}
message CMsgClientPICSPrivateBetaResponse {
optional int32 eresult = 1 [default = 2];
optional bytes depot_section = 2;
}

View File

@@ -0,0 +1,261 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientFriendMsg {
optional fixed64 steamid = 1;
optional int32 chat_entry_type = 2;
optional bytes message = 3;
optional fixed32 rtime32_server_timestamp = 4;
optional bool echo_to_sender = 5;
}
message CMsgClientFriendMsgIncoming {
optional fixed64 steamid_from = 1;
optional int32 chat_entry_type = 2;
optional bool from_limited_account = 3;
optional bytes message = 4;
optional fixed32 rtime32_server_timestamp = 5;
}
message CMsgClientAddFriend {
optional fixed64 steamid_to_add = 1;
optional string accountname_or_email_to_add = 2;
}
message CMsgClientAddFriendResponse {
optional int32 eresult = 1 [default = 2];
optional fixed64 steam_id_added = 2;
optional string persona_name_added = 3;
}
message CMsgClientRemoveFriend {
optional fixed64 friendid = 1;
}
message CMsgClientHideFriend {
optional fixed64 friendid = 1;
optional bool hide = 2;
}
message CMsgClientFriendsList {
message Friend {
optional fixed64 ulfriendid = 1;
optional uint32 efriendrelationship = 2;
}
optional bool bincremental = 1;
repeated .CMsgClientFriendsList.Friend friends = 2;
optional uint32 max_friend_count = 3;
optional uint32 active_friend_count = 4;
optional bool friends_limit_hit = 5;
}
message CMsgClientFriendsGroupsList {
message FriendGroup {
optional int32 nGroupID = 1;
optional string strGroupName = 2;
}
message FriendGroupsMembership {
optional fixed64 ulSteamID = 1;
optional int32 nGroupID = 2;
}
optional bool bremoval = 1;
optional bool bincremental = 2;
repeated .CMsgClientFriendsGroupsList.FriendGroup friendGroups = 3;
repeated .CMsgClientFriendsGroupsList.FriendGroupsMembership memberships = 4;
}
message CMsgClientPlayerNicknameList {
message PlayerNickname {
optional fixed64 steamid = 1;
optional string nickname = 3;
}
optional bool removal = 1;
optional bool incremental = 2;
repeated .CMsgClientPlayerNicknameList.PlayerNickname nicknames = 3;
}
message CMsgClientSetPlayerNickname {
optional fixed64 steamid = 1;
optional string nickname = 2;
}
message CMsgClientSetPlayerNicknameResponse {
optional uint32 eresult = 1;
}
message CMsgClientRequestFriendData {
optional uint32 persona_state_requested = 1;
repeated fixed64 friends = 2;
}
message CMsgClientChangeStatus {
optional uint32 persona_state = 1;
optional string player_name = 2;
optional bool is_auto_generated_name = 3;
optional bool high_priority = 4;
optional bool persona_set_by_user = 5;
optional uint32 persona_state_flags = 6 [default = 0];
optional bool need_persona_response = 7;
optional bool is_client_idle = 8;
}
message CMsgPersonaChangeResponse {
optional uint32 result = 1;
optional string player_name = 2;
}
message CMsgClientPersonaState {
message Friend {
message ClanData {
optional uint32 ogg_app_id = 1;
optional uint64 chat_group_id = 2;
}
message KV {
optional string key = 1;
optional string value = 2;
}
optional fixed64 friendid = 1;
optional uint32 persona_state = 2;
optional uint32 game_played_app_id = 3;
optional uint32 game_server_ip = 4;
optional uint32 game_server_port = 5;
optional uint32 persona_state_flags = 6;
optional uint32 online_session_instances = 7;
optional bool persona_set_by_user = 10;
optional string player_name = 15;
optional uint32 query_port = 20;
optional fixed64 steamid_source = 25;
optional bytes avatar_hash = 31;
optional uint32 last_logoff = 45;
optional uint32 last_logon = 46;
optional uint32 last_seen_online = 47;
optional uint32 clan_rank = 50;
optional string game_name = 55;
optional fixed64 gameid = 56;
optional bytes game_data_blob = 60;
optional .CMsgClientPersonaState.Friend.ClanData clan_data = 64;
optional string clan_tag = 65;
repeated .CMsgClientPersonaState.Friend.KV rich_presence = 71;
optional fixed64 broadcast_id = 72;
optional fixed64 game_lobby_id = 73;
optional uint32 watching_broadcast_accountid = 74;
optional uint32 watching_broadcast_appid = 75;
optional uint32 watching_broadcast_viewers = 76;
optional string watching_broadcast_title = 77;
optional bool is_community_banned = 78;
optional bool player_name_pending_review = 79;
optional bool avatar_pending_review = 80;
optional bool on_steam_deck = 81;
}
optional uint32 status_flags = 1;
repeated .CMsgClientPersonaState.Friend friends = 2;
}
message CMsgClientFriendProfileInfo {
optional fixed64 steamid_friend = 1;
}
message CMsgClientFriendProfileInfoResponse {
optional int32 eresult = 1 [default = 2];
optional fixed64 steamid_friend = 2;
optional uint32 time_created = 3;
optional string real_name = 4;
optional string city_name = 5;
optional string state_name = 6;
optional string country_name = 7;
optional string headline = 8;
optional string summary = 9;
}
message CMsgClientCreateFriendsGroup {
optional fixed64 steamid = 1;
optional string groupname = 2;
repeated fixed64 steamid_friends = 3;
}
message CMsgClientCreateFriendsGroupResponse {
optional uint32 eresult = 1;
optional int32 groupid = 2;
}
message CMsgClientDeleteFriendsGroup {
optional fixed64 steamid = 1;
optional int32 groupid = 2;
}
message CMsgClientDeleteFriendsGroupResponse {
optional uint32 eresult = 1;
}
message CMsgClientManageFriendsGroup {
optional int32 groupid = 1;
optional string groupname = 2;
repeated fixed64 steamid_friends_added = 3;
repeated fixed64 steamid_friends_removed = 4;
}
message CMsgClientManageFriendsGroupResponse {
optional uint32 eresult = 1;
}
message CMsgClientAddFriendToGroup {
optional int32 groupid = 1;
optional fixed64 steamiduser = 2;
}
message CMsgClientAddFriendToGroupResponse {
optional uint32 eresult = 1;
}
message CMsgClientRemoveFriendFromGroup {
optional int32 groupid = 1;
optional fixed64 steamiduser = 2;
}
message CMsgClientRemoveFriendFromGroupResponse {
optional uint32 eresult = 1;
}
message CMsgClientGetEmoticonList {
}
message CMsgClientEmoticonList {
message Emoticon {
optional string name = 1;
optional int32 count = 2;
optional uint32 time_last_used = 3;
optional uint32 use_count = 4;
optional uint32 time_received = 5;
optional uint32 appid = 6;
}
message Sticker {
optional string name = 1;
optional int32 count = 2;
optional uint32 time_received = 3;
optional uint32 appid = 4;
optional uint32 time_last_used = 5;
optional uint32 use_count = 6;
}
message Effect {
optional string name = 1;
optional int32 count = 2;
optional uint32 time_received = 3;
optional bool infinite_use = 4;
optional uint32 appid = 5;
}
repeated .CMsgClientEmoticonList.Emoticon emoticons = 1;
repeated .CMsgClientEmoticonList.Sticker stickers = 2;
repeated .CMsgClientEmoticonList.Effect effects = 3;
}

View File

@@ -0,0 +1,159 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgGSServerType {
optional uint32 app_id_served = 1;
optional uint32 flags = 2;
optional uint32 deprecated_game_ip_address = 3;
optional uint32 game_port = 4;
optional string game_dir = 5;
optional string game_version = 6;
optional uint32 game_query_port = 7;
optional uint32 game_port_local = 10;
optional bytes sdr_logon = 8;
optional fixed32 fake_ip = 9;
}
message CMsgGSStatusReply {
optional bool is_secure = 1;
}
message CMsgGSPlayerList {
message Player {
optional uint64 steam_id = 1;
optional uint32 deprecated_public_ip = 2;
optional bytes token = 3;
optional .CMsgIPAddress public_ip = 4;
}
repeated .CMsgGSPlayerList.Player players = 1;
}
message CMsgGSUserPlaying {
optional fixed64 steam_id = 1;
optional uint32 deprecated_public_ip = 2;
optional bytes token = 3;
optional .CMsgIPAddress public_ip = 4;
}
message CMsgGSDisconnectNotice {
optional fixed64 steam_id = 1;
}
message CMsgGameServerData {
message Player {
optional fixed64 steam_id = 1;
}
optional uint32 revision = 24;
optional uint32 query_port = 3;
optional uint32 game_port = 4;
optional uint32 spectator_port = 5;
optional string server_name = 22;
optional string game_description = 29;
optional string spectator_server_name = 27;
optional fixed32 fake_ip = 28;
optional string sdr_ping_location = 30;
optional uint32 app_id = 6;
optional string gamedir = 7;
optional string version = 8;
optional string product = 9;
optional string region = 10;
repeated .CMsgGameServerData.Player players = 11;
optional uint32 max_players = 12;
optional uint32 bot_count = 13;
optional bool password = 14;
optional bool secure = 15;
optional bool dedicated = 16;
optional string os = 17;
optional string game_data = 18;
optional string game_type = 20;
optional string map = 21;
}
message CMsgGameServerRemove {
optional fixed64 legacy_steam_id_gs = 1;
optional uint32 legacy_query_port = 3;
}
message CMsgClientGMSServerQuery {
optional uint32 app_id = 1;
optional uint32 geo_location_ip = 2;
optional uint32 region_code = 3;
optional string filter_text = 4;
optional uint32 max_servers = 5;
}
message CMsgGMSClientServerQueryResponse {
message Server {
optional uint32 deprecated_server_ip = 1;
optional uint32 query_port = 2;
optional uint32 auth_players = 3;
optional .CMsgIPAddress server_ip = 4;
optional fixed64 steam_id = 6;
optional uint32 revision = 7;
optional uint32 players = 8;
optional uint32 game_port = 9;
optional fixed32 sdr_popid = 10;
optional string sdr_ping_location = 32;
optional uint32 flags = 11;
optional uint32 app_id = 12;
optional uint32 max_players = 13;
optional uint32 bots = 14;
optional uint32 spectator_port = 15;
optional string gamedir_str = 16;
optional uint32 gamedir_strindex = 17;
optional string map_str = 18;
optional uint32 map_strindex = 19;
optional string name_str = 20;
optional uint32 name_strindex = 21;
optional string game_description_str = 22;
optional uint32 game_description_strindex = 23;
optional string version_str = 24;
optional uint32 version_strindex = 25;
optional string gametype_str = 26;
optional uint32 gametype_strindex = 27;
optional string spectator_name_str = 30;
optional uint32 spectator_name_strindex = 31;
}
enum EFlags {
k_EFlag_HasPassword = 1;
k_EFlag_Secure = 2;
}
repeated .CMsgGMSClientServerQueryResponse.Server servers = 1;
optional string error = 2;
optional .CMsgGMSClientServerQueryResponse.Server default_server_data = 3;
repeated string server_strings = 4;
}
message CMsgGameServerOutOfDate {
optional fixed64 steam_id_gs = 1;
optional bool reject = 2;
optional string message = 3;
}
message CMsgGSAssociateWithClan {
optional fixed64 steam_id_clan = 1;
}
message CMsgGSAssociateWithClanResponse {
optional fixed64 steam_id_clan = 1;
optional uint32 eresult = 2 [default = 2];
}
message CMsgGSComputeNewPlayerCompatibility {
optional fixed64 steam_id_candidate = 1;
}
message CMsgGSComputeNewPlayerCompatibilityResponse {
optional fixed64 steam_id_candidate = 1;
optional uint32 eresult = 2 [default = 2];
optional bool is_clan_member = 3;
optional int32 ct_dont_like_you = 4;
optional int32 ct_you_dont_like = 5;
optional int32 ct_clanmembers_dont_like_you = 6;
}

View File

@@ -0,0 +1,70 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientLBSSetScore {
optional uint32 app_id = 1;
optional int32 leaderboard_id = 2;
optional int32 score = 3;
optional bytes details = 4;
optional int32 upload_score_method = 5;
}
message CMsgClientLBSSetScoreResponse {
optional int32 eresult = 1 [default = 2];
optional int32 leaderboard_entry_count = 2;
optional bool score_changed = 3;
optional int32 global_rank_previous = 4;
optional int32 global_rank_new = 5;
}
message CMsgClientLBSSetUGC {
optional uint32 app_id = 1;
optional int32 leaderboard_id = 2;
optional fixed64 ugc_id = 3;
}
message CMsgClientLBSSetUGCResponse {
optional int32 eresult = 1 [default = 2];
}
message CMsgClientLBSFindOrCreateLB {
optional uint32 app_id = 1;
optional int32 leaderboard_sort_method = 2;
optional int32 leaderboard_display_type = 3;
optional bool create_if_not_found = 4;
optional string leaderboard_name = 5;
}
message CMsgClientLBSFindOrCreateLBResponse {
optional int32 eresult = 1 [default = 2];
optional int32 leaderboard_id = 2;
optional int32 leaderboard_entry_count = 3;
optional int32 leaderboard_sort_method = 4 [default = 0];
optional int32 leaderboard_display_type = 5 [default = 0];
optional string leaderboard_name = 6;
}
message CMsgClientLBSGetLBEntries {
optional int32 app_id = 1;
optional int32 leaderboard_id = 2;
optional int32 range_start = 3;
optional int32 range_end = 4;
optional int32 leaderboard_data_request = 5;
repeated fixed64 steamids = 6;
}
message CMsgClientLBSGetLBEntriesResponse {
message Entry {
optional fixed64 steam_id_user = 1;
optional int32 global_rank = 2;
optional int32 score = 3;
optional bytes details = 4;
optional fixed64 ugc_id = 5;
}
optional int32 eresult = 1 [default = 2];
optional int32 leaderboard_entry_count = 2;
repeated .CMsgClientLBSGetLBEntriesResponse.Entry entries = 3;
}

View File

@@ -0,0 +1,167 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientHeartBeat {
optional bool send_reply = 1;
}
message CMsgClientServerTimestampRequest {
optional uint64 client_request_timestamp = 1;
}
message CMsgClientServerTimestampResponse {
optional uint64 client_request_timestamp = 1;
optional uint64 server_timestamp_ms = 2;
}
message CMsgClientSecret {
optional uint32 version = 1;
optional uint32 appid = 2;
optional uint32 deviceid = 3;
optional fixed64 nonce = 4;
optional bytes hmac = 5;
}
message CMsgClientHello {
optional uint32 protocol_version = 1;
}
message CMsgClientLogon {
optional uint32 protocol_version = 1;
optional uint32 deprecated_obfustucated_private_ip = 2;
optional uint32 cell_id = 3;
optional uint32 last_session_id = 4;
optional uint32 client_package_version = 5;
optional string client_language = 6;
optional uint32 client_os_type = 7;
optional bool should_remember_password = 8 [default = false];
optional string wine_version = 9;
optional uint32 deprecated_10 = 10;
optional .CMsgIPAddress obfuscated_private_ip = 11;
optional uint32 deprecated_public_ip = 20;
optional uint32 qos_level = 21;
optional fixed64 client_supplied_steam_id = 22;
optional .CMsgIPAddress public_ip = 23;
optional bytes machine_id = 30;
optional uint32 launcher_type = 31 [default = 0];
optional uint32 ui_mode = 32 [default = 0];
optional uint32 chat_mode = 33 [default = 0];
optional bytes steam2_auth_ticket = 41;
optional string email_address = 42;
optional fixed32 rtime32_account_creation = 43;
optional string account_name = 50;
optional string password = 51;
optional string game_server_token = 52;
optional string login_key = 60;
optional bool was_converted_deprecated_msg = 70 [default = false];
optional string anon_user_target_account_name = 80;
optional fixed64 resolved_user_steam_id = 81;
optional int32 eresult_sentryfile = 82;
optional bytes sha_sentryfile = 83;
optional string auth_code = 84;
optional int32 otp_type = 85;
optional uint32 otp_value = 86;
optional string otp_identifier = 87;
optional bool steam2_ticket_request = 88;
optional bytes sony_psn_ticket = 90;
optional string sony_psn_service_id = 91;
optional bool create_new_psn_linked_account_if_needed = 92 [default = false];
optional string sony_psn_name = 93;
optional int32 game_server_app_id = 94;
optional bool steamguard_dont_remember_computer = 95;
optional string machine_name = 96;
optional string machine_name_userchosen = 97;
optional string country_override = 98;
optional bool is_steam_box = 99;
optional uint64 client_instance_id = 100;
optional string two_factor_code = 101;
optional bool supports_rate_limit_response = 102;
optional string web_logon_nonce = 103;
optional int32 priority_reason = 104;
optional .CMsgClientSecret embedded_client_secret = 105;
optional bool disable_partner_autogrants = 106;
optional bool is_steam_deck = 107;
optional string access_token = 108;
optional bool is_chrome_os = 109;
optional bool is_tesla = 110;
}
message CMsgClientLogonResponse {
optional int32 eresult = 1 [default = 2];
optional int32 legacy_out_of_game_heartbeat_seconds = 2;
optional int32 heartbeat_seconds = 3;
optional uint32 deprecated_public_ip = 4;
optional fixed32 rtime32_server_time = 5;
optional uint32 account_flags = 6;
optional uint32 cell_id = 7;
optional string email_domain = 8;
optional bytes steam2_ticket = 9;
optional int32 eresult_extended = 10;
optional uint32 cell_id_ping_threshold = 12;
optional bool deprecated_use_pics = 13;
optional string vanity_url = 14;
optional .CMsgIPAddress public_ip = 15;
optional string user_country = 16;
optional fixed64 client_supplied_steamid = 20;
optional string ip_country_code = 21;
optional bytes parental_settings = 22;
optional bytes parental_setting_signature = 23;
optional int32 count_loginfailures_to_migrate = 24;
optional int32 count_disconnects_to_migrate = 25;
optional int32 ogs_data_report_time_window = 26;
optional uint64 client_instance_id = 27;
optional bool force_client_update_check = 28;
optional string agreement_session_url = 29;
optional uint64 token_id = 30;
optional uint64 family_group_id = 31;
}
message CMsgClientRequestWebAPIAuthenticateUserNonce {
optional int32 token_type = 1 [default = -1];
}
message CMsgClientRequestWebAPIAuthenticateUserNonceResponse {
optional int32 eresult = 1 [default = 2];
optional string webapi_authenticate_user_nonce = 11;
optional int32 token_type = 3 [default = -1];
}
message CMsgClientLogOff {
}
message CMsgClientLoggedOff {
optional int32 eresult = 1 [default = 2];
}
message CMsgClientNewLoginKey {
optional uint32 unique_id = 1;
optional string login_key = 2;
}
message CMsgClientNewLoginKeyAccepted {
optional uint32 unique_id = 1;
}
message CMsgClientAccountInfo {
optional string persona_name = 1;
optional string ip_country = 2;
optional int32 count_authed_computers = 5;
optional uint32 account_flags = 7;
optional uint64 facebook_id = 8;
optional string facebook_name = 9;
optional string steamguard_machine_name_user_chosen = 15;
optional bool is_phone_verified = 16;
optional uint32 two_factor_state = 17;
optional bool is_phone_identifying = 18;
optional bool is_phone_needing_reverify = 19;
}
message CMsgClientChallengeRequest {
optional fixed64 steamid = 1;
}
message CMsgClientChallengeResponse {
optional fixed64 challenge = 1;
}

View File

@@ -0,0 +1,237 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum EMMSLobbyStatus {
k_EMMSLobbyStatusInvalid = 0;
k_EMMSLobbyStatusExists = 1;
k_EMMSLobbyStatusDoesNotExist = 2;
k_EMMSLobbyStatusNotAMember = 3;
}
message CMsgClientMMSSetRatelimitPolicyOnClient {
optional uint32 app_id = 1;
optional bool enable_rate_limits = 2;
optional int32 seconds_per_message = 3;
optional int32 milliseconds_per_data_update = 4;
}
message CMsgClientMMSCreateLobby {
optional uint32 app_id = 1;
optional int32 max_members = 2;
optional int32 lobby_type = 3;
optional int32 lobby_flags = 4;
optional uint32 cell_id = 5;
optional uint32 deprecated_public_ip = 6;
optional bytes metadata = 7;
optional string persona_name_owner = 8;
optional .CMsgIPAddress public_ip = 9;
optional string network_ping_location = 10;
}
message CMsgClientMMSCreateLobbyResponse {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional int32 eresult = 3 [default = 2];
}
message CMsgClientMMSJoinLobby {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional string persona_name = 3;
optional string network_ping_location = 4;
optional uint32 cell_id = 5;
}
message CMsgClientMMSJoinLobbyResponse {
message Member {
optional fixed64 steam_id = 1;
optional string persona_name = 2;
optional bytes metadata = 3;
}
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional int32 chat_room_enter_response = 3;
optional int32 max_members = 4;
optional int32 lobby_type = 5;
optional int32 lobby_flags = 6;
optional fixed64 steam_id_owner = 7;
optional bytes metadata = 8;
repeated .CMsgClientMMSJoinLobbyResponse.Member members = 9;
}
message CMsgClientMMSLeaveLobby {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
}
message CMsgClientMMSLeaveLobbyResponse {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional int32 eresult = 3 [default = 2];
}
message CMsgClientMMSGetLobbyList {
message Filter {
optional string key = 1;
optional string value = 2;
optional int32 comparision = 3;
optional int32 filter_type = 4;
}
optional uint32 app_id = 1;
optional int32 num_lobbies_requested = 3;
optional uint32 cell_id = 4;
optional uint32 deprecated_public_ip = 5;
repeated .CMsgClientMMSGetLobbyList.Filter filters = 6;
optional .CMsgIPAddress public_ip = 7;
optional string network_ping_location = 8;
}
message CMsgClientMMSGetLobbyListResponse {
message Lobby {
optional fixed64 steam_id = 1;
optional int32 max_members = 2;
optional int32 lobby_type = 3;
optional int32 lobby_flags = 4;
optional bytes metadata = 5;
optional int32 num_members = 6;
optional float distance = 7;
optional int64 weight = 8;
optional int32 ping = 9;
optional int32 missing_ping = 10;
}
optional uint32 app_id = 1;
optional int32 eresult = 3 [default = 2];
repeated .CMsgClientMMSGetLobbyListResponse.Lobby lobbies = 4;
}
message CMsgClientMMSSetLobbyData {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional fixed64 steam_id_member = 3;
optional int32 max_members = 4;
optional int32 lobby_type = 5;
optional int32 lobby_flags = 6;
optional bytes metadata = 7;
optional string network_ping_location = 8;
}
message CMsgClientMMSSetLobbyDataResponse {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional int32 eresult = 3 [default = 2];
}
message CMsgClientMMSGetLobbyData {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
}
message CMsgClientMMSLobbyData {
message Member {
optional fixed64 steam_id = 1;
optional string persona_name = 2;
optional bytes metadata = 3;
optional string ping_data = 4;
}
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional int32 num_members = 3;
optional int32 max_members = 4;
optional int32 lobby_type = 5;
optional int32 lobby_flags = 6;
optional fixed64 steam_id_owner = 7;
optional bytes metadata = 8;
repeated .CMsgClientMMSLobbyData.Member members = 9;
optional uint32 lobby_cellid = 10;
optional bool owner_should_accept_changes = 11;
}
message CMsgClientMMSSendLobbyChatMsg {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional fixed64 steam_id_target = 3;
optional bytes lobby_message = 4;
}
message CMsgClientMMSLobbyChatMsg {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional fixed64 steam_id_sender = 3;
optional bytes lobby_message = 4;
}
message CMsgClientMMSSetLobbyOwner {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional fixed64 steam_id_new_owner = 3;
}
message CMsgClientMMSSetLobbyOwnerResponse {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional int32 eresult = 3 [default = 2];
}
message CMsgClientMMSSetLobbyLinked {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional fixed64 steam_id_lobby2 = 3;
}
message CMsgClientMMSSetLobbyGameServer {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional uint32 deprecated_game_server_ip = 3;
optional uint32 game_server_port = 4;
optional fixed64 game_server_steam_id = 5;
optional .CMsgIPAddress game_server_ip = 6;
optional string network_ping_location = 7;
}
message CMsgClientMMSLobbyGameServerSet {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional uint32 deprecated_game_server_ip = 3;
optional uint32 game_server_port = 4;
optional fixed64 game_server_steam_id = 5;
optional .CMsgIPAddress game_server_ip = 6;
}
message CMsgClientMMSUserJoinedLobby {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional fixed64 steam_id_user = 3;
optional string persona_name = 4;
}
message CMsgClientMMSUserLeftLobby {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional fixed64 steam_id_user = 3;
optional string persona_name = 4;
}
message CMsgClientMMSInviteToLobby {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional fixed64 steam_id_user_invited = 3;
}
message CMsgClientMMSGetLobbyStatus {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional bool claim_membership = 3;
optional bool claim_ownership = 4;
}
message CMsgClientMMSGetLobbyStatusResponse {
optional uint32 app_id = 1;
optional fixed64 steam_id_lobby = 2;
optional .EMMSLobbyStatus lobby_status = 3 [default = k_EMMSLobbyStatusInvalid];
}

View File

@@ -0,0 +1,217 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientUCMAddScreenshot {
message Tag {
optional string tag_name = 1;
optional string tag_value = 2;
}
optional uint32 appid = 1;
optional string filename = 2;
optional string thumbname = 3;
optional string vr_filename = 14;
optional fixed32 rtime32_created = 4;
optional uint32 width = 5;
optional uint32 height = 6;
optional uint32 permissions = 7;
optional string caption = 8;
optional string shortcut_name = 9;
repeated .CMsgClientUCMAddScreenshot.Tag tag = 10;
repeated fixed64 tagged_steamid = 11;
optional bool spoiler_tag = 12;
repeated uint64 tagged_publishedfileid = 13;
}
message CMsgClientUCMAddScreenshotResponse {
optional int32 eresult = 1 [default = 2];
optional fixed64 screenshotid = 2 [default = 18446744073709551615];
optional uint64 publishedfileid = 3;
}
message CMsgClientUCMDeleteScreenshot {
optional fixed64 screenshotid = 1 [default = 18446744073709551615];
}
message CMsgClientUCMDeleteScreenshotResponse {
optional int32 eresult = 1 [default = 2];
}
message CMsgClientUCMPublishFile {
optional uint32 app_id = 1;
optional string file_name = 2;
optional string preview_file_name = 3;
optional uint32 consumer_app_id = 4;
optional string title = 5;
optional string description = 6;
repeated string tags = 8;
optional bool workshop_file = 9;
optional int32 visibility = 10;
optional uint32 file_type = 11;
optional string url = 12;
optional uint32 video_provider = 13;
optional string video_account_name = 14;
optional string video_identifier = 15;
optional bool in_progress = 16;
}
message CMsgClientUCMPublishFileResponse {
optional int32 eresult = 1 [default = 2];
optional fixed64 published_file_id = 2 [default = 18446744073709551615];
optional bool needs_workshop_legal_agreement_acceptance = 3 [default = false];
}
message CMsgClientUCMUpdatePublishedFile {
message KeyValueTag {
optional string key = 1;
optional string value = 2;
}
message AdditionalPreview {
optional string original_file_name = 1;
optional string internal_file_name = 2;
optional string videoid = 3;
optional uint32 preview_type = 4;
optional int32 update_index = 5 [default = -1];
}
optional uint32 app_id = 1;
optional fixed64 published_file_id = 2;
optional string file_name = 3;
optional string preview_file_name = 4;
optional string title = 5;
optional string description = 6;
repeated string tags = 7;
optional int32 visibility = 8;
optional bool update_file = 9;
optional bool update_preview_file = 10;
optional bool update_title = 11;
optional bool update_description = 12;
optional bool update_tags = 13;
optional bool update_visibility = 14;
optional string change_description = 15;
optional bool update_url = 16;
optional string url = 17;
optional bool update_content_manifest = 18;
optional fixed64 content_manifest = 19;
optional string metadata = 20;
optional bool update_metadata = 21;
optional int32 language = 22 [default = 0];
repeated string removed_kvtags = 23;
repeated .CMsgClientUCMUpdatePublishedFile.KeyValueTag kvtags = 24;
repeated .CMsgClientUCMUpdatePublishedFile.AdditionalPreview previews = 25;
repeated int32 previews_to_remove = 26;
optional bool clear_in_progress = 27;
optional bool remove_all_kvtags = 28;
repeated int32 content_descriptors_to_add = 29;
repeated int32 content_descriptors_to_remove = 30;
optional bool allow_admin_tags = 31 [default = false];
optional uint64 external_asset_id = 32;
optional string game_branch_min = 33;
optional string game_branch_max = 34;
}
message CMsgClientUCMUpdatePublishedFileResponse {
optional int32 eresult = 1 [default = 2];
optional bool needs_workshop_legal_agreement_acceptance = 2 [default = false];
}
message CMsgClientUCMDeletePublishedFile {
optional fixed64 published_file_id = 1;
optional uint32 app_id = 2;
}
message CMsgClientUCMDeletePublishedFileResponse {
optional int32 eresult = 1 [default = 2];
}
message CMsgClientUCMEnumerateUserSubscribedFilesWithUpdates {
optional uint32 app_id = 1;
optional uint32 start_index = 2;
optional fixed32 start_time = 3;
optional uint32 desired_revision = 4 [default = 0];
}
message CMsgClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse {
message AuthorSnapshot {
optional uint32 timestamp = 1;
optional string game_branch_min = 2;
optional string game_branch_max = 3;
optional fixed64 manifestid = 4;
}
message PublishedFileId {
optional fixed64 published_file_id = 1;
optional fixed32 rtime32_subscribed = 2 [default = 0];
optional uint32 appid = 3;
optional fixed64 file_hcontent = 4;
optional uint32 file_size = 5;
optional fixed32 rtime32_last_updated = 6;
optional bool is_depot_content = 7;
repeated .CMsgClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse.AuthorSnapshot author_snapshots = 8;
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgClientUCMEnumerateUserSubscribedFilesWithUpdatesResponse.PublishedFileId subscribed_files = 2;
optional uint32 total_results = 3;
}
message CMsgClientUCMPublishedFileUpdated {
optional fixed64 published_file_id = 1;
optional uint32 app_id = 2;
optional uint32 time_updated = 3;
optional fixed64 hcontent = 4;
optional fixed32 file_size = 5;
optional bool is_depot_content = 6;
optional uint32 revision = 7;
}
message CMsgClientWorkshopItemChangesRequest {
optional uint32 app_id = 1;
optional uint32 last_time_updated = 2;
optional uint32 num_items_needed = 3;
}
message CMsgClientWorkshopItemChangesResponse {
message WorkshopItemInfo {
optional fixed64 published_file_id = 1;
optional uint32 time_updated = 2;
optional fixed64 manifest_id = 3;
}
optional int32 eresult = 1 [default = 2];
optional uint32 update_time = 2;
repeated .CMsgClientWorkshopItemChangesResponse.WorkshopItemInfo workshop_items = 5;
}
message CMsgClientUCMSetUserPublishedFileAction {
optional fixed64 published_file_id = 1;
optional uint32 app_id = 2;
optional int32 action = 3;
}
message CMsgClientUCMSetUserPublishedFileActionResponse {
optional int32 eresult = 1 [default = 2];
}
message CMsgClientUCMEnumeratePublishedFilesByUserAction {
optional uint32 app_id = 1;
optional uint32 start_index = 2;
optional int32 action = 3;
}
message CMsgClientUCMEnumeratePublishedFilesByUserActionResponse {
message PublishedFileId {
optional fixed64 published_file_id = 1;
optional fixed32 rtime_time_stamp = 2 [default = 0];
}
optional int32 eresult = 1 [default = 2];
repeated .CMsgClientUCMEnumeratePublishedFilesByUserActionResponse.PublishedFileId published_files = 2;
optional uint32 total_results = 3;
}
message CMsgClientScreenshotsChanged {
}

View File

@@ -0,0 +1,141 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientUDSP2PSessionStarted {
optional fixed64 steamid_remote = 1;
optional int32 appid = 2;
}
message CMsgClientUDSP2PSessionEnded {
optional fixed64 steamid_remote = 1;
optional int32 appid = 2;
optional int32 session_length_sec = 3;
optional int32 session_error = 4;
optional int32 nattype = 5;
optional int32 bytes_recv = 6;
optional int32 bytes_sent = 7;
optional int32 bytes_sent_relay = 8;
optional int32 bytes_recv_relay = 9;
optional int32 time_to_connect_ms = 10;
}
message CMsgClientGetClientDetails {
}
message CMsgClientGetClientDetailsResponse {
message Game {
optional uint32 appid = 1;
optional string extra_info = 2;
optional uint32 time_running_sec = 3;
}
optional uint32 package_version = 1;
optional string os = 2;
optional string machine_name = 3;
optional string ip_public = 4;
optional string ip_private = 5;
repeated .CMsgClientGetClientDetailsResponse.Game games_running = 6;
optional uint64 bytes_available = 7;
optional uint32 protocol_version = 8;
optional uint32 clientcomm_version = 9;
repeated uint32 local_users = 10;
}
message CMsgClientGetClientAppList {
optional bool media = 1;
optional bool tools = 2;
optional bool games = 3;
optional bool only_installed = 4;
optional bool only_changing = 5;
optional bool comics = 6;
optional bool include_client_info = 7;
repeated uint32 filter_appids = 8;
}
message CMsgClientGetClientAppListResponse {
message App {
message DLC {
optional uint32 appid = 1;
optional bool installed = 2;
}
optional uint32 appid = 1;
optional string category = 2;
optional string app_type = 10;
optional bool favorite = 3;
optional bool installed = 4;
optional bool auto_update = 5;
optional uint64 bytes_downloaded = 6;
optional uint64 bytes_to_download = 7;
optional uint32 bytes_download_rate = 8;
repeated .CMsgClientGetClientAppListResponse.App.DLC dlcs = 9;
optional bool download_paused = 11;
optional uint32 num_downloading = 12;
optional uint32 num_paused = 13;
optional bool changing = 14;
optional bool available_on_platform = 15;
optional uint64 bytes_staged = 16;
optional uint64 bytes_to_stage = 17;
optional uint64 bytes_required = 18;
optional uint32 source_buildid = 19;
optional uint32 target_buildid = 20;
optional uint32 estimated_seconds_remaining = 21;
optional int32 queue_position = 22;
optional bool uninstalling = 23;
optional uint32 rt_time_scheduled = 24;
optional bool running = 25;
}
repeated .CMsgClientGetClientAppListResponse.App apps = 1;
optional uint64 bytes_available = 2;
optional .CMsgClientGetClientDetailsResponse client_info = 3;
}
message CMsgClientInstallClientApp {
optional uint32 appid = 1;
}
message CMsgClientInstallClientAppResponse {
optional uint32 result = 1;
}
message CMsgClientUninstallClientApp {
optional uint32 appid = 1;
}
message CMsgClientUninstallClientAppResponse {
optional uint32 result = 1;
}
message CMsgClientSetClientAppUpdateState {
optional uint32 appid = 1;
optional bool update = 2;
}
message CMsgClientSetClientAppUpdateStateResponse {
optional uint32 result = 1;
}
message CMsgClientLaunchClientApp {
optional uint32 appid = 1;
optional uint32 language = 2;
optional uint32 launch_option_type = 3;
optional uint32 launch_option = 4;
optional uint32 launch_source = 5;
optional string args = 6;
optional string query_params = 7;
}
message CMsgClientLaunchClientAppResponse {
optional uint32 result = 1;
}
message CMsgClientEnableOrDisableDownloads {
optional bool enable = 1;
}
message CMsgClientEnableOrDisableDownloadsResponse {
optional uint32 result = 1;
}

View File

@@ -0,0 +1,45 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientUFSGetUGCDetails {
optional fixed64 hcontent = 1 [default = 18446744073709551615];
}
message CMsgClientUFSGetUGCDetailsResponse {
optional int32 eresult = 1 [default = 2];
optional string url = 2;
optional uint32 app_id = 3;
optional string filename = 4;
optional fixed64 steamid_creator = 5;
optional uint32 file_size = 6;
optional uint32 compressed_file_size = 7;
optional string rangecheck_host = 8;
optional string file_encoded_sha1 = 9;
}
message CMsgClientUFSGetSingleFileInfo {
optional uint32 app_id = 1;
optional string file_name = 2;
}
message CMsgClientUFSGetSingleFileInfoResponse {
optional int32 eresult = 1 [default = 2];
optional uint32 app_id = 2;
optional string file_name = 3;
optional bytes sha_file = 4;
optional uint64 time_stamp = 5;
optional uint32 raw_file_size = 6;
optional bool is_explicit_delete = 7;
}
message CMsgClientUFSShareFile {
optional uint32 app_id = 1;
optional string file_name = 2;
}
message CMsgClientUFSShareFileResponse {
optional int32 eresult = 1 [default = 2];
optional fixed64 hcontent = 2 [default = 18446744073709551615];
}

View File

@@ -0,0 +1,80 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientGetUserStats {
optional fixed64 game_id = 1;
optional uint32 crc_stats = 2;
optional int32 schema_local_version = 3;
optional fixed64 steam_id_for_user = 4;
}
message CMsgClientGetUserStatsResponse {
message Stats {
optional uint32 stat_id = 1;
optional uint32 stat_value = 2;
}
message Achievement_Blocks {
optional uint32 achievement_id = 1;
repeated fixed32 unlock_time = 2;
}
optional fixed64 game_id = 1;
optional int32 eresult = 2 [default = 2];
optional uint32 crc_stats = 3;
optional bytes schema = 4;
repeated .CMsgClientGetUserStatsResponse.Stats stats = 5;
repeated .CMsgClientGetUserStatsResponse.Achievement_Blocks achievement_blocks = 6;
}
message CMsgClientStoreUserStatsResponse {
message Stats_Failed_Validation {
optional uint32 stat_id = 1;
optional uint32 reverted_stat_value = 2;
}
optional fixed64 game_id = 1;
optional int32 eresult = 2 [default = 2];
optional uint32 crc_stats = 3;
repeated .CMsgClientStoreUserStatsResponse.Stats_Failed_Validation stats_failed_validation = 4;
optional bool stats_out_of_date = 5;
}
message CMsgClientStoreUserStats2 {
message Stats {
optional uint32 stat_id = 1;
optional uint32 stat_value = 2;
}
optional fixed64 game_id = 1;
optional fixed64 settor_steam_id = 2;
optional fixed64 settee_steam_id = 3;
optional uint32 crc_stats = 4;
optional bool explicit_reset = 5;
repeated .CMsgClientStoreUserStats2.Stats stats = 6;
}
message CMsgClientStatsUpdated {
message Updated_Stats {
optional uint32 stat_id = 1;
optional uint32 stat_value = 2;
}
optional fixed64 steam_id = 1;
optional fixed64 game_id = 2;
optional uint32 crc_stats = 3;
repeated .CMsgClientStatsUpdated.Updated_Stats updated_stats = 4;
}
message CMsgClientStoreUserStats {
message Stats_To_Store {
optional uint32 stat_id = 1;
optional uint32 stat_value = 2;
}
optional fixed64 game_id = 1;
optional bool explicit_reset = 2;
repeated .CMsgClientStoreUserStats.Stats_To_Store stats_to_store = 3;
}

View File

@@ -0,0 +1,57 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgVideoGameRecordingRepresentation {
optional string representation_name = 2;
optional uint32 horizontal_resolution = 3;
optional uint32 vertical_resolution = 4;
optional double frame_rate = 5;
optional uint32 bandwidth = 6;
optional uint32 audio_sample_rate = 7;
optional string frame_rate_string = 8;
optional string codec = 9;
optional uint32 audio_channel_config = 10;
repeated .CVideo_GameRecordingSegmentInfo segment_info = 11;
}
message CMsgVideoGameRecordingComponent {
optional string component_name = 1;
optional uint32 contents = 2;
optional uint32 segment_size = 3;
optional string file_type = 4;
repeated .CMsgVideoGameRecordingRepresentation representations = 5;
}
message CMsgVideoGameRecordingDef {
optional uint64 steamid = 1;
optional uint32 app_id = 2;
optional uint32 num_segments = 3;
optional uint32 length_milliseconds = 4;
optional uint32 segment_duration_timescale = 5;
optional uint32 segment_duration = 6;
repeated .CMsgVideoGameRecordingComponent components = 7;
optional uint32 start_time_ms = 8;
optional uint32 start_offset_in_timeline_ms = 9;
}
message CVideo_GameRecordingSegmentInfo {
optional uint32 segment_number = 1;
optional uint64 segment_size_bytes = 2;
optional string component_name = 3;
optional string representation_name = 4;
}
message CVideo_GameRecordingSegmentUploadInfo {
message HTTPHeaders {
optional string name = 1;
optional string value = 2;
}
optional .CVideo_GameRecordingSegmentInfo segment_info = 1;
optional string url_host = 2;
optional string url_path = 3;
optional bool use_https = 4;
repeated .CVideo_GameRecordingSegmentUploadInfo.HTTPHeaders request_headers = 5;
}

View File

@@ -0,0 +1,244 @@
import "google/protobuf/descriptor.proto";
import "enums.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
extend .google.protobuf.FieldOptions {
optional .EClientSettingStore setting_store = 60000 [default = k_EClientSettingStore_Invalid];
optional string setting_name = 60001;
optional bool setting_pre_login = 60002;
optional bool setting_default_bool = 60003;
optional int32 setting_default_int = 60004;
optional uint32 setting_default_uint = 60005;
optional float setting_default_float = 60006;
optional string setting_default_string = 60007;
optional bool setting_readonly = 60008;
optional string setting_description = 60009;
optional .ESettingProfileMode setting_profile_mode = 60010 [default = k_ESettingProfileMode_None];
optional int64 setting_clamp_min = 60011;
optional int64 setting_clamp_max = 60012;
}
enum EClientSettingStore {
k_EClientSettingStore_Invalid = 0;
k_EClientSettingStore_ConfigStore_Install = 1;
k_EClientSettingStore_ConfigStore_UserRoaming = 2;
k_EClientSettingStore_ConfigStore_UserLocal = 3;
k_EClientSettingStore_Registry = 4;
k_EClientSettingStore_CustomFunc = 5;
}
enum EOverlayToggleBarLocation {
k_EOverlayToggleBarLocation_Bottom = 0;
k_EOverlayToggleBarLocation_Left = 1;
k_EOverlayToggleBarLocation_Right = 2;
k_EOverlayToggleBarLocation_Top = 3;
}
enum ESettingProfileMode {
k_ESettingProfileMode_None = 0;
k_ESettingProfileMode_PerGame = 1;
k_ESettingProfileMode_PerGamePerDisplay = 2;
k_ESettingProfileMode_PerDisplay = 3;
}
enum EGRMode {
k_EGRMode_Never = 0;
k_EGRMode_Always = 1;
k_EGRMode_Manual = 2;
}
enum EGRAudio {
k_EGRAudio_Game = 0;
k_EGRAudio_System = 1;
k_EGRAudio_Select = 2;
}
message CMsgHotkey {
optional uint32 key_code = 1;
optional bool alt_key = 2;
optional bool shift_key = 3;
optional bool ctrl_key = 4;
optional bool meta_key = 5;
optional string display_name = 6;
}
message CMsgSettingVariant {
oneof value {
bool value_bool = 1;
int32 value_int32 = 2;
uint32 value_uint32 = 3;
int64 value_uint64 = 5;
float value_float = 6;
string value_string = 7;
.CMsgHotkey value_hotkey = 8;
}
}
message CMsgClientSettings {
optional bool no_save_personal_info = 1 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Software\\Valve\\Steam\\NoSavePersonalInfo"];
optional bool oobe_test_mode_enabled = 2 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Software\\Valve\\Steam\\OOBETestModeEnabled"];
optional bool in_client_beta = 3 [(setting_store) = k_EClientSettingStore_CustomFunc, (setting_pre_login) = true];
optional bool is_steam_sideloaded = 4 [(setting_store) = k_EClientSettingStore_CustomFunc, (setting_pre_login) = true];
optional string preferred_monitor = 5 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "BigPicture/Monitor"];
optional bool steam_cef_gpu_blocklist_disabled = 6 [(setting_store) = k_EClientSettingStore_Registry, (setting_name) = "HKEY_CURRENT_USER\\Software\\Valve\\Steam\\CEFGPUBlocklistDisabled"];
optional bool bigpicture_windowed = 7 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "BigPicture/Windowed", (setting_pre_login) = true];
optional string display_name = 8 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "UI/Display/Current/Name"];
optional bool is_external_display = 9 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "UI/Display/Current/IsExternalDisplay"];
optional float steam_os_underscan_level = 10 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SteamOSScreenUnderscanLevel"];
optional bool steam_os_underscan_enabled = 11 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SteamOSScreenUnderscanEnabled"];
optional float min_scale_factor = 12 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "UI/Display/Current/MinScaleFactor"];
optional float max_scale_factor = 13 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "UI/Display/Current/MaxScaleFactor"];
optional float auto_scale_factor = 14 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "UI/Display/Current/AutoScaleFactor"];
optional bool small_mode = 16 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Software\\Valve\\Steam\\SmallMode"];
optional bool skip_steamvr_install_dialog = 19 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\SteamVRHMDVGUIWarning"];
optional bool always_show_user_chooser = 20 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "WebStorage\\Auth\\AlwaysShowUserChooser"];
optional bool os_version_unsupported = 21 [(setting_store) = k_EClientSettingStore_Registry, (setting_name) = "HKEY_CURRENT_USER\\Software\\Valve\\Steam\\OSVersionUnsupported"];
optional bool show_family_sharing_notifications = 3000 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool show_copy_count_in_library = 3001 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "ShowCopyCountInLibrary", (setting_default_bool) = true];
optional int32 overlay_fps_counter_corner = 4000 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\InGameOverlayShowFPSCorner"];
optional bool overlay_fps_counter_high_contrast = 4001 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\InGameOverlayShowFPSContrast"];
optional .CMsgHotkey overlay_key = 4002 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\InGameOverlayShortcutKey", (setting_default_string) = "Shift\tKEY_TAB"];
optional .CMsgHotkey screenshot_key = 4003 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\InGameOverlayScreenshotHotKey", (setting_default_string) = "KEY_F12"];
optional bool enable_overlay = 4004 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\EnableGameOverlay", (setting_default_bool) = true];
optional bool enable_screenshot_notification = 4006 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\InGameOverlayScreenshotNotification", (setting_default_bool) = true];
optional bool enable_screenshot_sound = 4007 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\InGameOverlayScreenshotPlaySound", (setting_default_bool) = true];
optional bool save_uncompressed_screenshots = 4008 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\InGameOverlayScreenshotSaveUncompressed"];
optional string screenshots_path = 4009 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional int32 default_ping_rate = 4010 [(setting_store) = k_EClientSettingStore_CustomFunc, (setting_readonly) = true, (setting_description) = "Computed default (automatic) server ping rate based on network speed"];
optional int32 server_ping_rate = 4011 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional int32 steam_networking_share_ip = 4012 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional string web_browser_home = 4013 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional string voice_mic_device_name = 4014 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional float voice_mic_input_gain = 4015 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional float voice_speaker_output_gain = 4016 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional int32 voice_push_to_talk_setting = 4017 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional .CMsgHotkey voice_push_to_talk_key = 4018 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool overlay_toolbar_list_view = 4019 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "OverlayToolBarListView"];
optional bool always_use_gamepadui_overlay = 4020 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\EnableSCTenFootOverlayCheckNew"];
optional string overlay_tabs = 4021 [(setting_store) = k_EClientSettingStore_ConfigStore_UserRoaming, (setting_name) = "OverlayTabs"];
optional bool overlay_scale_interface = 4022 [(setting_store) = k_EClientSettingStore_Registry, (setting_name) = "HKEY_CURRENT_USER\\Software\\Valve\\Steam\\OverlayScaleInterface", (setting_default_bool) = true];
optional bool overlay_restore_browser_tabs = 4023 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\InGameOverlayRestoreBrowserTabs", (setting_default_bool) = true];
optional bool enable_avif_screenshots = 4024 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\InGameOverlayScreenshotEnableAVIF"];
optional bool smooth_scroll_webviews = 5000 [(setting_store) = k_EClientSettingStore_Registry, (setting_name) = "HKEY_CURRENT_USER\\Software\\Valve\\Steam\\SmoothScrollWebViews", (setting_default_bool) = true];
optional bool enable_gpu_accelerated_webviews = 5001 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool enable_hardware_video_decoding = 5003 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool run_at_startup = 5004 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool enable_dpi_scaling = 5005 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool enable_marketing_messages = 5006 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "news\\NotifyAvailableGames", (setting_default_bool) = true];
optional bool start_in_big_picture_mode = 5007 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional uint32 jumplist_flags = 5008 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\JumplistSettings", (setting_default_uint) = 77680];
optional bool enable_ui_sounds = 5009 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "system\\EnableUISounds", (setting_default_bool) = true];
optional bool disable_all_toasts = 6000 [(setting_store) = k_EClientSettingStore_ConfigStore_UserRoaming, (setting_name) = "DisableAllToasts"];
optional bool disable_toasts_in_game = 6001 [(setting_store) = k_EClientSettingStore_ConfigStore_UserRoaming, (setting_name) = "DisableToastsInGame"];
optional bool play_sound_on_toast = 6002 [(setting_store) = k_EClientSettingStore_ConfigStore_UserRoaming, (setting_name) = "PlaySoundOnToast", (setting_default_bool) = true];
optional int32 library_display_size = 7000 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "LibraryDisplaySize"];
optional bool library_whats_new_show_only_product_updates = 7001 [(setting_store) = k_EClientSettingStore_ConfigStore_UserRoaming, (setting_name) = "LibraryWhatsNewShowOnlyProductUpdates"];
optional bool show_store_content_on_home = 7002 [(setting_store) = k_EClientSettingStore_ConfigStore_UserRoaming, (setting_name) = "ShowStoreContentOnHome", (setting_default_bool) = true];
optional string start_page = 7003 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool library_low_bandwidth_mode = 7004 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "LibraryLowBandwidthMode"];
optional bool library_low_perf_mode = 7005 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "LibraryLowPerfMode"];
optional bool library_disable_community_content = 7006 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "LibraryDisableCommunityContent"];
optional bool library_display_icon_in_game_list = 7007 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "LibraryDisplayIconInGameList", (setting_default_bool) = true];
optional bool ready_to_play_includes_streaming = 7008 [(setting_store) = k_EClientSettingStore_CustomFunc, (setting_name) = "ReadyToPlayIncludesStreaming"];
optional bool show_steam_deck_info = 7009 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "ShowSteamDeckInfoInLibrary"];
optional bool enable_shader_precache = 8000 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool enable_shader_background_processing = 8001 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional uint64 shader_precached_size = 8002 [(setting_store) = k_EClientSettingStore_CustomFunc, (setting_readonly) = true];
optional bool needs_steam_service_repair = 8003 [(setting_store) = k_EClientSettingStore_CustomFunc, (setting_readonly) = true];
optional int32 download_peer_content = 8004 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool download_rate_bits_per_s = 8005 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool restrict_auto_updates = 8006 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional int32 restrict_auto_updates_start = 8007 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional int32 restrict_auto_updates_end = 8008 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional int32 download_region = 8009 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool download_while_app_running = 8010 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool download_throttle_while_streaming = 8011 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional int32 download_throttle_rate = 8012 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool cloud_enabled = 10000 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool show_screenshot_manager = 10001 [(setting_store) = k_EClientSettingStore_ConfigStore_UserRoaming, (setting_name) = "Software\\Valve\\Steam\\ShowScreenshotManager"];
optional int32 music_volume = 11000 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool music_pause_on_app_start = 11001 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Music\\PauseOnAppStartedProcess"];
optional bool music_pause_on_voice_chat = 11002 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Music\\PauseOnVoiceChat"];
optional bool music_download_high_quality = 11003 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Music\\DownloadHighQualityAudioSoundtracks"];
optional bool music_playlist_notification = 11004 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Music\\PlaylistNowPlayingNotification"];
optional .EBroadcastPermission broadcast_permissions = 12000 [default = k_EBroadcastPermissionDisabled, (setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\Permissions", (setting_default_int) = 1];
optional int32 broadcast_output_width = 12001 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\OutputWidth"];
optional int32 broadcast_output_height = 12002 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\OutputHeight", (setting_default_int) = 720];
optional int32 broadcast_bitrate = 12003 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\MaxKbps", (setting_default_int) = 2500];
optional .EBroadcastEncoderSetting broadcast_encoding_option = 12004 [default = k_EBroadcastEncoderBestQuality, (setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\EncoderSetting"];
optional bool broadcast_record_all_video = 12005 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\IncludeDesktop"];
optional bool broadcast_record_all_audio = 12006 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\RecordSystemAudio"];
optional bool broadcast_record_microphone = 12007 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\RecordMic"];
optional bool broadcast_show_upload_stats = 12008 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\ShowDebugInfo"];
optional bool broadcast_show_live_reminder = 12009 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\ShowReminder", (setting_default_bool) = true];
optional int32 broadcast_chat_corner = 12010 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Broadcast\\ShowChat", (setting_default_int) = 1];
optional bool gamestream_hardware_video_encode = 13000 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "GameStream\\HardwareVideoEncode", (setting_default_bool) = true];
optional bool steam_input_configurator_error_msg_enable = 14001 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SteamInput/Configurator/ErrorMsgEnabled"];
optional bool controller_guide_button_focus_steam = 14002 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Controller_CheckGuideButton", (setting_default_bool) = true];
optional int32 controller_ps_support = 14003 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "SteamController_PSSupport", (setting_default_int) = 1];
optional bool controller_xbox_support = 14004 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "SteamController_XBoxSupport"];
optional bool controller_xbox_driver = 14005 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "SteamController_XBoxDriver"];
optional bool controller_switch_support = 14006 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "SteamController_SwitchSupport"];
optional bool controller_generic_support = 14007 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "SteamController_GenericGamepadSupport"];
optional int32 controller_power_off_timeout = 14008 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "CSettingsPanelGameController.Timeout", (setting_default_int) = 15];
optional bool turn_off_controller_on_exit = 14009 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "CSettingsPanelGameController.TurnOff"];
optional bool controller_combine_nintendo_joycons = 14010 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional uint64 startup_movie_id = 16000 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Customization/StartupMovie/MovieID", (setting_pre_login) = true];
optional string startup_movie_local_path = 16001 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Customization/StartupMovie/LocalPath", (setting_pre_login) = true];
optional bool startup_movie_shuffle = 16002 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Customization/StartupMovie/Shuffle", (setting_pre_login) = true];
optional bool startup_movie_used_for_resume = 16003 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Customization/StartupMovie/UsedForResume"];
optional bool game_notes_enable_spellcheck = 17001 [(setting_store) = k_EClientSettingStore_ConfigStore_UserRoaming, (setting_name) = "GameNotesEnableSpellcheck", (setting_default_bool) = true];
optional int32 screenshot_items_per_row = 18000 [(setting_store) = k_EClientSettingStore_ConfigStore_UserRoaming, (setting_name) = "ScreenshotViewItemsPerRow", (setting_default_int) = 1];
optional string g_background_path = 18201 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional string g_background_max_keep = 18202 [(setting_store) = k_EClientSettingStore_CustomFunc, (setting_default_string) = "120min"];
optional int32 g_background_time_resolution = 18203 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional .CMsgHotkey g_background_mk = 18207 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional .CMsgHotkey g_background_tg = 18208 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool g_background_a_m = 18209 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional int32 g_background_br = 18210 [(setting_store) = k_EClientSettingStore_CustomFunc, (setting_default_int) = 12000];
optional bool g_background_a_s = 18211 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional .EGRMode g_background_mode = 18212 [default = k_EGRMode_Never, (setting_store) = k_EClientSettingStore_CustomFunc];
optional .EGRAudio g_background_audio = 18213 [default = k_EGRAudio_Game, (setting_store) = k_EClientSettingStore_CustomFunc];
optional int32 g_max_fps = 18214 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "GameRecording\\MaxFPS", (setting_default_int) = 60, (setting_clamp_min) = 24, (setting_clamp_max) = 120];
optional .CMsgHotkey gamerecording_hotkey_ic = 18215 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "GameRecording\\InstantClipKey", (setting_default_string) = "None"];
optional float gamerecording_ic_seconds = 18216 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "GameRecording\\InstantClipDuration", (setting_default_float) = 10];
optional bool show_timestamps_in_console = 20000 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Developer\\ShowTimestampsInConsole"];
optional bool force_oobe = 20001 [(setting_store) = k_EClientSettingStore_Registry, (setting_name) = "HKEY_CURRENT_USER\\Software\\Valve\\Steam\\ForceOOBE"];
optional int32 override_browser_composer_mode = 20002 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool cef_remote_debugging_enabled = 20003 [(setting_store) = k_EClientSettingStore_CustomFunc];
optional bool force_deck_perf_tab = 20004 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Developer/ForceDeckPerfTab"];
optional bool force_fake_mandatory_update = 20005 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Developer/FakeMandatoryUpdate"];
optional bool hdr_compat_testing = 20006 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Developer/HDRCompatTesting"];
optional bool developer_mode_enabled = 20007 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Developer/DevModeEnabled"];
optional bool show_advanced_update_channels = 20008 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "Developer/ShowAdvancedUpdateChannels"];
optional .EHDRVisualization gamescope_hdr_visualization = 21001 [default = k_EHDRVisualization_None, (setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Gamescope/HDRVisualization2"];
optional int32 gamescope_app_target_framerate = 21002 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Gamescope/AppTargetFrameRate", (setting_default_int) = 0, (setting_profile_mode) = k_ESettingProfileMode_PerGamePerDisplay];
optional bool gamescope_enable_app_target_framerate = 21003 [(setting_store) = k_EClientSettingStore_Registry, (setting_name) = "HKEY_CURRENT_USER\\Software\\Valve\\Steam\\GamescopeEnableAppTargetRefreshRate2", (setting_default_bool) = true];
optional bool gamescope_disable_framelimit = 21004 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Gamescope/DisableFrameLimit", (setting_default_bool) = false, (setting_profile_mode) = k_ESettingProfileMode_PerGamePerDisplay];
optional int32 gamescope_display_refresh_rate = 21005 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Gamescope/RefreshRate", (setting_default_int) = 0, (setting_profile_mode) = k_ESettingProfileMode_PerGamePerDisplay];
optional bool gamescope_use_game_refresh_rate_in_steam = 21006 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Developer/DynamicRefreshRateInSteam", (setting_default_bool) = true];
optional bool gamescope_disable_mura_correction = 21007 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Gamescope/MuraCorrectionDisabled", (setting_default_bool) = false];
optional bool gamescope_include_steamui_in_screenshots = 21008 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Gamescope/IncludeSteamUIInScreenshots", (setting_default_bool) = true];
optional bool gamescope_allow_tearing = 21009 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Gamescope/AllowTearing", (setting_default_bool) = false, (setting_profile_mode) = k_ESettingProfileMode_PerGame];
optional bool gamescope_composite_debug = 21010 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Gamescope/CompositeDebug", (setting_default_bool) = false];
optional bool gamescope_force_composite = 21011 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Gamescope/ForceComposite", (setting_default_bool) = false];
optional string gamescope_game_resolution_global = 21012 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "Gamescope/GameResolutionGlobal", (setting_default_string) = "Default"];
optional int32 steamos_status_led_brightness = 22000 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "SteamOS/StatusLEDBrightness", (setting_default_int) = 100];
optional bool steamos_tdp_limit_enabled = 22001 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SteamOS/TDPLimitEnabled", (setting_default_bool) = false, (setting_profile_mode) = k_ESettingProfileMode_PerGame];
optional int32 steamos_tdp_limit = 22002 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SteamOS/TDPLimit", (setting_default_int) = 0, (setting_profile_mode) = k_ESettingProfileMode_PerGame];
optional bool steamos_cec_enabled = 22003 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SteamOS/CECEnabled", (setting_default_bool) = true];
optional bool steamos_cec_wake_on_resume = 22004 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SteamOS/WakeOnResume", (setting_default_bool) = true];
optional bool steamos_wifi_debug = 22005 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SteamOS/WifiDebug", (setting_default_bool) = false];
optional bool steamos_wifi_force_wpa_supplicant = 22006 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SteamOS/WifiForceWPASupplicant", (setting_default_bool) = false];
optional int32 steamos_magnifier_scale = 22007 [(setting_store) = k_EClientSettingStore_ConfigStore_UserLocal, (setting_name) = "SteamOS/MagnifierScale", (setting_default_int) = 150];
optional bool setting_validation_bool = 23001 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SettingValidation/DummyBool"];
optional .EHDRVisualization setting_validation_enum = 23002 [default = k_EHDRVisualization_None, (setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SettingValidation/DummyEnum"];
optional int32 setting_validation_int32 = 23003 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SettingValidation/DummyInt32"];
optional uint32 setting_validation_uint32 = 23004 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SettingValidation/DummyUInt32"];
optional uint64 setting_validation_uint64 = 23005 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SettingValidation/DummyUInt64"];
optional float setting_validation_float = 23006 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SettingValidation/DummyFloat"];
optional string setting_validation_string = 23007 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "SettingValidation/DummyString"];
optional bool system_bluetooth_enabled = 24000 [(setting_store) = k_EClientSettingStore_ConfigStore_Install, (setting_name) = "System/Bluetooth/Enabled", (setting_default_bool) = false];
}

View File

@@ -0,0 +1,425 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "enums.proto";
import "steammessages_client_objects.proto";
option cc_generic_services = true;
message CCloud_ClientLogUploadCheck_Notification {
optional uint64 client_id = 1;
}
message CCloud_ClientLogUploadComplete_Notification {
optional uint64 client_id = 1;
optional uint64 request_id = 2;
}
message CCloud_GetUploadServerInfo_Request {
optional uint32 appid = 1;
}
message CCloud_GetUploadServerInfo_Response {
optional string server_url = 1;
}
message CCloud_BeginHTTPUpload_Request {
optional uint32 appid = 1;
optional uint32 file_size = 2;
optional string filename = 3;
optional string file_sha = 4;
optional bool is_public = 5;
repeated string platforms_to_sync = 6;
repeated string request_headers_names = 7;
repeated string request_headers_values = 8;
optional uint64 upload_batch_id = 9;
}
message CCloud_BeginHTTPUpload_Response {
message HTTPHeaders {
optional string name = 1;
optional string value = 2;
}
optional fixed64 ugcid = 1;
optional fixed32 timestamp = 2;
optional string url_host = 3;
optional string url_path = 4;
optional bool use_https = 5;
repeated .CCloud_BeginHTTPUpload_Response.HTTPHeaders request_headers = 6;
}
message CCloud_CommitHTTPUpload_Request {
optional bool transfer_succeeded = 1;
optional uint32 appid = 2;
optional string file_sha = 3;
optional string filename = 4;
}
message CCloud_CommitHTTPUpload_Response {
optional bool file_committed = 1;
}
message CCloud_BeginUGCUpload_Request {
optional uint32 appid = 1;
optional uint32 file_size = 2;
optional string filename = 3;
optional string file_sha = 4;
optional string content_type = 5;
}
message CCloud_BeginUGCUpload_Response {
message HTTPHeaders {
optional string name = 1;
optional string value = 2;
}
optional .EPublishedFileStorageSystem storage_system = 1 [default = k_EPublishedFileStorageSystemInvalid];
optional fixed64 ugcid = 2;
optional fixed32 timestamp = 3;
optional string url_host = 4;
optional string url_path = 5;
optional bool use_https = 6;
repeated .CCloud_BeginUGCUpload_Response.HTTPHeaders request_headers = 7;
}
message CCloud_CommitUGCUpload_Request {
optional bool transfer_succeeded = 1;
optional uint32 appid = 2;
optional fixed64 ugcid = 3;
}
message CCloud_CommitUGCUpload_Response {
optional bool file_committed = 1;
}
message CCloud_GetFileDetails_Request {
optional uint64 ugcid = 1;
optional uint32 appid = 2;
}
message CCloud_UserFile {
optional uint32 appid = 1;
optional uint64 ugcid = 2;
optional string filename = 3;
optional uint64 timestamp = 4;
optional uint32 file_size = 5;
optional string url = 6;
optional fixed64 steamid_creator = 7;
optional uint32 flags = 8;
repeated string platforms_to_sync = 9;
optional string file_sha = 10;
}
message CCloud_GetFileDetails_Response {
optional .CCloud_UserFile details = 1;
}
message CCloud_EnumerateUserFiles_Request {
optional uint32 appid = 1;
optional bool extended_details = 2;
optional uint32 count = 3;
optional uint32 start_index = 4;
}
message CCloud_EnumerateUserFiles_Response {
repeated .CCloud_UserFile files = 1;
optional uint32 total_files = 2;
}
message CCloud_Delete_Request {
optional string filename = 1;
optional uint32 appid = 2;
optional uint64 upload_batch_id = 3;
}
message CCloud_Delete_Response {
}
message CCloud_GetClientEncryptionKey_Request {
}
message CCloud_GetClientEncryptionKey_Response {
optional bytes key = 1;
optional int32 crc = 2;
}
message CCloud_CDNReport_Notification {
optional fixed64 steamid = 1;
optional string url = 2;
optional bool success = 3;
optional uint32 http_status_code = 4;
optional uint64 expected_bytes = 5;
optional uint64 received_bytes = 6;
optional uint32 duration = 7;
}
message CCloud_ExternalStorageTransferReport_Notification {
optional string host = 1;
optional string path = 2;
optional bool is_upload = 3;
optional bool success = 4;
optional uint32 http_status_code = 5;
optional uint64 bytes_expected = 6;
optional uint64 bytes_actual = 7;
optional uint32 duration_ms = 8;
optional uint32 cellid = 9;
optional bool proxied = 10;
optional bool ipv6_local = 11;
optional bool ipv6_remote = 12;
optional uint32 time_to_connect_ms = 13;
optional uint32 time_to_send_req_ms = 14;
optional uint32 time_to_first_byte_ms = 15;
optional uint32 time_to_last_byte_ms = 16;
}
message CCloud_BeginAppUploadBatch_Request {
optional uint32 appid = 1;
optional string machine_name = 2;
repeated string files_to_upload = 3;
repeated string files_to_delete = 4;
optional uint64 client_id = 5;
optional uint64 app_build_id = 6;
}
message CCloud_BeginAppUploadBatch_Response {
optional uint64 batch_id = 1;
optional uint64 app_change_number = 4;
}
message CCloud_CompleteAppUploadBatch_Notification {
optional uint32 appid = 1;
optional uint64 batch_id = 2;
optional uint32 batch_eresult = 3;
}
message CCloud_CompleteAppUploadBatch_Request {
optional uint32 appid = 1;
optional uint64 batch_id = 2;
optional uint32 batch_eresult = 3;
}
message CCloud_CompleteAppUploadBatch_Response {
}
message CCloud_ClientBeginFileUpload_Request {
optional uint32 appid = 1;
optional uint32 file_size = 2;
optional uint32 raw_file_size = 3;
optional bytes file_sha = 4;
optional uint64 time_stamp = 5;
optional string filename = 6;
optional uint32 platforms_to_sync = 7 [default = 4294967295];
optional uint32 cell_id = 9;
optional bool can_encrypt = 10;
optional bool is_shared_file = 11;
optional uint32 deprecated_realm = 12;
optional uint64 upload_batch_id = 13;
}
message ClientCloudFileUploadBlockDetails {
message HTTPHeaders {
optional string name = 1;
optional string value = 2;
}
optional string url_host = 1;
optional string url_path = 2;
optional bool use_https = 3;
optional int32 http_method = 4;
repeated .ClientCloudFileUploadBlockDetails.HTTPHeaders request_headers = 5;
optional uint64 block_offset = 6;
optional uint32 block_length = 7;
optional bytes explicit_body_data = 8;
optional bool may_parallelize = 9;
}
message CCloud_ClientBeginFileUpload_Response {
optional bool encrypt_file = 1;
repeated .ClientCloudFileUploadBlockDetails block_requests = 2;
}
message CCloud_ClientCommitFileUpload_Request {
optional bool transfer_succeeded = 1;
optional uint32 appid = 2;
optional bytes file_sha = 3;
optional string filename = 4;
}
message CCloud_ClientCommitFileUpload_Response {
optional bool file_committed = 1;
}
message CCloud_ClientFileDownload_Request {
optional uint32 appid = 1;
optional string filename = 2;
optional uint32 realm = 3;
optional bool force_proxy = 4;
}
message CCloud_ClientFileDownload_Response {
message HTTPHeaders {
optional string name = 1;
optional string value = 2;
}
optional uint32 appid = 1;
optional uint32 file_size = 2;
optional uint32 raw_file_size = 3;
optional bytes sha_file = 4;
optional uint64 time_stamp = 5;
optional bool is_explicit_delete = 6;
optional string url_host = 7;
optional string url_path = 8;
optional bool use_https = 9;
repeated .CCloud_ClientFileDownload_Response.HTTPHeaders request_headers = 10;
optional bool encrypted = 11;
}
message CCloud_ClientDeleteFile_Request {
optional uint32 appid = 1;
optional string filename = 2;
optional bool is_explicit_delete = 3;
optional uint64 upload_batch_id = 4;
}
message CCloud_ClientDeleteFile_Response {
}
message CCloud_ClientConflictResolution_Notification {
optional uint32 appid = 1;
optional bool chose_local_files = 2;
}
message CCloud_EnumerateUserApps_Request {
}
message CCloud_EnumerateUserApps_Response {
message Apps {
optional uint32 appid = 1;
optional int32 totalcount = 2;
optional int64 totalsize = 3;
}
repeated .CCloud_EnumerateUserApps_Response.Apps apps = 1;
}
message CCloud_GetAppFileChangelist_Request {
optional uint32 appid = 1;
optional uint64 synced_change_number = 2;
}
message CCloud_AppFileInfo {
optional string file_name = 1;
optional bytes sha_file = 2;
optional uint64 time_stamp = 3;
optional uint32 raw_file_size = 4;
optional .ECloudStoragePersistState persist_state = 5 [default = k_ECloudStoragePersistStatePersisted];
optional uint32 platforms_to_sync = 6;
optional uint32 path_prefix_index = 7;
optional uint32 machine_name_index = 8;
}
message CCloud_GetAppFileChangelist_Response {
optional uint64 current_change_number = 1;
repeated .CCloud_AppFileInfo files = 2;
optional bool is_only_delta = 3;
repeated string path_prefixes = 4;
repeated string machine_names = 5;
optional uint64 app_buildid_hwm = 6;
}
message CCloud_AppSessionSuspend_Request {
optional uint32 appid = 1;
optional uint64 client_id = 2;
optional string machine_name = 3;
optional bool cloud_sync_completed = 4;
}
message CCloud_AppSessionSuspend_Response {
}
message CCloud_AppSessionResume_Request {
optional uint32 appid = 1;
optional uint64 client_id = 2;
}
message CCloud_AppSessionResume_Response {
}
message CCloud_AppLaunchIntent_Request {
optional uint32 appid = 1;
optional uint64 client_id = 2;
optional string machine_name = 3;
optional bool ignore_pending_operations = 4;
optional int32 os_type = 5;
optional int32 device_type = 6;
}
message CCloud_AppLaunchIntent_Response {
repeated .CCloud_PendingRemoteOperation pending_remote_operations = 1;
}
message CCloud_AppExitSyncDone_Notification {
optional uint32 appid = 1;
optional uint64 client_id = 2;
optional bool uploads_completed = 3;
optional bool uploads_required = 4;
}
message CCloud_ClientGetAppQuotaUsage_Request {
optional uint32 appid = 1;
}
message CCloud_ClientGetAppQuotaUsage_Response {
optional uint32 existing_files = 1;
optional uint64 existing_bytes = 2;
optional uint32 max_num_files = 3;
optional uint64 max_num_bytes = 4;
}
message CCloud_AppCloudStateChange_Notification {
optional uint32 appid = 1;
optional uint64 app_change_number = 2;
}
message CCloud_ClientLogUploadRequest_Notification {
optional uint64 request_id = 1;
}
service Cloud {
rpc ClientLogUploadCheck (.CCloud_ClientLogUploadCheck_Notification) returns (.NoResponse);
rpc ClientLogUploadComplete (.CCloud_ClientLogUploadComplete_Notification) returns (.NoResponse);
rpc GetUploadServerInfo (.CCloud_GetUploadServerInfo_Request) returns (.CCloud_GetUploadServerInfo_Response);
rpc BeginHTTPUpload (.CCloud_BeginHTTPUpload_Request) returns (.CCloud_BeginHTTPUpload_Response);
rpc CommitHTTPUpload (.CCloud_CommitHTTPUpload_Request) returns (.CCloud_CommitHTTPUpload_Response);
rpc BeginUGCUpload (.CCloud_BeginUGCUpload_Request) returns (.CCloud_BeginUGCUpload_Response);
rpc CommitUGCUpload (.CCloud_CommitUGCUpload_Request) returns (.CCloud_CommitUGCUpload_Response);
rpc GetFileDetails (.CCloud_GetFileDetails_Request) returns (.CCloud_GetFileDetails_Response);
rpc EnumerateUserFiles (.CCloud_EnumerateUserFiles_Request) returns (.CCloud_EnumerateUserFiles_Response);
rpc Delete (.CCloud_Delete_Request) returns (.CCloud_Delete_Response);
rpc GetClientEncryptionKey (.CCloud_GetClientEncryptionKey_Request) returns (.CCloud_GetClientEncryptionKey_Response);
rpc CDNReport (.CCloud_CDNReport_Notification) returns (.NoResponse);
rpc ExternalStorageTransferReport (.CCloud_ExternalStorageTransferReport_Notification) returns (.NoResponse);
rpc BeginAppUploadBatch (.CCloud_BeginAppUploadBatch_Request) returns (.CCloud_BeginAppUploadBatch_Response);
rpc CompleteAppUploadBatch (.CCloud_CompleteAppUploadBatch_Notification) returns (.NoResponse);
rpc CompleteAppUploadBatchBlocking (.CCloud_CompleteAppUploadBatch_Request) returns (.CCloud_CompleteAppUploadBatch_Response);
rpc ClientBeginFileUpload (.CCloud_ClientBeginFileUpload_Request) returns (.CCloud_ClientBeginFileUpload_Response);
rpc ClientCommitFileUpload (.CCloud_ClientCommitFileUpload_Request) returns (.CCloud_ClientCommitFileUpload_Response);
rpc ClientFileDownload (.CCloud_ClientFileDownload_Request) returns (.CCloud_ClientFileDownload_Response);
rpc ClientDeleteFile (.CCloud_ClientDeleteFile_Request) returns (.CCloud_ClientDeleteFile_Response);
rpc ClientConflictResolution (.CCloud_ClientConflictResolution_Notification) returns (.NoResponse);
rpc EnumerateUserApps (.CCloud_EnumerateUserApps_Request) returns (.CCloud_EnumerateUserApps_Response);
rpc GetAppFileChangelist (.CCloud_GetAppFileChangelist_Request) returns (.CCloud_GetAppFileChangelist_Response);
rpc SuspendAppSession (.CCloud_AppSessionSuspend_Request) returns (.CCloud_AppSessionSuspend_Response);
rpc ResumeAppSession (.CCloud_AppSessionResume_Request) returns (.CCloud_AppSessionResume_Response);
rpc SignalAppLaunchIntent (.CCloud_AppLaunchIntent_Request) returns (.CCloud_AppLaunchIntent_Response);
rpc SignalAppExitSyncDone (.CCloud_AppExitSyncDone_Notification) returns (.NoResponse);
rpc ClientGetAppQuotaUsage (.CCloud_ClientGetAppQuotaUsage_Request) returns (.CCloud_ClientGetAppQuotaUsage_Response);
}
service CloudClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyAppStateChange (.CCloud_AppCloudStateChange_Notification) returns (.NoResponse);
rpc ClientLogUploadRequest (.CCloud_ClientLogUploadRequest_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,337 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "enums.proto";
option cc_generic_services = true;
enum EPartnerEventDisplayLocation {
k_EPartnerEventDisplayLocation_Invalid = 0;
k_EPartnerEventDisplayLocation_AppDetailsSpotlight = 1;
k_EPartnerEventDisplayLocation_LibraryOverview = 2;
k_EPartnerEventDisplayLocation_StoreAppPage = 3;
k_EPartnerEventDisplayLocation_EventScroller = 4;
k_EPartnerEventDisplayLocation_AppDetailsActivity = 5;
k_EPartnerEventDisplayLocation_CommunityHub = 6;
k_EPartnerEventDisplayLocation_StoreFrontPage = 7;
k_EPartnerEventDisplayLocation_NewsHub = 8;
k_EPartnerEventDisplayLocation_GamepadHome = 9;
}
message CCommunity_GetApps_Request {
repeated int32 appids = 1;
optional uint32 language = 2;
}
message CCommunity_GetApps_Response {
repeated .CCDDBAppDetailCommon apps = 1;
}
message CCommunity_GetAppRichPresenceLocalization_Request {
optional int32 appid = 1;
optional string language = 2;
}
message CCommunity_GetAppRichPresenceLocalization_Response {
message Token {
optional string name = 1;
optional string value = 2;
}
message TokenList {
optional string language = 1;
repeated .CCommunity_GetAppRichPresenceLocalization_Response.Token tokens = 2;
}
optional int32 appid = 1;
repeated .CCommunity_GetAppRichPresenceLocalization_Response.TokenList token_lists = 2;
}
message CCommunity_GetCommentThread_Request {
optional fixed64 steamid = 1;
optional .ECommentThreadType comment_thread_type = 2 [default = k_ECommentThreadTypeInvalid];
optional fixed64 gidfeature = 3;
optional fixed64 gidfeature2 = 4;
optional fixed64 commentthreadid = 5;
optional int32 start = 6;
optional int32 count = 7;
optional int32 upvoters = 8;
optional bool include_deleted = 9;
optional fixed64 gidcomment = 10;
optional uint32 time_oldest = 11;
optional bool oldest_first = 12;
}
message CCommunity_Comment {
message Reaction {
optional uint32 reactionid = 1;
optional uint32 count = 2;
}
optional fixed64 gidcomment = 1;
optional fixed64 steamid = 2;
optional uint32 timestamp = 3;
optional string text = 4;
optional int32 upvotes = 5;
optional bool hidden = 6;
optional bool hidden_by_user = 7;
optional bool deleted = 8;
optional .CMsgIPAddress ipaddress = 9;
optional int32 total_hidden = 10;
optional bool upvoted_by_user = 11;
repeated .CCommunity_Comment.Reaction reactions = 12;
optional fixed64 gidparentcomment = 13;
}
message CCommunity_GetCommentThread_Response {
repeated .CCommunity_Comment comments = 1;
repeated .CCommunity_Comment deleted_comments = 2;
optional fixed64 steamid = 3;
optional fixed64 commentthreadid = 4;
optional int32 start = 5;
optional int32 count = 6;
optional int32 total_count = 7;
optional int32 upvotes = 8;
repeated uint32 upvoters = 9;
optional bool user_subscribed = 10;
optional bool user_upvoted = 11;
optional fixed64 answer_commentid = 12;
optional uint32 answer_actor = 13;
optional int32 answer_actor_rank = 14;
optional bool can_post = 15;
optional uint32 comment_thread_type = 16;
optional fixed64 gidfeature = 17;
optional fixed64 gidfeature2 = 18;
}
message CCommunity_PostCommentToThread_Request {
optional fixed64 steamid = 1;
optional .ECommentThreadType comment_thread_type = 2 [default = k_ECommentThreadTypeInvalid];
optional fixed64 gidfeature = 3;
optional fixed64 gidfeature2 = 4;
optional string text = 6;
optional fixed64 gidparentcomment = 7;
optional bool suppress_notifications = 8;
optional bool is_report = 9;
optional bool start_hidden = 10;
}
message CCommunity_PostCommentToThread_Response {
optional fixed64 gidcomment = 1;
optional fixed64 commentthreadid = 2;
optional int32 count = 3;
optional int32 upvotes = 4;
}
message CCommunity_DeleteCommentFromThread_Request {
optional fixed64 steamid = 1;
optional .ECommentThreadType comment_thread_type = 2 [default = k_ECommentThreadTypeInvalid];
optional fixed64 gidfeature = 3;
optional fixed64 gidfeature2 = 4;
optional fixed64 gidcomment = 5;
optional bool undelete = 6;
}
message CCommunity_DeleteCommentFromThread_Response {
}
message CCommunity_RateCommentThread_Request {
optional string commentthreadtype = 1;
optional uint64 steamid = 2;
optional uint64 gidfeature = 3;
optional uint64 gidfeature2 = 4;
optional uint64 gidcomment = 5;
optional bool rate_up = 6;
optional bool suppress_notifications = 7;
}
message CCommunity_RateCommentThread_Response {
optional uint64 gidcomment = 1;
optional uint64 commentthreadid = 2;
optional uint32 count = 3;
optional uint32 upvotes = 4;
optional bool has_upvoted = 5;
}
message CCommunity_GetCommentThreadRatings_Request {
optional string commentthreadtype = 1;
optional uint64 steamid = 2;
optional uint64 gidfeature = 3;
optional uint64 gidfeature2 = 4;
optional uint64 gidcomment = 5;
optional uint32 max_results = 6;
}
message CCommunity_GetCommentThreadRatings_Response {
optional uint64 commentthreadid = 1;
optional uint64 gidcomment = 2;
optional uint32 upvotes = 3;
optional bool has_upvoted = 4;
repeated uint32 upvoter_accountids = 5;
}
message CCommunity_RateClanAnnouncement_Request {
optional uint64 announcementid = 1;
optional bool vote_up = 2;
optional uint32 clan_accountid = 3;
}
message CCommunity_RateClanAnnouncement_Response {
}
message CCommunity_GetClanAnnouncementVoteForUser_Request {
optional uint64 announcementid = 1;
}
message CCommunity_GetClanAnnouncementVoteForUser_Response {
optional bool voted_up = 1;
optional bool voted_down = 2;
}
message CCommunity_GetAvatarHistory_Request {
optional fixed64 steamid = 1;
optional bool filter_user_uploaded_only = 2;
}
message CCommunity_GetAvatarHistory_Response {
message AvatarData {
optional string avatar_sha1 = 1;
optional bool user_uploaded = 2;
optional uint32 timestamp = 3;
}
repeated .CCommunity_GetAvatarHistory_Response.AvatarData avatars = 1;
}
message CAppPriority {
optional uint32 priority = 1;
repeated uint32 appid = 2;
}
message CCommunity_GetUserPartnerEventNews_Request {
optional uint32 count = 1;
optional uint32 offset = 2;
optional uint32 rtime32_start_time = 3;
optional uint32 rtime32_end_time = 4;
repeated uint32 language_preference = 5;
repeated .EProtoClanEventType filter_event_type = 6;
optional bool filter_to_appid = 7;
repeated .CAppPriority app_list = 8;
optional uint32 count_after = 9 [default = 0];
optional uint32 count_before = 10 [default = 0];
}
message CCommunity_GetUserPartnerEventNews_Response {
repeated .CClanMatchEventByRange results = 1;
}
message CCommunity_GetBestEventsForUser_Request {
optional bool include_steam_blog = 1;
optional uint32 filter_to_played_within_days = 2;
optional bool include_only_game_updates = 3;
}
message CCommunity_PartnerEventResult {
optional uint32 clanid = 1;
optional fixed64 event_gid = 2;
optional fixed64 announcement_gid = 3;
optional uint32 appid = 4;
optional bool possible_takeover = 5;
optional uint32 rtime32_last_modified = 6 [default = 0];
optional int32 user_app_priority = 7;
}
message CCommunity_GetBestEventsForUser_Response {
repeated .CCommunity_PartnerEventResult results = 1;
}
message CCommunity_MarkPartnerEventsForUser_Request {
message PartnerEventMarking {
optional uint32 clanid = 1;
optional fixed64 event_gid = 2;
optional .EPartnerEventDisplayLocation display_location = 3 [default = k_EPartnerEventDisplayLocation_Invalid];
optional bool mark_shown = 4;
optional bool mark_read = 5;
}
repeated .CCommunity_MarkPartnerEventsForUser_Request.PartnerEventMarking markings = 1;
}
message CCommunity_MarkPartnerEventsForUser_Response {
}
message CCommunity_GetUserPartnerEventViewStatus_Request {
repeated fixed64 event_gids = 1;
optional bool include_read_events_only = 2;
}
message CCommunity_GetUserPartnerEventViewStatus_Response {
message PartnerEvent {
optional fixed64 event_gid = 1;
optional uint32 last_shown_time = 2;
optional uint32 last_read_time = 3;
optional uint32 clan_account_id = 4;
}
repeated .CCommunity_GetUserPartnerEventViewStatus_Response.PartnerEvent events = 1;
}
message CCommunity_PartnerEventsShowMoreForApp_Request {
optional uint32 appid = 1;
}
message CCommunity_PartnerEventsShowMoreForApp_Response {
}
message CCommunity_PartnerEventsShowLessForApp_Request {
optional uint32 appid = 1;
}
message CCommunity_PartnerEventsShowLessForApp_Response {
}
message CCommunity_ClearUserPartnerEventsAppPriorities_Request {
}
message CCommunity_ClearUserPartnerEventsAppPriorities_Response {
}
message CCommunity_GetUserPartnerEventsAppPriorities_Request {
}
message CCommunity_PartnerEventsAppPriority {
optional uint32 appid = 1;
optional int32 user_app_priority = 2;
}
message CCommunity_GetUserPartnerEventsAppPriorities_Response {
repeated .CCommunity_PartnerEventsAppPriority priorities = 1;
}
message CCommunity_ClearSinglePartnerEventsAppPriority_Request {
optional uint32 appid = 1;
}
message CCommunity_ClearSinglePartnerEventsAppPriority_Response {
}
service Community {
rpc GetApps (.CCommunity_GetApps_Request) returns (.CCommunity_GetApps_Response);
rpc GetAppRichPresenceLocalization (.CCommunity_GetAppRichPresenceLocalization_Request) returns (.CCommunity_GetAppRichPresenceLocalization_Response);
rpc GetCommentThread (.CCommunity_GetCommentThread_Request) returns (.CCommunity_GetCommentThread_Response);
rpc PostCommentToThread (.CCommunity_PostCommentToThread_Request) returns (.CCommunity_PostCommentToThread_Response);
rpc DeleteCommentFromThread (.CCommunity_DeleteCommentFromThread_Request) returns (.CCommunity_DeleteCommentFromThread_Response);
rpc RateCommentThread (.CCommunity_RateCommentThread_Request) returns (.CCommunity_RateCommentThread_Response);
rpc GetCommentThreadRatings (.CCommunity_GetCommentThreadRatings_Request) returns (.CCommunity_GetCommentThreadRatings_Response);
rpc RateClanAnnouncement (.CCommunity_RateClanAnnouncement_Request) returns (.CCommunity_RateClanAnnouncement_Response);
rpc GetClanAnnouncementVoteForUser (.CCommunity_GetClanAnnouncementVoteForUser_Request) returns (.CCommunity_GetClanAnnouncementVoteForUser_Response);
rpc GetAvatarHistory (.CCommunity_GetAvatarHistory_Request) returns (.CCommunity_GetAvatarHistory_Response);
rpc GetUserPartnerEventNews (.CCommunity_GetUserPartnerEventNews_Request) returns (.CCommunity_GetUserPartnerEventNews_Response);
rpc GetBestEventsForUser (.CCommunity_GetBestEventsForUser_Request) returns (.CCommunity_GetBestEventsForUser_Response);
rpc MarkPartnerEventsForUser (.CCommunity_MarkPartnerEventsForUser_Request) returns (.CCommunity_MarkPartnerEventsForUser_Response);
rpc GetUserPartnerEventViewStatus (.CCommunity_GetUserPartnerEventViewStatus_Request) returns (.CCommunity_GetUserPartnerEventViewStatus_Response);
rpc PartnerEventsShowMoreForApp (.CCommunity_PartnerEventsShowMoreForApp_Request) returns (.CCommunity_PartnerEventsShowMoreForApp_Response);
rpc PartnerEventsShowLessForApp (.CCommunity_PartnerEventsShowLessForApp_Request) returns (.CCommunity_PartnerEventsShowLessForApp_Response);
rpc ClearUserPartnerEventsAppPriorities (.CCommunity_ClearUserPartnerEventsAppPriorities_Request) returns (.CCommunity_ClearUserPartnerEventsAppPriorities_Response);
rpc GetUserPartnerEventsAppPriorities (.CCommunity_GetUserPartnerEventsAppPriorities_Request) returns (.CCommunity_GetUserPartnerEventsAppPriorities_Response);
rpc ClearSinglePartnerEventsAppPriority (.CCommunity_ClearSinglePartnerEventsAppPriority_Request) returns (.CCommunity_ClearSinglePartnerEventsAppPriority_Response);
}

View File

@@ -0,0 +1,123 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CContentServerDirectory_ConnectedSteamPipeServerInfo {
optional string type = 1;
optional int32 source_id = 2;
optional string hostname = 3;
}
message CContentServerDirectory_GetServersForSteamPipe_Request {
optional uint32 cell_id = 1;
optional uint32 max_servers = 2 [default = 20];
optional string ip_override = 3;
optional int32 launcher_type = 4 [default = 0];
optional string ipv6_public = 5;
repeated .CContentServerDirectory_ConnectedSteamPipeServerInfo current_connections = 6;
}
message CContentServerDirectory_ServerInfo {
optional string type = 1;
optional int32 source_id = 2;
optional int32 cell_id = 3;
optional int32 load = 4;
optional float weighted_load = 5;
optional int32 num_entries_in_client_list = 6;
optional bool steam_china_only = 7;
optional string host = 8;
optional string vhost = 9;
optional bool use_as_proxy = 10;
optional string proxy_request_path_template = 11;
optional string https_support = 12;
repeated uint32 allowed_app_ids = 13;
optional uint32 priority_class = 15;
repeated string bypass_proxies_of_type = 16;
}
message CContentServerDirectory_GetServersForSteamPipe_Response {
repeated .CContentServerDirectory_ServerInfo servers = 1;
optional bool no_change = 2;
}
message CContentServerDirectory_GetDepotPatchInfo_Request {
optional uint32 appid = 1;
optional uint32 depotid = 2;
optional uint64 source_manifestid = 3;
optional uint64 target_manifestid = 4;
}
message CContentServerDirectory_GetDepotPatchInfo_Response {
optional bool is_available = 1;
optional uint64 patch_size = 2;
optional uint64 patched_chunks_size = 3;
}
message CContentServerDirectory_GetClientUpdateHosts_Request {
optional string cached_signature = 1;
}
message CContentServerDirectory_GetClientUpdateHosts_Response {
optional string hosts_kv = 1;
optional uint64 valid_until_time = 2;
optional string ip_country = 3;
}
message CContentServerDirectory_GetManifestRequestCode_Request {
optional uint32 app_id = 1;
optional uint32 depot_id = 2;
optional uint64 manifest_id = 3;
optional string app_branch = 4;
optional string branch_password_hash = 5;
}
message CContentServerDirectory_GetManifestRequestCode_Response {
optional uint64 manifest_request_code = 1;
}
message CContentServerDirectory_GetCDNAuthToken_Request {
optional uint32 depot_id = 1;
optional string host_name = 2;
optional uint32 app_id = 3;
}
message CContentServerDirectory_GetCDNAuthToken_Response {
optional string token = 1;
optional uint32 expiration_time = 2;
}
message CContentServerDirectory_RequestPeerContentServer_Request {
optional uint64 remote_client_id = 1;
optional uint64 steamid = 2;
optional uint64 server_remote_client_id = 3;
optional uint32 app_id = 4;
optional uint32 current_build_id = 5;
}
message CContentServerDirectory_RequestPeerContentServer_Response {
optional uint32 server_port = 1;
repeated uint32 installed_depots = 2;
optional uint64 access_token = 3;
}
message CContentServerDirectory_GetPeerContentInfo_Request {
optional uint64 remote_client_id = 1;
optional uint64 steamid = 2;
optional uint64 server_remote_client_id = 3;
}
message CContentServerDirectory_GetPeerContentInfo_Response {
repeated uint32 appids = 1;
optional string ip_public = 2;
}
service ContentServerDirectory {
rpc GetServersForSteamPipe (.CContentServerDirectory_GetServersForSteamPipe_Request) returns (.CContentServerDirectory_GetServersForSteamPipe_Response);
rpc GetDepotPatchInfo (.CContentServerDirectory_GetDepotPatchInfo_Request) returns (.CContentServerDirectory_GetDepotPatchInfo_Response);
rpc GetClientUpdateHosts (.CContentServerDirectory_GetClientUpdateHosts_Request) returns (.CContentServerDirectory_GetClientUpdateHosts_Response);
rpc GetManifestRequestCode (.CContentServerDirectory_GetManifestRequestCode_Request) returns (.CContentServerDirectory_GetManifestRequestCode_Response);
rpc GetCDNAuthToken (.CContentServerDirectory_GetCDNAuthToken_Request) returns (.CContentServerDirectory_GetCDNAuthToken_Response);
rpc RequestPeerContentServer (.CContentServerDirectory_RequestPeerContentServer_Request) returns (.CContentServerDirectory_RequestPeerContentServer_Response);
rpc GetPeerContentInfo (.CContentServerDirectory_GetPeerContentInfo_Request) returns (.CContentServerDirectory_GetPeerContentInfo_Response);
}

View File

@@ -0,0 +1,96 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CCredentials_TestAvailablePassword_Request {
optional string password = 1;
optional bytes sha_digest_password = 2;
optional string account_name = 3;
}
message CCredentials_TestAvailablePassword_Response {
optional bool is_valid = 3;
}
message CCredentials_GetSteamGuardDetails_Request {
optional string webcookie = 2;
optional fixed32 timestamp_minimum_wanted = 3;
optional int32 deprecated_ipaddress = 4;
optional .CMsgIPAddress ip_address = 5;
}
message CCredentials_GetSteamGuardDetails_Response {
message SessionData {
optional uint64 machine_id = 1;
optional string machine_name_userchosen = 2;
optional fixed32 timestamp_machine_steamguard_enabled = 3;
optional bool authentication_exists_from_geoloc_before_mintime = 4;
optional bool authentication_exists_from_same_ip_before_mintime = 6;
optional uint32 public_ipv4 = 7;
optional string public_ip_address = 8;
}
optional bool is_steamguard_enabled = 1;
optional fixed32 timestamp_steamguard_enabled = 2;
optional string deprecated_machine_name_userchosen = 4;
optional fixed32 deprecated_timestamp_machine_steamguard_enabled = 5;
optional bool deprecated_authentication_exists_from_geoloc_before_mintime = 6;
optional uint64 deprecated_machine_id = 7;
repeated .CCredentials_GetSteamGuardDetails_Response.SessionData session_data = 8;
optional bool is_twofactor_enabled = 9;
optional fixed32 timestamp_twofactor_enabled = 10;
optional bool is_phone_verified = 11;
}
message CCredentials_ValidateEmailAddress_Request {
optional string stoken = 1;
}
message CCredentials_ValidateEmailAddress_Response {
optional bool was_validated = 1;
}
message CCredentials_SteamGuardPhishingReport_Request {
optional string param_string = 1;
optional string ipaddress_actual = 2;
}
message CCredentials_SteamGuardPhishingReport_Response {
optional string ipaddress_loginattempt = 1;
optional string countryname_loginattempt = 2;
optional string statename_loginattempt = 3;
optional string cityname_loginattempt = 4;
optional string ipaddress_actual = 5;
optional string countryname_actual = 6;
optional string statename_actual = 7;
optional string cityname_actual = 8;
optional string steamguard_code = 9;
}
message CCredentials_LastCredentialChangeTime_Request {
optional bool user_changes_only = 1;
}
message CCredentials_LastCredentialChangeTime_Response {
optional fixed32 timestamp_last_password_change = 1;
optional fixed32 timestamp_last_email_change = 2;
optional fixed32 timestamp_last_password_reset = 3;
}
message CCredentials_GetAccountAuthSecret_Request {
}
message CCredentials_GetAccountAuthSecret_Response {
optional int32 secret_id = 1;
optional bytes secret = 2;
}
service Credentials {
rpc TestAvailablePassword (.CCredentials_TestAvailablePassword_Request) returns (.CCredentials_TestAvailablePassword_Response);
rpc GetSteamGuardDetails (.CCredentials_GetSteamGuardDetails_Request) returns (.CCredentials_GetSteamGuardDetails_Response);
rpc ValidateEmailAddress (.CCredentials_ValidateEmailAddress_Request) returns (.CCredentials_ValidateEmailAddress_Response);
rpc SteamGuardPhishingReport (.CCredentials_SteamGuardPhishingReport_Request) returns (.CCredentials_SteamGuardPhishingReport_Response);
rpc GetCredentialChangeTimeDetails (.CCredentials_LastCredentialChangeTime_Request) returns (.CCredentials_LastCredentialChangeTime_Response);
rpc GetAccountAuthSecret (.CCredentials_GetAccountAuthSecret_Request) returns (.CCredentials_GetAccountAuthSecret_Response);
}

View File

@@ -0,0 +1,104 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CDataPublisher_ClientContentCorruptionReport_Notification {
optional uint32 appid = 1;
optional uint32 depotid = 2;
optional string download_source = 3;
optional string objectid = 4;
optional uint32 cellid = 5;
optional bool is_manifest = 6;
optional uint64 object_size = 7;
optional uint32 corruption_type = 8;
optional bool used_https = 9;
optional bool oc_proxy_detected = 10;
}
message CDataPublisher_ClientUpdateAppJob_Notification {
optional uint32 app_id = 1;
repeated uint32 depot_ids = 2;
optional uint32 app_state = 3;
optional uint32 job_app_error = 4;
optional string error_details = 5;
optional uint32 job_duration = 6;
optional uint32 files_validation_failed = 7;
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;
optional uint64 total_bytes_restored = 16;
optional bool is_borrowed = 17;
optional bool is_free_weekend = 18;
optional uint64 total_bytes_patched = 20;
optional uint64 total_bytes_saved = 21;
optional uint32 cell_id = 22;
optional bool is_workshop = 23;
optional bool is_shader = 24;
}
message CDataPublisher_GetVRDeviceInfo_Request {
optional uint32 month_count = 1;
}
message CDataPublisher_GetVRDeviceInfo_Response {
message Device {
optional string name = 1;
optional uint32 ref = 2;
optional uint32 aggregation_ref = 3;
optional uint32 total = 4;
optional string driver = 5;
optional int32 device_class = 6;
}
repeated .CDataPublisher_GetVRDeviceInfo_Response.Device device = 1;
}
message CDataPublisher_SetVRDeviceInfoAggregationReference_Request {
optional uint32 ref = 1;
optional uint32 aggregation_ref = 2;
}
message CDataPublisher_SetVRDeviceInfoAggregationReference_Response {
optional uint32 result = 1;
}
message CDataPublisher_AddVRDeviceInfo_Request {
optional string manufacturer = 1;
optional string model = 2;
optional string driver = 3;
optional string controller_type = 4;
optional int32 device_class = 5;
}
message CDataPublisher_AddVRDeviceInfo_Response {
optional uint32 result = 1;
optional uint32 ref = 2;
}
message CValveHWSurvey_GetSurveySchedule_Request {
optional string surveydatetoken = 1;
optional fixed64 surveydatetokenversion = 2;
}
message CValveHWSurvey_GetSurveySchedule_Response {
optional uint32 surveydatetoken = 1;
optional fixed64 surveydatetokenversion = 2;
}
service DataPublisher {
rpc ClientContentCorruptionReport (.CDataPublisher_ClientContentCorruptionReport_Notification) returns (.NoResponse);
rpc ClientUpdateAppJobReport (.CDataPublisher_ClientUpdateAppJob_Notification) returns (.NoResponse);
rpc GetVRDeviceInfo (.CDataPublisher_GetVRDeviceInfo_Request) returns (.CDataPublisher_GetVRDeviceInfo_Response);
rpc SetVRDeviceInfoAggregationReference (.CDataPublisher_SetVRDeviceInfoAggregationReference_Request) returns (.CDataPublisher_SetVRDeviceInfoAggregationReference_Response);
rpc AddVRDeviceInfo (.CDataPublisher_AddVRDeviceInfo_Request) returns (.CDataPublisher_AddVRDeviceInfo_Response);
}
service ValveHWSurvey {
rpc GetSurveySchedule (.CValveHWSurvey_GetSurveySchedule_Request) returns (.CValveHWSurvey_GetSurveySchedule_Response);
}

View File

@@ -0,0 +1,99 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CContentBuilder_InitDepotBuild_Request {
optional uint32 appid = 1;
optional uint32 depotid = 2;
optional uint64 workshop_itemid = 3;
optional bool for_local_cs = 4;
optional string target_branch = 5;
}
message CContentBuilder_InitDepotBuild_Response {
optional uint64 baseline_manifestid = 1;
optional uint32 chunk_size = 2;
optional bytes aes_key = 3;
optional bytes rsa_key = 4;
optional string url_host = 5;
optional bool offset_detection_enabled = 6;
optional uint32 offset_detection_min_clean_chunk = 7;
optional uint32 offset_detection_blast_radius_pre = 8;
optional uint32 offset_detection_blast_radius_post = 9;
optional uint32 offset_detection_max_distance_pre = 10;
optional uint32 offset_detection_max_distance_post = 11;
}
message CContentBuilder_StartDepotUpload_Request {
optional uint32 appid = 1;
optional uint32 depotid = 2;
optional uint64 workshop_itemid = 3;
optional bool for_local_cs = 4;
optional uint64 baseline_manifestid = 5;
optional uint32 manifest_size = 6;
}
message CContentBuilder_StartDepotUpload_Response {
optional uint64 depot_build_handle = 1;
}
message CContentBuilder_GetMissingDepotChunks_Request {
optional uint32 appid = 1;
optional uint64 depot_build_handle = 2;
}
message CContentBuilder_GetMissingDepotChunks_Response {
message Chunks {
optional bytes sha = 1;
}
repeated .CContentBuilder_GetMissingDepotChunks_Response.Chunks missing_chunks = 1;
optional uint32 total_missing_chunks = 2;
optional uint64 total_missing_bytes = 3;
}
message CContentBuilder_FinishDepotUpload_Request {
optional uint32 appid = 1;
optional uint64 depot_build_handle = 2;
}
message CContentBuilder_FinishDepotUpload_Response {
optional uint64 manifestid = 1;
optional bool prev_reused = 2;
}
message CContentBuilder_CommitAppBuild_Request {
message Depots {
optional uint32 depotid = 1;
optional uint64 manifestid = 2;
}
optional uint32 appid = 1;
repeated .CContentBuilder_CommitAppBuild_Request.Depots depot_manifests = 2;
optional string build_notes = 4;
optional string live_branch = 5;
}
message CContentBuilder_CommitAppBuild_Response {
optional uint32 buildid = 1;
}
message CContentBuilder_SignInstallScript_Request {
optional uint32 appid = 1;
optional uint32 depotid = 2;
optional string install_script = 3;
}
message CContentBuilder_SignInstallScript_Response {
optional string signed_install_script = 1;
}
service ContentBuilder {
rpc InitDepotBuild (.CContentBuilder_InitDepotBuild_Request) returns (.CContentBuilder_InitDepotBuild_Response);
rpc StartDepotUpload (.CContentBuilder_StartDepotUpload_Request) returns (.CContentBuilder_StartDepotUpload_Response);
rpc GetMissingDepotChunks (.CContentBuilder_GetMissingDepotChunks_Request) returns (.CContentBuilder_GetMissingDepotChunks_Response);
rpc FinishDepotUpload (.CContentBuilder_FinishDepotUpload_Request) returns (.CContentBuilder_FinishDepotUpload_Response);
rpc CommitAppBuild (.CContentBuilder_CommitAppBuild_Request) returns (.CContentBuilder_CommitAppBuild_Response);
rpc SignInstallScript (.CContentBuilder_SignInstallScript_Request) returns (.CContentBuilder_SignInstallScript_Response);
}

View File

@@ -0,0 +1,169 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CDeviceAuth_GetOwnAuthorizedDevices_Request {
optional fixed64 steamid = 1;
optional bool include_canceled = 2;
}
message CDeviceAuth_GetOwnAuthorizedDevices_Response {
message Device {
optional fixed64 auth_device_token = 1;
optional string device_name = 2;
optional bool is_pending = 3;
optional bool is_canceled = 4;
optional uint32 last_time_used = 5;
optional fixed64 last_borrower_id = 6;
optional uint32 last_app_played = 7;
optional bool is_limited = 8;
}
repeated .CDeviceAuth_GetOwnAuthorizedDevices_Response.Device devices = 1;
}
message CDeviceAuth_AcceptAuthorizationRequest_Request {
optional fixed64 steamid = 1;
optional fixed64 auth_device_token = 2;
optional fixed64 auth_code = 3;
optional fixed64 from_steamid = 4;
}
message CDeviceAuth_AcceptAuthorizationRequest_Response {
}
message CDeviceAuth_AuthorizeRemoteDevice_Request {
optional fixed64 steamid = 1;
optional fixed64 auth_device_token = 2;
}
message CDeviceAuth_AuthorizeRemoteDevice_Response {
}
message CDeviceAuth_DeauthorizeRemoteDevice_Request {
optional fixed64 steamid = 1;
optional fixed64 auth_device_token = 2;
}
message CDeviceAuth_DeauthorizeRemoteDevice_Response {
}
message CDeviceAuth_GetUsedAuthorizedDevices_Request {
optional fixed64 steamid = 1;
}
message CDeviceAuth_GetUsedAuthorizedDevices_Response {
message Device {
optional fixed64 auth_device_token = 1;
optional string device_name = 2;
optional fixed64 owner_steamid = 3;
optional uint32 last_time_used = 4;
optional uint32 last_app_played = 5;
}
repeated .CDeviceAuth_GetUsedAuthorizedDevices_Response.Device devices = 1;
}
message CDeviceAuth_GetAuthorizedBorrowers_Request {
optional fixed64 steamid = 1;
optional bool include_canceled = 2;
optional bool include_pending = 3;
}
message CDeviceAuth_GetAuthorizedBorrowers_Response {
message Borrower {
optional fixed64 steamid = 1;
optional bool is_pending = 2;
optional bool is_canceled = 3;
optional uint32 time_created = 4;
}
repeated .CDeviceAuth_GetAuthorizedBorrowers_Response.Borrower borrowers = 1;
}
message CDeviceAuth_AddAuthorizedBorrowers_Request {
optional fixed64 steamid = 1;
repeated fixed64 steamid_borrower = 2;
}
message CDeviceAuth_AddAuthorizedBorrowers_Response {
optional int32 seconds_to_wait = 1;
}
message CDeviceAuth_RemoveAuthorizedBorrowers_Request {
optional fixed64 steamid = 1;
repeated fixed64 steamid_borrower = 2;
}
message CDeviceAuth_RemoveAuthorizedBorrowers_Response {
}
message CDeviceAuth_GetAuthorizedAsBorrower_Request {
optional fixed64 steamid = 1;
optional bool include_canceled = 2;
optional bool include_pending = 3;
}
message CDeviceAuth_GetAuthorizedAsBorrower_Response {
message Lender {
optional fixed64 steamid = 1;
optional uint32 time_created = 2;
optional bool is_pending = 3;
optional bool is_canceled = 4;
optional bool is_used = 5;
optional uint32 time_removed = 6;
optional uint32 time_first = 7;
}
repeated .CDeviceAuth_GetAuthorizedAsBorrower_Response.Lender lenders = 1;
}
message CDeviceAuth_GetExcludedGamesInLibrary_Request {
optional fixed64 steamid = 1;
}
message CDeviceAuth_GetExcludedGamesInLibrary_Response {
message ExcludedGame {
optional uint32 appid = 1;
optional string game_name = 2;
optional bool vac_banned = 3;
optional bool package_excluded = 4;
}
repeated .CDeviceAuth_GetExcludedGamesInLibrary_Response.ExcludedGame excluded_games = 1;
}
message CDeviceAuth_GetBorrowerPlayHistory_Request {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
}
message CDeviceAuth_GetBorrowerPlayHistory_Response {
message GameHistory {
optional uint32 appid = 1;
optional uint32 time_last = 2;
optional uint32 time_total = 3;
}
message LenderHistory {
optional fixed64 steamid = 1;
repeated .CDeviceAuth_GetBorrowerPlayHistory_Response.GameHistory game_history = 2;
}
repeated .CDeviceAuth_GetBorrowerPlayHistory_Response.LenderHistory lender_history = 1;
}
service DeviceAuth {
rpc GetOwnAuthorizedDevices (.CDeviceAuth_GetOwnAuthorizedDevices_Request) returns (.CDeviceAuth_GetOwnAuthorizedDevices_Response);
rpc AcceptAuthorizationRequest (.CDeviceAuth_AcceptAuthorizationRequest_Request) returns (.CDeviceAuth_AcceptAuthorizationRequest_Response);
rpc AuthorizeRemoteDevice (.CDeviceAuth_AuthorizeRemoteDevice_Request) returns (.CDeviceAuth_AuthorizeRemoteDevice_Response);
rpc DeauthorizeRemoteDevice (.CDeviceAuth_DeauthorizeRemoteDevice_Request) returns (.CDeviceAuth_DeauthorizeRemoteDevice_Response);
rpc GetUsedAuthorizedDevices (.CDeviceAuth_GetUsedAuthorizedDevices_Request) returns (.CDeviceAuth_GetUsedAuthorizedDevices_Response);
rpc GetAuthorizedBorrowers (.CDeviceAuth_GetAuthorizedBorrowers_Request) returns (.CDeviceAuth_GetAuthorizedBorrowers_Response);
rpc AddAuthorizedBorrowers (.CDeviceAuth_AddAuthorizedBorrowers_Request) returns (.CDeviceAuth_AddAuthorizedBorrowers_Response);
rpc RemoveAuthorizedBorrowers (.CDeviceAuth_RemoveAuthorizedBorrowers_Request) returns (.CDeviceAuth_RemoveAuthorizedBorrowers_Response);
rpc GetAuthorizedAsBorrower (.CDeviceAuth_GetAuthorizedAsBorrower_Request) returns (.CDeviceAuth_GetAuthorizedAsBorrower_Response);
rpc GetExcludedGamesInLibrary (.CDeviceAuth_GetExcludedGamesInLibrary_Request) returns (.CDeviceAuth_GetExcludedGamesInLibrary_Response);
rpc GetBorrowerPlayHistory (.CDeviceAuth_GetBorrowerPlayHistory_Request) returns (.CDeviceAuth_GetBorrowerPlayHistory_Response);
}

View File

@@ -0,0 +1,137 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CEcon_GetInventoryItemsWithDescriptions_Request {
message FilterOptions {
repeated uint64 assetids = 1;
repeated uint32 currencyids = 2;
optional bool tradable_only = 3;
optional bool marketable_only = 4;
}
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional uint64 contextid = 3;
optional bool get_descriptions = 4;
optional bool for_trade_offer_verification = 10;
optional string language = 5;
optional .CEcon_GetInventoryItemsWithDescriptions_Request.FilterOptions filters = 6;
optional uint64 start_assetid = 8;
optional int32 count = 9;
}
message CEcon_Asset {
optional uint32 appid = 1;
optional uint64 contextid = 2;
optional uint64 assetid = 3;
optional uint64 classid = 4;
optional uint64 instanceid = 5;
optional uint32 currencyid = 6;
optional int64 amount = 7;
optional bool missing = 8;
optional int64 est_usd = 9;
}
message CEconItem_DescriptionLine {
optional string type = 1;
optional string value = 2;
optional string color = 3;
optional string label = 4;
}
message CEconItem_Action {
optional string link = 1;
optional string name = 2;
}
message CEconItem_Description {
optional int32 appid = 1;
optional uint64 classid = 2;
optional uint64 instanceid = 3;
optional bool currency = 4;
optional string background_color = 5;
optional string icon_url = 6;
optional string icon_url_large = 7;
repeated .CEconItem_DescriptionLine descriptions = 8;
optional bool tradable = 9;
repeated .CEconItem_Action actions = 10;
repeated .CEconItem_DescriptionLine owner_descriptions = 11;
repeated .CEconItem_Action owner_actions = 12;
repeated string fraudwarnings = 13;
optional string name = 14;
optional string name_color = 15;
optional string type = 16;
optional string market_name = 17;
optional string market_hash_name = 18;
optional string market_fee = 19;
optional int32 market_fee_app = 28;
optional .CEconItem_Description contained_item = 20;
repeated .CEconItem_Action market_actions = 21;
optional bool commodity = 22;
optional int32 market_tradable_restriction = 23;
optional int32 market_marketable_restriction = 24;
optional bool marketable = 25;
repeated .CEconItem_Tag tags = 26;
optional string item_expiration = 27;
optional string market_buy_country_restriction = 30;
optional string market_sell_country_restriction = 31;
}
message CEconItem_Tag {
optional uint32 appid = 1;
optional string category = 2;
optional string internal_name = 3;
optional string localized_category_name = 4;
optional string localized_tag_name = 5;
optional string color = 6;
}
message CEcon_GetInventoryItemsWithDescriptions_Response {
repeated .CEcon_Asset assets = 1;
repeated .CEconItem_Description descriptions = 2;
repeated .CEcon_Asset missing_assets = 3;
optional bool more_items = 4;
optional uint64 last_assetid = 5;
optional uint32 total_inventory_count = 6;
}
message CEcon_GetTradeOfferAccessToken_Request {
optional bool generate_new_token = 1;
}
message CEcon_GetTradeOfferAccessToken_Response {
optional string trade_offer_access_token = 1;
}
message CEcon_ClientGetItemShopOverlayAuthURL_Request {
optional string return_url = 1;
}
message CEcon_ClientGetItemShopOverlayAuthURL_Response {
optional string url = 1;
}
message CEcon_GetAssetClassInfo_Request {
message Class {
optional uint64 classid = 1;
optional uint64 instanceid = 2;
}
optional string language = 1;
optional uint32 appid = 2;
repeated .CEcon_GetAssetClassInfo_Request.Class classes = 3;
optional bool high_pri = 4;
}
message CEcon_GetAssetClassInfo_Response {
repeated .CEconItem_Description descriptions = 1;
}
service Econ {
rpc GetInventoryItemsWithDescriptions (.CEcon_GetInventoryItemsWithDescriptions_Request) returns (.CEcon_GetInventoryItemsWithDescriptions_Response);
rpc GetTradeOfferAccessToken (.CEcon_GetTradeOfferAccessToken_Request) returns (.CEcon_GetTradeOfferAccessToken_Response);
rpc ClientGetItemShopOverlayAuthURL (.CEcon_ClientGetItemShopOverlayAuthURL_Request) returns (.CEcon_ClientGetItemShopOverlayAuthURL_Response);
rpc GetAssetClassInfo (.CEcon_GetAssetClassInfo_Request) returns (.CEcon_GetAssetClassInfo_Response);
}

View File

@@ -0,0 +1,474 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "enums.proto";
option cc_generic_services = true;
enum EFamilyGroupRole {
k_EFamilyGroupRole_None = 0;
k_EFamilyGroupRole_Adult = 1;
k_EFamilyGroupRole_Child = 2;
k_EFamilyGroupRole_MAX = 3;
}
enum EFamilyGroupsTwoFactorMethod {
k_EFamilyGroupsTwoFactorMethodNone = 0;
k_EFamilyGroupsTwoFactorMethodMobile = 1;
k_EFamilyGroupsTwoFactorMethodEmail = 2;
}
enum EPurchaseRequestAction {
k_EPurchaseRequestAction_None = 0;
k_EPurchaseRequestAction_Decline = 1;
k_EPurchaseRequestAction_Purchased = 2;
k_EPurchaseRequestAction_Abandoned = 3;
k_EPurchaseRequestAction_Cancel = 4;
k_EPurchaseRequestAction_MAX = 5;
}
enum EFamilyGroupChangeLogType {
k_InvalidChangeType = 0;
k_FamilyGroupCreated = 1;
k_FamilyGroupModified = 2;
k_FamilyGroupDeleted = 3;
k_AccountInvited = 4;
k_InviteDeniedByGroupSize = 5;
k_JoinedFamilyGroup = 6;
k_JoinDeniedByRegionMismatch = 7;
k_JoinDeniedByMissingIpAddress = 8;
k_JoinDeniedByFamilyCooldown = 9;
k_JoinDeniedByUserCooldown = 10;
k_JoinDeniedByOtherGroup = 11;
k_AccountRemoved = 12;
k_InviteCanceled = 13;
k_PurchaseRequested = 14;
k_ParentalSettingsEnabled = 15;
k_ParentalSettingsDisabled = 16;
k_ParentalSettingsChanged = 17;
k_FamilyCooldownOverridesChanged = 18;
k_PurchaseRequestCanceled = 19;
k_PurchaseRequestApproved = 20;
k_PurchaseRequestDeclined = 21;
k_CooldownSkipConsumed = 22;
k_FamilyGroupRestored = 23;
k_JoinDenied = 24;
k_SupportForceAcceptedInvite = 25;
}
enum ESharedLibraryExcludeReason {
k_ESharedLibrary_Included = 0;
k_ESharedLibrary_AppExcluded_ByPartner = 1;
k_ESharedLibrary_LicenseExcluded = 2;
k_ESharedLibrary_FreeGame = 3;
k_ESharedLibrary_LicensePrivate = 4;
k_ESharedLibrary_AppExcluded_WrongAppType = 6;
k_ESharedLibrary_AppExcluded_NonrefundableDLC = 7;
k_ESharedLibrary_AppExcluded_UnreleasedApp = 8;
k_ESharedLibrary_AppExcluded_ParentAppExcluded = 9;
k_ESharedLibrary_PackageExcluded_ByPartner = 10;
k_ESharedLibrary_PackageExcluded_Special = 11;
k_ESharedLibrary_PackageExcluded_Dev = 12;
k_ESharedLibrary_PackageExcluded_FreeWeekend = 13;
k_ESharedLibrary_PackageExcluded_Invalid = 15;
k_ESharedLibrary_PackageExcluded_RecurringLicense = 16;
k_ESharedLibrary_PackageExcluded_WrongLicenseType = 17;
k_ESharedLibrary_PackageExcluded_MasterSub = 18;
k_ESharedLibrary_PackageExcluded_NoShareableApps = 19;
k_ESharedLibrary_LicenseExcluded_PaymentMasterSub = 20;
k_ESharedLibrary_LicenseExcluded_PaymentFamilyGroup = 21;
k_ESharedLibrary_LicenseExcluded_PaymentAuthorizedDevice = 22;
k_ESharedLibrary_LicenseExcluded_PaymentAutoGrant = 23;
k_ESharedLibrary_LicenseExcluded_FlagPending = 24;
k_ESharedLibrary_LicenseExcluded_FlagPendingRefund = 25;
k_ESharedLibrary_LicenseExcluded_FlagBorrowed = 26;
k_ESharedLibrary_LicenseExcluded_FlagAutoGrant = 27;
k_ESharedLibrary_LicenseExcluded_FlagTimedTrial = 28;
k_ESharedLibrary_LicenseExcluded_FreeSub = 29;
k_ESharedLibrary_LicenseExcluded_Inactive = 30;
}
message CFamilyGroups_CreateFamilyGroup_Request {
optional string name = 1;
optional fixed64 steamid = 2;
}
message CFamilyGroups_CreateFamilyGroup_Response {
optional uint64 family_groupid = 1;
optional bool cooldown_skip_granted = 2;
}
message CFamilyGroups_GetFamilyGroup_Request {
optional uint64 family_groupid = 1;
optional bool send_running_apps = 2;
}
message FamilyGroupMember {
optional fixed64 steamid = 1;
optional .EFamilyGroupRole role = 2 [default = k_EFamilyGroupRole_None];
optional uint32 time_joined = 3;
optional uint32 cooldown_seconds_remaining = 4;
}
message FamilyGroupPendingInvite {
optional fixed64 steamid = 1;
optional .EFamilyGroupRole role = 2 [default = k_EFamilyGroupRole_None];
}
message FamilyGroupFormerMember {
optional fixed64 steamid = 1;
}
message CFamilyGroups_GetFamilyGroup_Response {
optional string name = 1;
repeated .FamilyGroupMember members = 2;
repeated .FamilyGroupPendingInvite pending_invites = 3;
optional uint32 free_spots = 4;
optional string country = 5;
optional uint32 slot_cooldown_remaining_seconds = 6;
repeated .FamilyGroupFormerMember former_members = 7;
optional uint32 slot_cooldown_overrides = 8;
}
message CFamilyGroups_GetFamilyGroupForUser_Request {
optional uint64 steamid = 1;
optional bool include_family_group_response = 2;
}
message FamilyGroupPendingInviteForUser {
optional uint64 family_groupid = 1;
optional .EFamilyGroupRole role = 2 [default = k_EFamilyGroupRole_None];
optional fixed64 inviter_steamid = 3;
optional bool awaiting_2fa = 4;
}
message CFamilyGroups_GetFamilyGroupForUser_Response {
optional uint64 family_groupid = 1;
optional bool is_not_member_of_any_group = 2;
optional uint32 latest_time_joined = 3;
optional uint64 latest_joined_family_groupid = 4;
repeated .FamilyGroupPendingInviteForUser pending_group_invites = 5;
optional uint32 role = 6;
optional uint32 cooldown_seconds_remaining = 7;
optional .CFamilyGroups_GetFamilyGroup_Response family_group = 8;
optional bool can_undelete_last_joined_family = 9;
}
message CFamilyGroups_ModifyFamilyGroupDetails_Request {
optional uint64 family_groupid = 1;
optional string name = 2;
}
message CFamilyGroups_ModifyFamilyGroupDetails_Response {
}
message CFamilyGroups_InviteToFamilyGroup_Request {
optional uint64 family_groupid = 1;
optional fixed64 receiver_steamid = 2;
optional .EFamilyGroupRole receiver_role = 3 [default = k_EFamilyGroupRole_None];
}
message CFamilyGroups_InviteToFamilyGroup_Response {
optional uint64 invite_id = 1;
optional .EFamilyGroupsTwoFactorMethod two_factor_method = 2 [default = k_EFamilyGroupsTwoFactorMethodNone];
}
message CFamilyGroups_ConfirmInviteToFamilyGroup_Request {
optional uint64 family_groupid = 1;
optional uint64 invite_id = 2;
optional uint64 nonce = 3;
}
message CFamilyGroups_ConfirmInviteToFamilyGroup_Response {
}
message CFamilyGroups_ResendInvitationToFamilyGroup_Request {
optional uint64 family_groupid = 1;
optional uint64 steamid = 2;
}
message CFamilyGroups_ResendInvitationToFamilyGroup_Response {
}
message CFamilyGroups_JoinFamilyGroup_Request {
optional uint64 family_groupid = 1;
optional uint64 nonce = 2;
}
message CFamilyGroups_JoinFamilyGroup_Response {
optional .EFamilyGroupsTwoFactorMethod two_factor_method = 2 [default = k_EFamilyGroupsTwoFactorMethodNone];
optional bool cooldown_skip_granted = 3;
optional bool invite_already_accepted = 4;
}
message CFamilyGroups_ConfirmJoinFamilyGroup_Request {
optional uint64 family_groupid = 1;
optional uint64 invite_id = 2;
optional uint64 nonce = 3;
}
message CFamilyGroups_ConfirmJoinFamilyGroup_Response {
}
message CFamilyGroups_RemoveFromFamilyGroup_Request {
optional uint64 family_groupid = 1;
optional fixed64 steamid_to_remove = 2;
}
message CFamilyGroups_RemoveFromFamilyGroup_Response {
}
message CFamilyGroups_CancelFamilyGroupInvite_Request {
optional uint64 family_groupid = 1;
optional fixed64 steamid_to_cancel = 2;
}
message CFamilyGroups_CancelFamilyGroupInvite_Response {
}
message CFamilyGroups_GetUsersSharingDevice_Request {
optional uint64 family_groupid = 1;
optional uint64 client_instance_id = 2;
}
message CFamilyGroups_GetUsersSharingDevice_Response {
repeated fixed64 users = 1;
}
message CFamilyGroups_DeleteFamilyGroup_Request {
optional uint64 family_groupid = 1;
}
message CFamilyGroups_DeleteFamilyGroup_Response {
}
message CFamilyGroups_UndeleteFamilyGroup_Request {
optional uint64 family_groupid = 1;
}
message CFamilyGroups_UndeleteFamilyGroup_Response {
}
message CFamilyGroups_GetPlaytimeSummary_Request {
optional fixed64 family_groupid = 1;
}
message CFamilyGroups_PlaytimeEntry {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional uint32 first_played = 3;
optional uint32 latest_played = 4;
optional uint32 seconds_played = 5;
}
message CFamilyGroups_GetPlaytimeSummary_Response {
repeated .CFamilyGroups_PlaytimeEntry entries = 1;
repeated .CFamilyGroups_PlaytimeEntry entries_by_owner = 2;
}
message CFamilyGroups_RequestPurchase_Request {
optional uint64 family_groupid = 1;
optional uint64 gidshoppingcart = 2;
optional string store_country_code = 3;
optional bool use_account_cart = 4;
}
message CFamilyGroups_RequestPurchase_Response {
optional uint64 gidshoppingcart = 1;
optional uint64 request_id = 2;
}
message CFamilyGroups_GetPurchaseRequests_Request {
optional uint64 family_groupid = 1;
repeated uint64 request_ids = 3;
optional uint32 rt_include_completed_since = 4;
}
message PurchaseRequest {
optional fixed64 requester_steamid = 1;
optional uint64 gidshoppingcart = 2;
optional uint32 time_requested = 3;
optional uint32 time_responded = 4;
optional fixed64 responder_steamid = 5;
optional .EPurchaseRequestAction response_action = 6 [default = k_EPurchaseRequestAction_None];
optional bool is_completed = 7;
optional uint64 request_id = 8;
repeated uint32 requested_packageids = 9;
repeated uint32 purchased_packageids = 10;
repeated uint32 requested_bundleids = 11;
repeated uint32 purchased_bundleids = 12;
}
message CFamilyGroups_GetPurchaseRequests_Response {
repeated .PurchaseRequest requests = 1;
}
message CFamilyGroups_RespondToRequestedPurchase_Request {
optional uint64 family_groupid = 1;
optional .EPurchaseRequestAction action = 3 [default = k_EPurchaseRequestAction_None];
optional uint64 request_id = 4;
}
message CFamilyGroups_RespondToRequestedPurchase_Response {
}
message CFamilyGroups_GetChangeLog_Request {
optional uint64 family_groupid = 1;
}
message CFamilyGroups_GetChangeLog_Response {
message Change {
optional fixed64 timestamp = 1;
optional fixed64 actor_steamid = 2;
optional .EFamilyGroupChangeLogType type = 3 [default = k_InvalidChangeType];
optional string body = 4;
optional bool by_support = 5;
}
repeated .CFamilyGroups_GetChangeLog_Response.Change changes = 1;
}
message CFamilyGroups_SetFamilyCooldownOverrides_Request {
optional uint64 family_groupid = 1;
optional uint32 cooldown_count = 2;
}
message CFamilyGroups_SetFamilyCooldownOverrides_Response {
}
message CFamilyGroups_GetSharedLibraryApps_Request {
optional fixed64 family_groupid = 1;
optional bool include_own = 2;
optional bool include_excluded = 3;
optional string language = 5;
optional uint32 max_apps = 6;
optional bool include_non_games = 7;
optional fixed64 steamid = 8;
}
message CFamilyGroups_GetSharedLibraryApps_Response {
message SharedApp {
optional uint32 appid = 1;
repeated fixed64 owner_steamids = 2;
optional string name = 6;
optional string sort_as = 7;
optional string capsule_filename = 8;
optional string img_icon_hash = 9;
optional .ESharedLibraryExcludeReason exclude_reason = 10 [default = k_ESharedLibrary_Included];
optional uint32 rt_time_acquired = 11;
optional uint32 rt_last_played = 12;
optional uint32 rt_playtime = 13;
optional .EProtoAppType app_type = 14 [default = k_EAppTypeGame];
repeated uint32 content_descriptors = 15;
}
repeated .CFamilyGroups_GetSharedLibraryApps_Response.SharedApp apps = 1;
optional fixed64 owner_steamid = 2;
}
message CFamilyGroups_SetPreferredLender_Request {
optional uint64 family_groupid = 1;
optional uint32 appid = 2;
optional fixed64 lender_steamid = 3;
}
message CFamilyGroups_SetPreferredLender_Response {
}
message CFamilyGroups_GetPreferredLenders_Request {
optional uint64 family_groupid = 1;
}
message CFamilyGroups_GetPreferredLenders_Response {
message FamilyMember {
optional fixed64 steamid = 1;
repeated uint32 preferred_appids = 2;
}
repeated .CFamilyGroups_GetPreferredLenders_Response.FamilyMember members = 1;
}
message CFamilyGroups_ForceAcceptInvite_Request {
optional uint64 family_groupid = 1;
optional fixed64 steamid = 2;
}
message CFamilyGroups_ForceAcceptInvite_Response {
}
message CFamilyGroups_GetInviteCheckResults_Request {
optional uint64 family_groupid = 1;
optional fixed64 steamid = 2;
}
message CFamilyGroups_GetInviteCheckResults_Response {
optional bool wallet_country_matches = 1;
optional bool ip_match = 2;
optional uint32 join_restriction = 3;
}
message CFamilyGroups_ClearCooldownSkip_Request {
optional fixed64 steamid = 1;
optional uint64 invite_id = 2;
}
message CFamilyGroups_ClearCooldownSkip_Response {
}
message CFamilyGroupsClient_NotifyRunningApps_Notification {
message PlayingMember {
optional fixed64 member_steamid = 1;
optional fixed64 owner_steamid = 2;
}
message RunningApp {
optional uint32 appid = 1;
repeated .CFamilyGroupsClient_NotifyRunningApps_Notification.PlayingMember playing_members = 3;
}
optional uint64 family_groupid = 1;
repeated .CFamilyGroupsClient_NotifyRunningApps_Notification.RunningApp running_apps = 2;
}
message CFamilyGroupsClient_InviteStatus_Notification {
}
message CFamilyGroupsClient_GroupChanged_Notification {
optional uint64 family_groupid = 1;
}
service FamilyGroups {
rpc CreateFamilyGroup (.CFamilyGroups_CreateFamilyGroup_Request) returns (.CFamilyGroups_CreateFamilyGroup_Response);
rpc GetFamilyGroup (.CFamilyGroups_GetFamilyGroup_Request) returns (.CFamilyGroups_GetFamilyGroup_Response);
rpc GetFamilyGroupForUser (.CFamilyGroups_GetFamilyGroupForUser_Request) returns (.CFamilyGroups_GetFamilyGroupForUser_Response);
rpc ModifyFamilyGroupDetails (.CFamilyGroups_ModifyFamilyGroupDetails_Request) returns (.CFamilyGroups_ModifyFamilyGroupDetails_Response);
rpc InviteToFamilyGroup (.CFamilyGroups_InviteToFamilyGroup_Request) returns (.CFamilyGroups_InviteToFamilyGroup_Response);
rpc ConfirmInviteToFamilyGroup (.CFamilyGroups_ConfirmInviteToFamilyGroup_Request) returns (.CFamilyGroups_ConfirmInviteToFamilyGroup_Response);
rpc ResendInvitationToFamilyGroup (.CFamilyGroups_ResendInvitationToFamilyGroup_Request) returns (.CFamilyGroups_ResendInvitationToFamilyGroup_Response);
rpc JoinFamilyGroup (.CFamilyGroups_JoinFamilyGroup_Request) returns (.CFamilyGroups_JoinFamilyGroup_Response);
rpc ConfirmJoinFamilyGroup (.CFamilyGroups_ConfirmJoinFamilyGroup_Request) returns (.CFamilyGroups_ConfirmJoinFamilyGroup_Response);
rpc RemoveFromFamilyGroup (.CFamilyGroups_RemoveFromFamilyGroup_Request) returns (.CFamilyGroups_RemoveFromFamilyGroup_Response);
rpc CancelFamilyGroupInvite (.CFamilyGroups_CancelFamilyGroupInvite_Request) returns (.CFamilyGroups_CancelFamilyGroupInvite_Response);
rpc GetUsersSharingDevice (.CFamilyGroups_GetUsersSharingDevice_Request) returns (.CFamilyGroups_GetUsersSharingDevice_Response);
rpc DeleteFamilyGroup (.CFamilyGroups_DeleteFamilyGroup_Request) returns (.CFamilyGroups_DeleteFamilyGroup_Response);
rpc UndeleteFamilyGroup (.CFamilyGroups_UndeleteFamilyGroup_Request) returns (.CFamilyGroups_UndeleteFamilyGroup_Response);
rpc GetPlaytimeSummary (.CFamilyGroups_GetPlaytimeSummary_Request) returns (.CFamilyGroups_GetPlaytimeSummary_Response);
rpc RequestPurchase (.CFamilyGroups_RequestPurchase_Request) returns (.CFamilyGroups_RequestPurchase_Response);
rpc GetPurchaseRequests (.CFamilyGroups_GetPurchaseRequests_Request) returns (.CFamilyGroups_GetPurchaseRequests_Response);
rpc RespondToRequestedPurchase (.CFamilyGroups_RespondToRequestedPurchase_Request) returns (.CFamilyGroups_RespondToRequestedPurchase_Response);
rpc GetChangeLog (.CFamilyGroups_GetChangeLog_Request) returns (.CFamilyGroups_GetChangeLog_Response);
rpc SetFamilyCooldownOverrides (.CFamilyGroups_SetFamilyCooldownOverrides_Request) returns (.CFamilyGroups_SetFamilyCooldownOverrides_Response);
rpc GetSharedLibraryApps (.CFamilyGroups_GetSharedLibraryApps_Request) returns (.CFamilyGroups_GetSharedLibraryApps_Response);
rpc SetPreferredLender (.CFamilyGroups_SetPreferredLender_Request) returns (.CFamilyGroups_SetPreferredLender_Response);
rpc GetPreferredLenders (.CFamilyGroups_GetPreferredLenders_Request) returns (.CFamilyGroups_GetPreferredLenders_Response);
rpc ForceAcceptInvite (.CFamilyGroups_ForceAcceptInvite_Request) returns (.CFamilyGroups_ForceAcceptInvite_Response);
rpc GetInviteCheckResults (.CFamilyGroups_GetInviteCheckResults_Request) returns (.CFamilyGroups_GetInviteCheckResults_Response);
rpc ClearCooldownSkip (.CFamilyGroups_ClearCooldownSkip_Request) returns (.CFamilyGroups_ClearCooldownSkip_Response);
}
service FamilyGroupsClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyRunningApps (.CFamilyGroupsClient_NotifyRunningApps_Notification) returns (.NoResponse);
rpc NotifyInviteStatus (.CFamilyGroupsClient_InviteStatus_Notification) returns (.NoResponse);
rpc NotifyGroupChanged (.CFamilyGroupsClient_GroupChanged_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,141 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
enum EMessageReactionType {
k_EMessageReactionType_Invalid = 0;
k_EMessageReactionType_Emoticon = 1;
k_EMessageReactionType_Sticker = 2;
}
message CFriendMessages_GetRecentMessages_Request {
optional fixed64 steamid1 = 1;
optional fixed64 steamid2 = 2;
optional uint32 count = 3;
optional bool most_recent_conversation = 4;
optional fixed32 rtime32_start_time = 5;
optional bool bbcode_format = 6;
optional uint32 start_ordinal = 7;
optional uint32 time_last = 8;
optional uint32 ordinal_last = 9;
}
message CFriendMessages_GetRecentMessages_Response {
message FriendMessage {
message MessageReaction {
optional .EMessageReactionType reaction_type = 1 [default = k_EMessageReactionType_Invalid];
optional string reaction = 2;
repeated uint32 reactors = 3;
}
optional uint32 accountid = 1;
optional uint32 timestamp = 2;
optional string message = 3;
optional uint32 ordinal = 4;
repeated .CFriendMessages_GetRecentMessages_Response.FriendMessage.MessageReaction reactions = 5;
}
repeated .CFriendMessages_GetRecentMessages_Response.FriendMessage messages = 1;
optional bool more_available = 4;
}
message CFriendsMessages_GetActiveMessageSessions_Request {
optional uint32 lastmessage_since = 1;
optional bool only_sessions_with_messages = 2;
}
message CFriendsMessages_GetActiveMessageSessions_Response {
message FriendMessageSession {
optional uint32 accountid_friend = 1;
optional uint32 last_message = 2;
optional uint32 last_view = 3;
optional uint32 unread_message_count = 4;
}
repeated .CFriendsMessages_GetActiveMessageSessions_Response.FriendMessageSession message_sessions = 1;
optional uint32 timestamp = 2;
}
message CFriendMessages_SendMessage_Request {
optional fixed64 steamid = 1;
optional int32 chat_entry_type = 2;
optional string message = 3;
optional bool contains_bbcode = 4;
optional bool echo_to_sender = 5;
optional bool low_priority = 6;
optional string client_message_id = 8;
}
message CFriendMessages_SendMessage_Response {
optional string modified_message = 1;
optional uint32 server_timestamp = 2;
optional uint32 ordinal = 3;
optional string message_without_bb_code = 4;
}
message CFriendMessages_AckMessage_Notification {
optional fixed64 steamid_partner = 1;
optional uint32 timestamp = 2;
}
message CFriendMessages_IsInFriendsUIBeta_Request {
optional fixed64 steamid = 1;
}
message CFriendMessages_IsInFriendsUIBeta_Response {
optional bool online_in_friendsui = 1;
optional bool has_used_friendsui = 2;
}
message CFriendMessages_UpdateMessageReaction_Request {
optional fixed64 steamid = 1;
optional uint32 server_timestamp = 2;
optional uint32 ordinal = 3;
optional .EMessageReactionType reaction_type = 4 [default = k_EMessageReactionType_Invalid];
optional string reaction = 5;
optional bool is_add = 6;
}
message CFriendMessages_UpdateMessageReaction_Response {
repeated uint32 reactors = 1;
}
message CFriendMessages_IncomingMessage_Notification {
optional fixed64 steamid_friend = 1;
optional int32 chat_entry_type = 2;
optional bool from_limited_account = 3;
optional string message = 4;
optional fixed32 rtime32_server_timestamp = 5;
optional uint32 ordinal = 6;
optional bool local_echo = 7;
optional string message_no_bbcode = 8;
optional bool low_priority = 9;
}
message CFriendMessages_MessageReaction_Notification {
optional fixed64 steamid_friend = 1;
optional uint32 server_timestamp = 2;
optional uint32 ordinal = 3;
optional fixed64 reactor = 4;
optional .EMessageReactionType reaction_type = 5 [default = k_EMessageReactionType_Invalid];
optional string reaction = 6;
optional bool is_add = 7;
}
service FriendMessages {
rpc GetRecentMessages (.CFriendMessages_GetRecentMessages_Request) returns (.CFriendMessages_GetRecentMessages_Response);
rpc GetActiveMessageSessions (.CFriendsMessages_GetActiveMessageSessions_Request) returns (.CFriendsMessages_GetActiveMessageSessions_Response);
rpc SendMessage (.CFriendMessages_SendMessage_Request) returns (.CFriendMessages_SendMessage_Response);
rpc AckMessage (.CFriendMessages_AckMessage_Notification) returns (.NoResponse);
rpc IsInFriendsUIBeta (.CFriendMessages_IsInFriendsUIBeta_Request) returns (.CFriendMessages_IsInFriendsUIBeta_Response);
rpc UpdateMessageReaction (.CFriendMessages_UpdateMessageReaction_Request) returns (.CFriendMessages_UpdateMessageReaction_Response);
}
service FriendMessagesClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc IncomingMessage (.CFriendMessages_IncomingMessage_Notification) returns (.NoResponse);
rpc NotifyAckMessageEcho (.CFriendMessages_AckMessage_Notification) returns (.NoResponse);
rpc MessageReaction (.CFriendMessages_MessageReaction_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,25 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CGameNetworking_AllocateFakeIP_Request {
optional uint32 app_id = 1;
optional uint32 num_fake_ports = 2;
}
message CGameNetworking_AllocateFakeIP_Response {
optional fixed32 fake_ip = 1;
repeated uint32 fake_ports = 2;
}
message CGameNetworking_ReleaseFakeIP_Notification {
optional uint32 app_id = 1;
optional fixed32 fake_ip = 2;
repeated uint32 fake_ports = 3;
}
service GameNetworking {
rpc AllocateFakeIP (.CGameNetworking_AllocateFakeIP_Request) returns (.CGameNetworking_AllocateFakeIP_Response);
rpc NotifyReleaseFakeIP (.CGameNetworking_ReleaseFakeIP_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,61 @@
import "steamnetworkingsockets_messages.proto";
import "steamdatagram_messages_sdr.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
message CGameNetworkingUI_GlobalState {
}
message CGameNetworkingUI_ConnectionState {
optional string connection_key = 1;
optional uint32 appid = 2;
optional fixed32 connection_id_local = 3;
optional string identity_local = 4;
optional string identity_remote = 5;
optional uint32 connection_state = 10;
optional uint32 start_time = 12;
optional uint32 close_time = 13;
optional uint32 close_reason = 14;
optional string close_message = 15;
optional string status_loc_token = 16;
optional uint32 transport_kind = 20;
optional string sdrpopid_local = 21;
optional string sdrpopid_remote = 22;
optional string address_remote = 23;
optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing = 24;
optional uint32 ping_interior = 25;
optional uint32 ping_remote_front = 26;
optional uint32 ping_default_internet_route = 27;
optional .CMsgSteamDatagramConnectionQuality e2e_quality_local = 30;
optional .CMsgSteamDatagramConnectionQuality e2e_quality_remote = 31;
optional uint64 e2e_quality_remote_instantaneous_time = 32;
optional uint64 e2e_quality_remote_lifetime_time = 33;
optional .CMsgSteamDatagramConnectionQuality front_quality_local = 40;
optional .CMsgSteamDatagramConnectionQuality front_quality_remote = 41;
optional uint64 front_quality_remote_instantaneous_time = 42;
optional uint64 front_quality_remote_lifetime_time = 43;
}
message CGameNetworkingUI_Message {
repeated .CGameNetworkingUI_ConnectionState connection_state = 1;
}
message CGameNetworkingUI_ConnectionSummary {
optional uint32 transport_kind = 1;
optional uint32 connection_state = 8;
optional string sdrpop_local = 2;
optional string sdrpop_remote = 3;
optional uint32 ping_ms = 4;
optional float packet_loss = 5;
optional uint32 ping_default_internet_route = 6;
optional bool ip_was_shared = 7;
}
message CGameNetworkingUI_AppSummary {
optional uint32 appid = 1;
optional bool ip_was_shared_with_friend = 10;
optional bool ip_was_shared_with_nonfriend = 11;
optional uint32 active_connections = 20;
optional .CGameNetworkingUI_ConnectionSummary main_cxn = 30;
}

View File

@@ -0,0 +1,131 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CGameNotifications_Variable {
optional string key = 1;
optional string value = 2;
}
message CGameNotifications_LocalizedText {
optional string token = 1;
repeated .CGameNotifications_Variable variables = 2;
optional string rendered_text = 3;
}
message CGameNotifications_UserStatus {
optional fixed64 steamid = 1;
optional string state = 2;
optional .CGameNotifications_LocalizedText title = 3;
optional .CGameNotifications_LocalizedText message = 4;
}
message CGameNotifications_CreateSession_Request {
optional uint32 appid = 1;
optional uint64 context = 2;
optional .CGameNotifications_LocalizedText title = 3;
repeated .CGameNotifications_UserStatus users = 4;
optional fixed64 steamid = 5;
}
message CGameNotifications_CreateSession_Response {
optional uint64 sessionid = 1;
}
message CGameNotifications_DeleteSession_Request {
optional uint64 sessionid = 1;
optional uint32 appid = 2;
optional fixed64 steamid = 3;
}
message CGameNotifications_DeleteSession_Response {
}
message CGameNotifications_UpdateSession_Request {
optional uint64 sessionid = 1;
optional uint32 appid = 2;
optional .CGameNotifications_LocalizedText title = 3;
repeated .CGameNotifications_UserStatus users = 4;
optional fixed64 steamid = 6;
}
message CGameNotifications_UpdateSession_Response {
}
message CGameNotifications_EnumerateSessions_Request {
optional uint32 appid = 1;
optional bool include_all_user_messages = 3;
optional bool include_auth_user_message = 4;
optional string language = 5;
}
message CGameNotifications_Session {
optional uint64 sessionid = 1;
optional uint64 appid = 2;
optional uint64 context = 3;
optional .CGameNotifications_LocalizedText title = 4;
optional uint32 time_created = 5;
optional uint32 time_updated = 6;
repeated .CGameNotifications_UserStatus user_status = 7;
}
message CGameNotifications_EnumerateSessions_Response {
repeated .CGameNotifications_Session sessions = 1;
}
message CGameNotifications_GetSessionDetails_Request {
message RequestedSession {
optional uint64 sessionid = 1;
optional bool include_auth_user_message = 3;
}
repeated .CGameNotifications_GetSessionDetails_Request.RequestedSession sessions = 1;
optional uint32 appid = 2;
optional string language = 3;
}
message CGameNotifications_GetSessionDetails_Response {
repeated .CGameNotifications_Session sessions = 1;
}
message GameNotificationSettings {
optional uint32 appid = 1;
optional bool allow_notifications = 2;
}
message CGameNotifications_UpdateNotificationSettings_Request {
repeated .GameNotificationSettings game_notification_settings = 1;
}
message CGameNotifications_UpdateNotificationSettings_Response {
}
message CGameNotifications_OnNotificationsRequested_Notification {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
}
message CGameNotifications_OnUserStatusChanged_Notification {
optional fixed64 steamid = 1;
optional uint64 sessionid = 2;
optional uint32 appid = 3;
optional .CGameNotifications_UserStatus status = 4;
optional bool removed = 5;
}
service GameNotifications {
rpc UserCreateSession (.CGameNotifications_CreateSession_Request) returns (.CGameNotifications_CreateSession_Response);
rpc UserDeleteSession (.CGameNotifications_DeleteSession_Request) returns (.CGameNotifications_DeleteSession_Response);
rpc UserUpdateSession (.CGameNotifications_UpdateSession_Request) returns (.CGameNotifications_UpdateSession_Response);
rpc EnumerateSessions (.CGameNotifications_EnumerateSessions_Request) returns (.CGameNotifications_EnumerateSessions_Response);
rpc GetSessionDetails (.CGameNotifications_GetSessionDetails_Request) returns (.CGameNotifications_GetSessionDetails_Response);
rpc UpdateNotificationSettings (.CGameNotifications_UpdateNotificationSettings_Request) returns (.CGameNotifications_UpdateNotificationSettings_Response);
}
service GameNotificationsClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc OnNotificationsRequested (.CGameNotifications_OnNotificationsRequested_Notification) returns (.NoResponse);
rpc OnUserStatusChanged (.CGameNotifications_OnUserStatusChanged_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,102 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "steammessages_clientserver_video.proto";
option cc_generic_services = true;
message CVideoManagerClipID {
optional fixed64 video_manager_clip_id = 1;
optional fixed64 video_manager_video_id = 2;
optional fixed64 server_timeline_id = 3;
optional string manifest_url = 4;
optional uint32 duration_ms = 5;
optional uint32 start_offset_ms = 6;
}
message CGameRecordingClip {
optional fixed64 clip_id = 1;
optional uint64 gameid = 2;
optional uint32 date_recorded = 4;
optional uint64 total_file_size_bytes = 7;
repeated .CVideoManagerClipID video_ids = 9;
optional fixed64 owner_steamid = 10;
optional bool upload_complete = 11;
optional uint32 duration_ms = 12;
}
message CGameRecording_CreateShareClip_Request {
optional .CGameRecordingClip clip = 2;
repeated .CMsgVideoGameRecordingDef video_def = 3;
}
message CGameRecording_CreateShareClip_Response {
optional .CGameRecordingClip clip = 1;
}
message CGameRecording_DeleteSharedClip_Request {
optional fixed64 clip_id = 2;
}
message CGameRecording_DeleteSharedClip_Response {
}
message CGameRecording_GetSingleSharedClip_Request {
optional fixed64 clip_id = 2;
}
message CGameRecording_GetSingleSharedClip_Response {
optional .CGameRecordingClip clip = 1;
}
message CVideo_BeginGameRecordingSegmentsUpload_Request {
optional uint64 recording_id = 1;
optional string component_name = 2;
optional string representation_name = 3;
repeated .CVideo_GameRecordingSegmentInfo segments_to_store = 4;
}
message CVideo_BeginGameRecordingSegmentsUpload_Response {
repeated .CVideo_GameRecordingSegmentUploadInfo segments_needed = 1;
optional bool call_again = 2;
}
message CVideo_CommitGameRecordingSegmentsUpload_Request {
optional uint64 recording_id = 1;
optional string component_name = 2;
optional string representation_name = 3;
optional uint32 first_segment_number = 4;
optional uint32 num_segments = 5;
optional uint32 upload_result = 6;
}
message CVideo_CommitGameRecordingSegmentsUpload_Response {
}
message CVideo_GameRecordingGetNextBatchOfSegmentsToUpload_Request {
optional uint64 recording_id = 1;
}
message CVideo_GameRecordingGetNextBatchOfSegmentsToUpload_Response {
repeated .CVideo_GameRecordingSegmentUploadInfo segments_needed = 1;
}
message CVideo_GameRecordingCommitSegmentUploads_Request {
optional uint64 recording_id = 1;
repeated .CVideo_GameRecordingSegmentInfo segments_uploaded = 2;
}
message CVideo_GameRecordingCommitSegmentUploads_Response {
}
service GameRecordingClip {
rpc CreateShareClip (.CGameRecording_CreateShareClip_Request) returns (.CGameRecording_CreateShareClip_Response);
rpc DeleteSharedClip (.CGameRecording_DeleteSharedClip_Request) returns (.CGameRecording_DeleteSharedClip_Response);
rpc GetSingleSharedClip (.CGameRecording_GetSingleSharedClip_Request) returns (.CGameRecording_GetSingleSharedClip_Response);
}
service VideoClip {
rpc BeginGameRecordingSegmentsUpload (.CVideo_BeginGameRecordingSegmentsUpload_Request) returns (.CVideo_BeginGameRecordingSegmentsUpload_Response);
rpc CommitGameRecordingSegmentsUpload (.CVideo_CommitGameRecordingSegmentsUpload_Request) returns (.CVideo_CommitGameRecordingSegmentsUpload_Response);
rpc GetNextBatchOfSegmentsToUpload (.CVideo_GameRecordingGetNextBatchOfSegmentsToUpload_Request) returns (.CVideo_GameRecordingGetNextBatchOfSegmentsToUpload_Response);
rpc CommitSegmentUploads (.CVideo_GameRecordingCommitSegmentUploads_Request) returns (.CVideo_GameRecordingCommitSegmentUploads_Response);
}

View File

@@ -0,0 +1,21 @@
import "enums.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CGameRecording_AudioSessionsChanged_Notification {
message Session {
optional string id = 1;
optional string name = 2;
optional bool is_system = 3;
optional bool is_muted = 4;
optional bool is_active = 5;
optional bool is_captured = 6;
optional float recent_peak = 7;
optional bool is_game = 8;
optional bool is_steam = 9;
optional bool is_saved = 10;
}
repeated .CGameRecording_AudioSessionsChanged_Notification.Session sessions = 1;
}

View File

@@ -0,0 +1,136 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CGameServers_GetServerList_Request {
optional string filter = 1;
optional uint32 limit = 2 [default = 100];
}
message CGameServers_GetServerList_Response {
message Server {
optional string addr = 1;
optional uint32 gameport = 2;
optional uint32 specport = 3;
optional fixed64 steamid = 4;
optional string name = 5;
optional uint32 appid = 6;
optional string gamedir = 7;
optional string version = 8;
optional string product = 9;
optional int32 region = 10;
optional int32 players = 11;
optional int32 max_players = 12;
optional int32 bots = 13;
optional string map = 14;
optional bool secure = 15;
optional bool dedicated = 16;
optional string os = 17;
optional string gametype = 18;
}
repeated .CGameServers_GetServerList_Response.Server servers = 1;
}
message CGameServers_GetServerSteamIDsByIP_Request {
repeated string server_ips = 1;
}
message CGameServers_IPsWithSteamIDs_Response {
message Server {
optional string addr = 1;
optional fixed64 steamid = 2;
}
repeated .CGameServers_IPsWithSteamIDs_Response.Server servers = 1;
}
message CGameServers_GetServerIPsBySteamID_Request {
repeated fixed64 server_steamids = 1;
}
message CGameServers_QueryByFakeIP_Request {
enum EQueryType {
Query_Invalid = 0;
Query_Ping = 1;
Query_Players = 2;
Query_Rules = 3;
}
optional uint32 fake_ip = 1;
optional uint32 fake_port = 2;
optional uint32 app_id = 3;
optional .CGameServers_QueryByFakeIP_Request.EQueryType query_type = 4 [default = Query_Invalid];
}
message CMsgGameServerPingQueryData {
optional .CMsgIPAddress server_ip = 1;
optional uint32 query_port = 2;
optional uint32 game_port = 3;
optional uint32 spectator_port = 4;
optional string spectator_server_name = 5;
optional string server_name = 6;
optional fixed64 steamid = 7;
optional uint32 app_id = 8;
optional string gamedir = 9;
optional string map = 10;
optional string game_description = 11;
optional string gametype = 12;
optional uint32 num_players = 13;
optional uint32 max_players = 14;
optional uint32 num_bots = 15;
optional bool password = 16;
optional bool secure = 17;
optional bool dedicated = 18;
optional string version = 19;
optional fixed32 sdr_popid = 20;
optional string sdr_location_string = 21;
}
message CMsgGameServerPlayersQueryData {
message Player {
optional string name = 1;
optional uint32 score = 2;
optional uint32 time_played = 3;
}
repeated .CMsgGameServerPlayersQueryData.Player players = 1;
}
message CMsgGameServerRulesQueryData {
message Rule {
optional string rule = 1;
optional string value = 2;
}
repeated .CMsgGameServerRulesQueryData.Rule rules = 1;
}
message CGameServers_GameServerQuery_Response {
optional .CMsgGameServerPingQueryData ping_data = 1;
optional .CMsgGameServerPlayersQueryData players_data = 2;
optional .CMsgGameServerRulesQueryData rules_data = 3;
}
message GameServerClient_QueryServerData_Request {
}
message GameServerClient_QueryServerData_Response {
optional .CMsgGameServerPingQueryData ping_data = 1;
optional .CMsgGameServerPlayersQueryData players_data = 2;
optional .CMsgGameServerRulesQueryData rules_data = 3;
}
service GameServers {
rpc GetServerList (.CGameServers_GetServerList_Request) returns (.CGameServers_GetServerList_Response);
rpc GetServerSteamIDsByIP (.CGameServers_GetServerSteamIDsByIP_Request) returns (.CGameServers_IPsWithSteamIDs_Response);
rpc GetServerIPsBySteamID (.CGameServers_GetServerIPsBySteamID_Request) returns (.CGameServers_IPsWithSteamIDs_Response);
rpc QueryByFakeIP (.CGameServers_QueryByFakeIP_Request) returns (.CGameServers_GameServerQuery_Response);
}
service GameServerClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc QueryServerData (.GameServerClient_QueryServerData_Request) returns (.GameServerClient_QueryServerData_Response);
}

View File

@@ -0,0 +1,157 @@
option optimize_for = SPEED;
option cc_generic_services = false;
enum EHIDDeviceLocation {
k_EDeviceLocationLocal = 0;
k_EDeviceLocationRemote = 2;
k_EDeviceLocationAny = 3;
}
enum EHIDDeviceDisconnectMethod {
k_EDeviceDisconnectMethodUnknown = 0;
k_EDeviceDisconnectMethodBluetooth = 1;
k_EDeviceDisconnectMethodFeatureReport = 2;
k_EDeviceDisconnectMethodOutputReport = 3;
}
message CHIDDeviceInfo {
optional .EHIDDeviceLocation location = 1 [default = k_EDeviceLocationLocal];
optional string path = 2;
optional uint32 vendor_id = 3;
optional uint32 product_id = 4;
optional string serial_number = 5;
optional uint32 release_number = 6;
optional string manufacturer_string = 7;
optional string product_string = 8;
optional uint32 usage_page = 9;
optional uint32 usage = 10;
optional int32 interface_number = 11 [default = -1];
optional int32 ostype = 12 [default = -1];
optional bool is_generic_gamepad = 13;
optional bool is_generic_joystick = 14;
optional uint32 caps_bits = 15;
optional uint32 session_id = 16;
optional uint32 eControllerType_OBSOLETE = 17 [default = 0];
optional bool is_xinput_device_OBSOLETE = 18 [default = false];
optional uint32 session_remote_play_together_appid = 19;
optional bool is_steamvr_device = 20 [default = false];
}
message CHIDDeviceInputReport {
optional bytes full_report = 1;
optional bytes delta_report = 2;
optional uint32 delta_report_size = 3;
optional uint32 delta_report_crc = 4;
}
message CHIDMessageToRemote {
message DeviceOpen {
optional .CHIDDeviceInfo info = 1;
}
message DeviceClose {
optional uint32 device = 1;
}
message DeviceWrite {
optional uint32 device = 1;
optional bytes data = 2;
}
message DeviceRead {
optional uint32 device = 1;
optional uint32 length = 2;
optional int32 timeout_ms = 3;
}
message DeviceSendFeatureReport {
optional uint32 device = 1;
optional bytes data = 2;
}
message DeviceGetFeatureReport {
optional uint32 device = 1;
optional bytes report_number = 2;
optional uint32 length = 3;
}
message DeviceGetVendorString {
optional uint32 device = 1;
}
message DeviceGetProductString {
optional uint32 device = 1;
}
message DeviceGetSerialNumberString {
optional uint32 device = 1;
}
message DeviceStartInputReports {
optional uint32 device = 1;
optional uint32 length = 2;
}
message DeviceRequestFullReport {
optional uint32 device = 1;
}
message DeviceDisconnect {
optional uint32 device = 1;
optional .EHIDDeviceDisconnectMethod disconnectMethod = 2 [default = k_EDeviceDisconnectMethodUnknown];
optional bytes data = 3;
}
optional uint32 request_id = 1;
oneof command {
.CHIDMessageToRemote.DeviceOpen device_open = 2;
.CHIDMessageToRemote.DeviceClose device_close = 3;
.CHIDMessageToRemote.DeviceWrite device_write = 4;
.CHIDMessageToRemote.DeviceRead device_read = 5;
.CHIDMessageToRemote.DeviceSendFeatureReport device_send_feature_report = 6;
.CHIDMessageToRemote.DeviceGetFeatureReport device_get_feature_report = 7;
.CHIDMessageToRemote.DeviceGetVendorString device_get_vendor_string = 8;
.CHIDMessageToRemote.DeviceGetProductString device_get_product_string = 9;
.CHIDMessageToRemote.DeviceGetSerialNumberString device_get_serial_number_string = 10;
.CHIDMessageToRemote.DeviceStartInputReports device_start_input_reports = 11;
.CHIDMessageToRemote.DeviceRequestFullReport device_request_full_report = 12;
.CHIDMessageToRemote.DeviceDisconnect device_disconnect = 13;
}
}
message CHIDMessageFromRemote {
message UpdateDeviceList {
repeated .CHIDDeviceInfo devices = 1;
}
message RequestResponse {
optional uint32 request_id = 1;
optional int32 result = 2;
optional bytes data = 3;
}
message DeviceInputReports {
message DeviceInputReport {
optional uint32 device = 1;
repeated .CHIDDeviceInputReport reports = 2;
}
repeated .CHIDMessageFromRemote.DeviceInputReports.DeviceInputReport device_reports = 1;
}
message CloseDevice {
optional uint32 device = 1;
}
message CloseAllDevices {
}
oneof command {
.CHIDMessageFromRemote.UpdateDeviceList update_device_list = 1;
.CHIDMessageFromRemote.RequestResponse response = 2;
.CHIDMessageFromRemote.DeviceInputReports reports = 3;
.CHIDMessageFromRemote.CloseDevice close_device = 4;
.CHIDMessageFromRemote.CloseAllDevices close_all_devices = 5;
}
}

View File

@@ -0,0 +1,173 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CInventory_GetInventory_Request {
optional uint32 appid = 1;
optional uint64 steamid = 2;
}
message CInventory_Response {
optional string etag = 1;
repeated uint64 removeditemids = 2;
optional string item_json = 3;
optional string itemdef_json = 4;
optional bytes ticket = 5;
optional bool replayed = 6;
}
message CInventory_ExchangeItem_Request {
optional uint32 appid = 1;
optional uint64 steamid = 2;
repeated uint64 materialsitemid = 3;
repeated uint32 materialsquantity = 4;
optional uint64 outputitemdefid = 5;
}
message CInventory_GetEligiblePromoItemDefIDs_Request {
optional uint32 appid = 1;
optional uint64 steamid = 2;
}
message CInventory_GetEligiblePromoItemDefIDs_Response {
repeated uint64 itemdefids = 1;
}
message CInventory_AddItem_Request {
optional uint32 appid = 1;
repeated uint64 itemdefid = 2;
repeated string itempropsjson = 3;
repeated uint32 itemquantity = 9;
optional uint64 steamid = 4;
optional bool notify = 5;
optional uint64 requestid = 6;
optional bool trade_restriction = 7;
optional bool is_purchase = 8 [default = false];
}
message CInventory_ModifyItems_Request {
message ItemPropertyUpdate {
optional uint64 itemid = 1;
optional bool remove_property = 2;
optional string property_name = 3;
optional bool property_value_bool = 4;
optional int64 property_value_int = 5;
optional string property_value_string = 6;
optional float property_value_float = 7;
}
optional uint32 appid = 1;
optional uint64 steamid = 2;
repeated .CInventory_ModifyItems_Request.ItemPropertyUpdate updates = 3;
optional uint32 timestamp = 4;
}
message CInventory_ConsumePlaytime_Request {
optional uint32 appid = 1;
optional uint64 itemdefid = 2;
}
message CInventory_ConsumeItem_Request {
optional uint32 appid = 1;
optional uint64 itemid = 2;
optional uint32 quantity = 3;
optional string timestamp = 4;
optional uint64 steamid = 5;
optional uint64 requestid = 6;
}
message CInventory_DevSetNextDrop_Request {
optional uint32 appid = 1;
optional uint64 itemdefid = 2;
optional string droptime = 3;
}
message CInventory_SplitItemStack_Request {
optional uint32 appid = 1;
optional uint64 itemid = 2;
optional uint32 quantity = 3;
optional uint64 steamid = 5;
}
message CInventory_CombineItemStacks_Request {
optional uint32 appid = 1;
optional uint64 fromitemid = 2;
optional uint64 destitemid = 3;
optional uint32 quantity = 4;
optional fixed64 steamid = 7;
}
message CInventory_GetItemDefMeta_Request {
optional uint32 appid = 1;
}
message CInventory_GetItemDefMeta_Response {
optional uint32 modified = 1;
optional string digest = 2;
}
message CInventory_GetUserPurchaseInfo_Request {
}
message CInventory_GetUserPurchaseInfo_Response {
optional int32 ecurrency = 1;
}
message CInventory_PurchaseInit_Request {
message LineItem {
optional uint64 itemdefid = 1;
optional uint32 quantity = 2;
}
optional uint32 appid = 1;
optional int32 language = 2;
repeated .CInventory_PurchaseInit_Request.LineItem line_items = 3;
}
message CInventory_PurchaseInit_Response {
optional uint64 orderid = 1;
optional uint64 transid = 2;
}
message CInventory_PurchaseFinalize_Request {
optional uint32 appid = 1;
optional int32 language = 2;
optional uint64 orderid = 3;
}
message CInventory_InspectItem_Request {
optional uint64 itemdefid = 1;
optional fixed64 itemid = 2;
optional string tags = 3;
}
message CInventoryClient_NewItems_Notification {
optional uint32 appid = 1;
optional .CInventory_Response inventory_response = 2;
}
service Inventory {
rpc GetInventory (.CInventory_GetInventory_Request) returns (.CInventory_Response);
rpc ExchangeItem (.CInventory_ExchangeItem_Request) returns (.CInventory_Response);
rpc GetEligiblePromoItemDefIDs (.CInventory_GetEligiblePromoItemDefIDs_Request) returns (.CInventory_GetEligiblePromoItemDefIDs_Response);
rpc AddPromoItem (.CInventory_AddItem_Request) returns (.CInventory_Response);
rpc SafeModifyItems (.CInventory_ModifyItems_Request) returns (.CInventory_Response);
rpc ConsumePlaytime (.CInventory_ConsumePlaytime_Request) returns (.CInventory_Response);
rpc ConsumeItem (.CInventory_ConsumeItem_Request) returns (.CInventory_Response);
rpc DevGenerateItem (.CInventory_AddItem_Request) returns (.CInventory_Response);
rpc DevSetNextDrop (.CInventory_DevSetNextDrop_Request) returns (.CInventory_Response);
rpc SplitItemStack (.CInventory_SplitItemStack_Request) returns (.CInventory_Response);
rpc CombineItemStacks (.CInventory_CombineItemStacks_Request) returns (.CInventory_Response);
rpc GetItemDefMeta (.CInventory_GetItemDefMeta_Request) returns (.CInventory_GetItemDefMeta_Response);
rpc GetUserPurchaseInfo (.CInventory_GetUserPurchaseInfo_Request) returns (.CInventory_GetUserPurchaseInfo_Response);
rpc PurchaseInit (.CInventory_PurchaseInit_Request) returns (.CInventory_PurchaseInit_Response);
rpc PurchaseFinalize (.CInventory_PurchaseFinalize_Request) returns (.CInventory_Response);
rpc InspectItem (.CInventory_InspectItem_Request) returns (.CInventory_Response);
}
service InventoryClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyNewItems (.CInventoryClient_NewItems_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,39 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CCommunity_GetLinkFilterHashPrefixes_Request {
optional uint32 hit_type = 1;
optional uint32 count = 2;
optional uint64 start = 3;
}
message CCommunity_GetLinkFilterHashPrefixes_Response {
repeated uint32 hash_prefixes = 1;
}
message CCommunity_GetLinkFilterHashes_Request {
optional uint32 hit_type = 1;
optional uint32 count = 2;
optional uint64 start = 3;
}
message CCommunity_GetLinkFilterHashes_Response {
repeated bytes hashes = 1;
}
message CCommunity_GetLinkFilterListVersion_Request {
optional uint32 hit_type = 1;
}
message CCommunity_GetLinkFilterListVersion_Response {
optional string version = 1;
optional uint64 count = 2;
}
service CommunityLinkFilter {
rpc GetLinkFilterHashPrefixes (.CCommunity_GetLinkFilterHashPrefixes_Request) returns (.CCommunity_GetLinkFilterHashPrefixes_Response);
rpc GetLinkFilterHashes (.CCommunity_GetLinkFilterHashes_Request) returns (.CCommunity_GetLinkFilterHashes_Response);
rpc GetLinkFilterListVersion (.CCommunity_GetLinkFilterListVersion_Request) returns (.CCommunity_GetLinkFilterListVersion_Response);
}

View File

@@ -0,0 +1,29 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
enum ELobbyStatus {
k_ELobbyStatusInvalid = 0;
k_ELobbyStatusExists = 1;
k_ELobbyStatusDoesNotExist = 2;
k_ELobbyStatusNotAMember = 3;
}
message LobbyMatchmakingLegacy_GetLobbyStatus_Request {
optional uint32 app_id = 1;
optional fixed64 steamid_lobby = 2;
optional bool claim_ownership = 3;
optional bool claim_membership = 4;
optional uint32 version_num = 5;
}
message LobbyMatchmakingLegacy_GetLobbyStatus_Response {
optional uint32 app_id = 1;
optional fixed64 steamid_lobby = 2;
optional .ELobbyStatus lobby_status = 3 [default = k_ELobbyStatusInvalid];
}
service LobbyMatchmakingLegacy {
rpc GetLobbyStatus (.LobbyMatchmakingLegacy_GetLobbyStatus_Request) returns (.LobbyMatchmakingLegacy_GetLobbyStatus_Response);
}

View File

@@ -0,0 +1,22 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CEconMarket_IsMarketplaceAllowed_Request {
optional string webcookie = 1;
}
message CEconMarket_IsMarketplaceAllowed_Response {
optional bool allowed = 1;
optional uint32 reason = 2;
optional uint32 allowed_at_time = 3;
optional uint32 steamguard_required_days = 4;
optional bool forms_requested = 7;
optional bool forms_require_verification = 8;
optional uint32 new_device_cooldown_days = 9;
}
service EconMarket {
rpc IsMarketplaceAllowed (.CEconMarket_IsMarketplaceAllowed_Request) returns (.CEconMarket_IsMarketplaceAllowed_Response);
}

View File

@@ -0,0 +1,283 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "steammessages_storebrowse.steamclient.proto";
option cc_generic_services = true;
enum EMarketingMessageType {
k_EMarketingMessageInvalid = 0;
k_EMarketingMessageNowAvailable = 1;
k_EMarketingMessageWeekendDeal = 2;
k_EMarketingMessagePrePurchase = 3;
k_EMarketingMessagePlayNow = 4;
k_EMarketingMessagePreloadNow = 5;
k_EMarketingMessageGeneral = 6;
k_EMarketingMessageDemoQuit = 7;
k_EMarketingMessageGifting = 8;
k_EMarketingMessageEJsKorner = 9;
k_EMarketingMessageUpdate = 10;
k_EMarketingMessageMidweekDeal = 11;
k_EMarketingMessageDailyDeal = 12;
k_EMarketingMessageNewDLC = 13;
}
enum EMarketingMessageVisibility {
k_EMarketingMessageVisibleBeta = 1;
k_EMarketingMessageVisiblePublic = 2;
k_EMarketingMessageVisibleApprovedForPublish = 3;
}
enum EMarketingMessageAssociationType {
k_EMarketingMessageNoAssociation = 0;
k_EMarketingMessageAppAssociation = 1;
k_EMarketingMessageSubscriptionAssociation = 2;
k_EMarketingMessagePublisherAssociation = 3;
k_EMarketingMessageGenreAssociation = 4;
k_EMarketingMessageBundleAssociation = 5;
}
enum EMarketingMessageTemplateType {
k_EMarketingMessageTemplate_Unknown = 0;
k_EMarketingMessageTemplate_Image = 1;
k_EMarketingMessageTemplate_Animated = 2;
k_EMarketingMessageTemplate_Featured_Video = 3;
k_EMarketingMessageTemplate_DLC_Override = 4;
k_EMarketingMessageTemplate_Replay = 5;
k_EMarketingMessageTemplate_MAX = 6;
}
enum EMarketingMessageLookupType {
k_EMarketingMessageLookupInvalid = 0;
k_EMarketingMessageLookupByGID = 1;
k_EMarketingMessageLookupActive = 2;
k_EMarketingMessageLookupByTitleWithType = 3;
k_EMarketingMessageLookupByGIDList = 4;
}
message CMarketingMessages_GetActiveMarketingMessages_Request {
optional string country = 1;
optional bool anonymous_user = 2;
}
message CMarketingMessageProto {
optional fixed64 gid = 1;
optional string title = 2;
optional .EMarketingMessageType type = 3 [default = k_EMarketingMessageInvalid];
optional .EMarketingMessageVisibility visibility = 4 [default = k_EMarketingMessageVisibleBeta];
optional uint32 priority = 5;
optional .EMarketingMessageAssociationType association_type = 6 [default = k_EMarketingMessageNoAssociation];
optional uint32 associated_id = 7;
optional string associated_name = 8;
optional uint32 start_date = 9;
optional uint32 end_date = 10;
optional string country_allow = 11;
optional string country_deny = 12;
optional bool ownership_restrictions_overridden = 13;
optional uint32 must_own_appid = 14;
optional uint32 must_not_own_appid = 15;
optional uint32 must_own_packageid = 16;
optional uint32 must_not_own_packageid = 17;
optional uint32 must_have_launched_appid = 18;
optional string additional_restrictions = 19;
optional string template_type = 20;
optional string template_vars = 21;
optional uint32 flags = 22;
optional string creator_name = 23;
optional string template_vars_json = 24;
optional string additional_restrictions_json = 25;
}
message CMarketingMessages_GetActiveMarketingMessages_Response {
repeated .CMarketingMessageProto messages = 1;
optional uint32 time_next_message_age = 2;
}
message CMarketingMessages_GetMarketingMessagesForUser_Request {
optional bool include_seen_messages = 1;
optional string country_code = 2;
optional int32 elanguage = 3;
optional int32 operating_system = 4;
optional int32 client_package_version = 5;
optional .StoreBrowseContext context = 6;
optional .StoreBrowseItemDataRequest data_request = 7;
}
message CDisplayMarketingMessage {
optional fixed64 gid = 1;
optional string title = 2;
optional .EMarketingMessageType type = 3 [default = k_EMarketingMessageInvalid];
optional .StoreItemID associated_item_id = 4;
optional .StoreItem associated_item = 5;
optional string associated_name = 6;
optional string template_type = 10;
optional string template_vars_json = 11;
}
message CMarketingMessages_GetMarketingMessagesForUser_Response {
message MarketingMessageForUser {
optional bool already_seen = 1;
optional .CDisplayMarketingMessage message = 2;
}
repeated .CMarketingMessages_GetMarketingMessagesForUser_Response.MarketingMessageForUser messages = 1;
}
message CMarketingMessages_DoesUserHavePendingMarketingMessages_Request {
optional string country_code = 2;
optional int32 elanguage = 3;
optional int32 operating_system = 4;
optional int32 client_package_version = 5;
}
message CMarketingMessages_DoesUserHavePendingMarketingMessages_Response {
optional bool has_pending_messages = 1;
optional int32 pending_message_count = 2;
}
message CMarketingMessages_GetDisplayMarketingMessage_Request {
optional fixed64 gid = 1;
optional .StoreBrowseContext context = 2;
optional .StoreBrowseItemDataRequest data_request = 3;
}
message CMarketingMessages_GetDisplayMarketingMessage_Response {
optional .CDisplayMarketingMessage message = 1;
}
message CMarketingMessages_MarkMessageSeen_Notification {
optional fixed64 gid = 1;
optional uint32 display_index = 2 [default = 0];
optional .EMarketingMessageTemplateType template_type = 3 [default = k_EMarketingMessageTemplate_Unknown];
}
message CMarketingMessages_GetMarketingMessage_Request {
optional fixed64 gid = 1;
}
message CMarketingMessages_GetMarketingMessage_Response {
optional .CMarketingMessageProto message = 1;
}
message CMarketingMessages_CreateMarketingMessage_Request {
optional .CMarketingMessageProto message = 1;
optional bool from_json = 2;
}
message CMarketingMessages_CreateMarketingMessage_Response {
optional fixed64 gid = 1;
}
message CMarketingMessages_UpdateMarketingMessage_Request {
optional fixed64 gid = 1;
optional .CMarketingMessageProto message = 2;
optional bool from_json = 3;
}
message CMarketingMessages_UpdateMarketingMessage_Response {
}
message CMarketingMessages_DeleteMarketingMessage_Request {
optional fixed64 gid = 1;
}
message CMarketingMessages_DeleteMarketingMessage_Response {
}
message CMarketingMessages_FindMarketingMessages_Request {
optional .EMarketingMessageLookupType lookup_type = 1 [default = k_EMarketingMessageLookupInvalid];
optional fixed64 gid = 2;
optional .EMarketingMessageType message_type = 3 [default = k_EMarketingMessageInvalid];
repeated fixed64 gidlist = 4;
optional string title = 5;
}
message CMarketingMessages_FindMarketingMessages_Response {
repeated .CMarketingMessageProto messages = 1;
}
message CMarketingMessages_GetMarketingMessageViewerStats_Request {
optional fixed64 gid = 1;
}
message CMarketingMessageHourlyStats {
optional uint32 rt_time_hour = 1;
optional uint32 seen_count = 2;
optional .EMarketingMessageTemplateType template_type = 3 [default = k_EMarketingMessageTemplate_Unknown];
optional uint32 display_index = 4;
}
message CMarketingMessages_GetMarketingMessageViewerStats_Response {
repeated .CMarketingMessageHourlyStats stats = 1;
}
message CMarketingMessages_GetMarketingMessagesViewerRangeStats_Request {
optional uint32 rt_start_time = 1;
optional uint32 rt_end_time = 2;
}
message CMarketingMessages_GetMarketingMessagesViewerRangeStats_Response {
repeated .CMarketingMessageHourlyStats stats = 1;
}
message CMarketingMessages_GetPartnerReadyToPublishMessages_Request {
optional uint32 partnerid = 1;
}
message CMarketingMessages_GetPartnerReadyToPublishMessages_Response {
repeated .CDisplayMarketingMessage messages = 1;
}
message CMarketingMessages_PartnerPublishMessage_Request {
optional fixed64 gid = 1;
optional uint32 partnerid = 2;
}
message CMarketingMessages_PartnerPublishMessage_Response {
}
message CMarketingMessages_GetPartnerMessagePreview_Request {
optional fixed64 gid = 1;
optional uint32 partnerid = 2;
}
message CMarketingMessages_GetPartnerMessagePreview_Response {
optional .CMarketingMessageProto message = 1;
}
message CMarketingMessage_GetMarketingMessagesForPartner_Request {
optional uint32 partnerid = 1;
}
message CMarketingMessage_GetMarketingMessagesForPartner_Response {
repeated .CMarketingMessageProto messages = 1;
}
message CMarketingMessage_GetMarketingMessagesForApps_Request {
repeated uint32 appids = 1;
}
message CMarketingMessage_GetMarketingMessagesForApps_Response {
repeated .CMarketingMessageProto messages = 1;
}
service MarketingMessages {
rpc GetActiveMarketingMessages (.CMarketingMessages_GetActiveMarketingMessages_Request) returns (.CMarketingMessages_GetActiveMarketingMessages_Response);
rpc GetMarketingMessagesForUser (.CMarketingMessages_GetMarketingMessagesForUser_Request) returns (.CMarketingMessages_GetMarketingMessagesForUser_Response);
rpc DoesUserHavePendingMarketingMessages (.CMarketingMessages_DoesUserHavePendingMarketingMessages_Request) returns (.CMarketingMessages_DoesUserHavePendingMarketingMessages_Response);
rpc GetDisplayMarketingMessage (.CMarketingMessages_GetDisplayMarketingMessage_Request) returns (.CMarketingMessages_GetDisplayMarketingMessage_Response);
rpc GetDisplayMarketingMessageForUser (.CMarketingMessages_GetDisplayMarketingMessage_Request) returns (.CMarketingMessages_GetDisplayMarketingMessage_Response);
rpc GetDisplayMarketingMessageAdmin (.CMarketingMessages_GetDisplayMarketingMessage_Request) returns (.CMarketingMessages_GetDisplayMarketingMessage_Response);
rpc MarkMessageSeen (.CMarketingMessages_MarkMessageSeen_Notification) returns (.NoResponse);
rpc GetMarketingMessage (.CMarketingMessages_GetMarketingMessage_Request) returns (.CMarketingMessages_GetMarketingMessage_Response);
rpc CreateMarketingMessage (.CMarketingMessages_CreateMarketingMessage_Request) returns (.CMarketingMessages_CreateMarketingMessage_Response);
rpc UpdateMarketingMessage (.CMarketingMessages_UpdateMarketingMessage_Request) returns (.CMarketingMessages_UpdateMarketingMessage_Response);
rpc DeleteMarketingMessage (.CMarketingMessages_DeleteMarketingMessage_Request) returns (.CMarketingMessages_DeleteMarketingMessage_Response);
rpc FindMarketingMessages (.CMarketingMessages_FindMarketingMessages_Request) returns (.CMarketingMessages_FindMarketingMessages_Response);
rpc GetMarketingMessageViewerStats (.CMarketingMessages_GetMarketingMessageViewerStats_Request) returns (.CMarketingMessages_GetMarketingMessageViewerStats_Response);
rpc GetMarketingMessagesViewerRangeStats (.CMarketingMessages_GetMarketingMessagesViewerRangeStats_Request) returns (.CMarketingMessages_GetMarketingMessagesViewerRangeStats_Response);
rpc GetPartnerReadyToPublishMessages (.CMarketingMessages_GetPartnerReadyToPublishMessages_Request) returns (.CMarketingMessages_GetPartnerReadyToPublishMessages_Response);
rpc PublishPartnerMessage (.CMarketingMessages_PartnerPublishMessage_Request) returns (.CMarketingMessages_PartnerPublishMessage_Response);
rpc GetPartnerMessagePreview (.CMarketingMessages_GetPartnerMessagePreview_Request) returns (.CMarketingMessages_GetPartnerMessagePreview_Response);
rpc GetMarketingMessagesForPartner (.CMarketingMessage_GetMarketingMessagesForPartner_Request) returns (.CMarketingMessage_GetMarketingMessagesForPartner_Response);
rpc GetMarketingMessagesForApps (.CMarketingMessage_GetMarketingMessagesForApps_Request) returns (.CMarketingMessage_GetMarketingMessagesForApps_Response);
}

View File

@@ -0,0 +1,70 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
enum ESteamNotificationType {
k_ESteamNotificationType_Invalid = 0;
k_ESteamNotificationType_Test = 1;
k_ESteamNotificationType_Gift = 2;
k_ESteamNotificationType_Comment = 3;
k_ESteamNotificationType_Item = 4;
k_ESteamNotificationType_FriendInvite = 5;
k_ESteamNotificationType_MajorSale = 6;
k_ESteamNotificationType_PreloadAvailable = 7;
k_ESteamNotificationType_Wishlist = 8;
k_ESteamNotificationType_TradeOffer = 9;
k_ESteamNotificationType_General = 10;
k_ESteamNotificationType_HelpRequest = 11;
k_ESteamNotificationType_AsyncGame = 12;
k_ESteamNotificationType_ChatMsg = 13;
k_ESteamNotificationType_ModeratorMsg = 14;
k_ESteamNotificationType_ParentalFeatureAccessRequest = 15;
k_ESteamNotificationType_FamilyInvite = 16;
k_ESteamNotificationType_FamilyPurchaseRequest = 17;
k_ESteamNotificationType_ParentalPlaytimeRequest = 18;
k_ESteamNotificationType_FamilyPurchaseRequestResponse = 19;
k_ESteamNotificationType_ParentalFeatureAccessResponse = 20;
k_ESteamNotificationType_ParentalPlaytimeResponse = 21;
k_ESteamNotificationType_RequestedGameAdded = 22;
k_ESteamNotificationType_SendToPhone = 23;
k_ESteamNotificationType_ClipDownloaded = 24;
k_ESteamNotificationType_2FAPrompt = 25;
k_ESteamNotificationType_MobileConfirmation = 26;
k_ESteamNotificationType_PartnerEvent = 27;
}
message SteamNotificationData {
optional uint64 notification_id = 1;
optional uint32 notification_targets = 2;
optional .ESteamNotificationType notification_type = 3 [default = k_ESteamNotificationType_Invalid];
optional string body_data = 4;
optional bool read = 7;
optional uint32 timestamp = 8;
optional bool hidden = 9;
optional uint32 expiry = 10;
optional uint32 viewed = 11;
}
message CSteamNotification_NotificationsReceived_Notification {
repeated .SteamNotificationData notifications = 1;
optional uint32 pending_gift_count = 2;
optional uint32 pending_friend_count = 3;
optional uint32 pending_family_invite_count = 4;
}
message SteamNotificationPreference {
optional .ESteamNotificationType notification_type = 1 [default = k_ESteamNotificationType_Invalid];
optional uint32 notification_targets = 2;
}
message CSteamNotification_PreferencesUpdated_Notification {
repeated .SteamNotificationPreference preferences = 1;
}
service SteamNotificationClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotificationsReceived (.CSteamNotification_NotificationsReceived_Notification) returns (.NoResponse);
rpc PreferencesUpdated (.CSteamNotification_PreferencesUpdated_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,33 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "offline_ticket.proto";
option cc_generic_services = true;
message COffline_GetOfflineLogonTicket_Request {
optional uint32 priority = 1;
optional bool perform_encryption = 2;
}
message COffline_GetOfflineLogonTicket_Response {
optional bytes serialized_ticket = 1;
optional bytes signature = 2;
optional .Offline_Ticket encrypted_ticket = 3;
}
message COffline_GetUnsignedOfflineLogonTicket_Request {
}
message COffline_OfflineLogonTicket {
optional uint32 accountid = 1;
optional fixed32 rtime32_creation_time = 2;
}
message COffline_GetUnsignedOfflineLogonTicket_Response {
optional .COffline_OfflineLogonTicket ticket = 1;
}
service Offline {
rpc GetOfflineLogonTicket (.COffline_GetOfflineLogonTicket_Request) returns (.COffline_GetOfflineLogonTicket_Response);
rpc GetUnsignedOfflineLogonTicket (.COffline_GetUnsignedOfflineLogonTicket_Request) returns (.COffline_GetUnsignedOfflineLogonTicket_Response);
}

View File

@@ -0,0 +1,198 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "steammessages_parental_objects.proto";
option cc_generic_services = true;
message CParental_EnableParentalSettings_Request {
optional string password = 1;
optional .ParentalSettings settings = 2;
optional string sessionid = 3;
optional uint32 enablecode = 4;
optional fixed64 steamid = 10;
}
message CParental_EnableParentalSettings_Response {
}
message CParental_DisableParentalSettings_Request {
optional string password = 1;
optional fixed64 steamid = 10;
}
message CParental_DisableParentalSettings_Response {
}
message CParental_GetParentalSettings_Request {
optional fixed64 steamid = 10;
}
message CParental_GetParentalSettings_Response {
optional .ParentalSettings settings = 1;
}
message CParental_GetSignedParentalSettings_Request {
optional uint32 priority = 1;
}
message CParental_GetSignedParentalSettings_Response {
optional bytes serialized_settings = 1;
optional bytes signature = 2;
}
message CParental_SetParentalSettings_Request {
optional string password = 1;
optional .ParentalSettings settings = 2;
optional string new_password = 3;
optional string sessionid = 4;
optional fixed64 steamid = 10;
}
message CParental_SetParentalSettings_Response {
}
message CParental_ValidateToken_Request {
optional string unlock_token = 1;
}
message CParental_ValidateToken_Response {
}
message CParental_ValidatePassword_Request {
optional string password = 1;
optional string session = 2;
optional bool send_unlock_on_success = 3;
}
message CParental_ValidatePassword_Response {
optional string token = 1;
}
message CParental_LockClient_Request {
optional string session = 1;
}
message CParental_LockClient_Response {
}
message CParental_RequestRecoveryCode_Request {
}
message CParental_RequestRecoveryCode_Response {
}
message CParental_DisableWithRecoveryCode_Request {
optional uint32 recovery_code = 1;
optional fixed64 steamid = 10;
}
message CParental_DisableWithRecoveryCode_Response {
}
message CParental_RequestFeatureAccess_Request {
optional uint32 features = 1;
optional fixed64 steamid = 10;
}
message CParental_RequestFeatureAccess_Response {
optional fixed64 requestid = 1;
}
message CParental_ApproveFeatureAccess_Request {
optional bool approve = 1;
optional fixed64 requestid = 2;
optional uint32 features = 3;
optional uint32 duration = 4;
optional fixed64 steamid = 10;
}
message CParental_ApproveFeatureAccess_Response {
}
message CParental_RequestPlaytime_Request {
optional uint32 time_expires = 1;
optional .ParentalPlaytimeDay current_playtime_restrictions = 2;
optional fixed64 steamid = 10;
}
message CParental_RequestPlaytime_Response {
optional fixed64 requestid = 1;
}
message CParental_ApprovePlaytime_Request {
optional bool approve = 1;
optional fixed64 requestid = 2;
optional .ParentalTemporaryPlaytimeRestrictions restrictions_approved = 3;
optional fixed64 steamid = 10;
}
message CParental_ApprovePlaytime_Response {
}
message CParental_GetRequests_Request {
optional uint32 rt_include_completed_since = 1;
optional fixed64 family_groupid = 2;
}
message CParental_GetRequests_Response {
repeated .ParentalFeatureRequest feature_requests = 1;
repeated .ParentalPlaytimeRequest playtime_requests = 2;
}
message CParental_ReportPlaytimeAndNotify_Request {
optional uint32 day_of_week = 1;
optional uint32 minutes_used = 2;
optional fixed64 steamid = 10;
}
message CParental_ReportPlaytimeAndNotify_Response {
}
message CParental_ParentalSettingsChange_Notification {
optional bytes serialized_settings = 1;
optional bytes signature = 2;
optional string password = 3;
optional string sessionid = 4;
}
message CParental_ParentalUnlock_Notification {
optional string password = 1;
optional string sessionid = 2;
}
message CParental_ParentalLock_Notification {
optional string sessionid = 1;
}
message CParental_PlaytimeUsed_Notification {
optional uint32 day_of_week = 1;
optional uint32 minutes_used = 2;
}
service Parental {
rpc EnableParentalSettings (.CParental_EnableParentalSettings_Request) returns (.CParental_EnableParentalSettings_Response);
rpc DisableParentalSettings (.CParental_DisableParentalSettings_Request) returns (.CParental_DisableParentalSettings_Response);
rpc GetParentalSettings (.CParental_GetParentalSettings_Request) returns (.CParental_GetParentalSettings_Response);
rpc GetSignedParentalSettings (.CParental_GetSignedParentalSettings_Request) returns (.CParental_GetSignedParentalSettings_Response);
rpc SetParentalSettings (.CParental_SetParentalSettings_Request) returns (.CParental_SetParentalSettings_Response);
rpc ValidateToken (.CParental_ValidateToken_Request) returns (.CParental_ValidateToken_Response);
rpc ValidatePassword (.CParental_ValidatePassword_Request) returns (.CParental_ValidatePassword_Response);
rpc LockClient (.CParental_LockClient_Request) returns (.CParental_LockClient_Response);
rpc RequestRecoveryCode (.CParental_RequestRecoveryCode_Request) returns (.CParental_RequestRecoveryCode_Response);
rpc DisableWithRecoveryCode (.CParental_DisableWithRecoveryCode_Request) returns (.CParental_DisableWithRecoveryCode_Response);
rpc RequestFeatureAccess (.CParental_RequestFeatureAccess_Request) returns (.CParental_RequestFeatureAccess_Response);
rpc ApproveFeatureAccess (.CParental_ApproveFeatureAccess_Request) returns (.CParental_ApproveFeatureAccess_Response);
rpc RequestPlaytime (.CParental_RequestPlaytime_Request) returns (.CParental_RequestPlaytime_Response);
rpc ApprovePlaytime (.CParental_ApprovePlaytime_Request) returns (.CParental_ApprovePlaytime_Response);
rpc GetRequests (.CParental_GetRequests_Request) returns (.CParental_GetRequests_Response);
rpc ReportPlaytimeAndNotify (.CParental_ReportPlaytimeAndNotify_Request) returns (.CParental_ReportPlaytimeAndNotify_Response);
}
service ParentalClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifySettingsChange (.CParental_ParentalSettingsChange_Notification) returns (.NoResponse);
rpc NotifyUnlock (.CParental_ParentalUnlock_Notification) returns (.NoResponse);
rpc NotifyLock (.CParental_ParentalLock_Notification) returns (.NoResponse);
rpc NotifyPlaytimeUsed (.CParental_PlaytimeUsed_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,72 @@
import "steammessages_base.proto";
import "enums.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
option (force_php_generation) = true;
message ParentalApp {
optional uint32 appid = 1;
optional bool is_allowed = 2;
}
message ParentalPlaytimeDay {
optional uint64 allowed_time_windows = 1;
optional uint32 allowed_daily_minutes = 2;
}
message ParentalPlaytimeRestrictions {
optional bool apply_playtime_restrictions = 2;
repeated .ParentalPlaytimeDay playtime_days = 15;
}
message ParentalTemporaryPlaytimeRestrictions {
optional .ParentalPlaytimeDay restrictions = 1;
optional uint32 rtime_expires = 2;
}
message ParentalSettings {
optional fixed64 steamid = 1;
optional uint32 applist_base_id = 2;
optional string applist_base_description = 3;
repeated .ParentalApp applist_base = 4;
repeated .ParentalApp applist_custom = 5;
optional uint32 passwordhashtype = 6;
optional bytes salt = 7;
optional bytes passwordhash = 8;
optional bool is_enabled = 9;
optional uint32 enabled_features = 10;
optional string recovery_email = 11;
optional bool is_site_license_lock = 12;
optional uint32 temporary_enabled_features = 13;
optional uint32 rtime_temporary_feature_expiration = 14;
optional .ParentalPlaytimeRestrictions playtime_restrictions = 15;
optional .ParentalTemporaryPlaytimeRestrictions temporary_playtime_restrictions = 16;
repeated uint32 excluded_store_content_descriptors = 17;
repeated uint32 excluded_community_content_descriptors = 18;
repeated uint32 utility_appids = 19;
}
message ParentalFeatureRequest {
optional fixed64 requestid = 1;
optional fixed64 family_groupid = 2;
optional fixed64 steamid = 3;
optional uint32 features = 4;
optional uint32 time_requested = 5;
optional bool approved = 6;
optional fixed64 steamid_responder = 7;
optional uint32 time_responded = 8;
}
message ParentalPlaytimeRequest {
optional fixed64 requestid = 1;
optional fixed64 family_groupid = 2;
optional fixed64 steamid = 3;
optional .ParentalPlaytimeDay current_playtime_restrictions = 4;
optional uint32 time_expires = 5;
optional uint32 time_requested = 6;
optional bool approved = 7;
optional fixed64 steamid_responder = 8;
optional uint32 time_responded = 9;
optional .ParentalTemporaryPlaytimeRestrictions restrictions_approved = 10;
}

View File

@@ -0,0 +1,75 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CParties_JoinParty_Request {
optional fixed64 steamid = 1;
optional uint64 beacon_id = 2;
}
message CParties_JoinParty_Response {
optional uint64 beacon_id = 1;
optional string connect_string = 2;
}
message CParties_BeaconLocation {
optional uint32 location_type = 1;
optional uint64 location_id = 2;
}
message CParties_CreateBeacon_Request {
optional uint32 appid = 1;
optional uint32 num_open_slots = 2;
repeated .CParties_BeaconLocation locations = 3;
optional string connect_string = 4;
optional string metadata = 5;
}
message CParties_CreateBeacon_Response {
optional uint64 beacon_id = 1;
}
message CParties_OnReservationCompleted_Request {
optional uint64 beacon_id = 1;
optional fixed64 user_steamid = 2;
}
message CParties_OnReservationCompleted_Response {
optional uint64 beacon_id = 1;
}
message CParties_CancelReservation_Request {
optional uint64 beacon_id = 1;
optional fixed64 user_steamid = 2;
}
message CParties_CancelReservation_Response {
optional uint64 beacon_id = 1;
}
message CParties_ChangeNumOpenSlots_Request {
optional uint64 beacon_id = 1;
optional uint32 num_open_slots = 2;
}
message CParties_ChangeNumOpenSlots_Response {
optional uint64 beacon_id = 1;
}
message CParties_DestroyBeacon_Request {
optional uint64 beacon_id = 1;
}
message CParties_DestroyBeacon_Response {
optional uint64 beacon_id = 1;
}
service Parties {
rpc JoinParty (.CParties_JoinParty_Request) returns (.CParties_JoinParty_Response);
rpc CreateBeacon (.CParties_CreateBeacon_Request) returns (.CParties_CreateBeacon_Response);
rpc OnReservationCompleted (.CParties_OnReservationCompleted_Request) returns (.CParties_OnReservationCompleted_Response);
rpc CancelReservation (.CParties_CancelReservation_Request) returns (.CParties_CancelReservation_Response);
rpc ChangeNumOpenSlots (.CParties_ChangeNumOpenSlots_Request) returns (.CParties_ChangeNumOpenSlots_Response);
rpc DestroyBeacon (.CParties_DestroyBeacon_Request) returns (.CParties_DestroyBeacon_Response);
}

View File

@@ -0,0 +1,106 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CPartnerApps_RequestUploadToken_Request {
optional string filename = 1;
optional uint32 appid = 2;
}
message CPartnerApps_RequestUploadToken_Response {
optional uint64 upload_token = 1;
optional string location = 2;
optional uint64 routing_id = 3;
}
message CPartnerApps_FinishUpload_Request {
optional uint64 upload_token = 1;
optional uint64 routing_id = 2;
optional uint32 app_id = 3;
}
message CPartnerApps_FinishUploadKVSign_Response {
optional string signed_installscript = 1;
}
message CPartnerApps_FinishUploadLegacyDRM_Request {
optional uint64 upload_token = 1;
optional uint64 routing_id = 2;
optional uint32 app_id = 3;
optional uint32 flags = 4;
optional string tool_name = 5;
optional bool use_cloud = 6 [default = false];
}
message CPartnerApps_FinishUploadLegacyDRM_Response {
optional string file_id = 1;
}
message CPartnerApps_FinishUpload_Response {
}
message CPartnerApps_FinishUploadDepot_Request {
optional uint64 upload_token = 1;
optional uint64 routing_id = 2;
optional uint32 app_id = 3;
optional uint32 depot_id = 4;
optional uint32 build_flags = 5;
}
message CPartnerApps_FinishUploadDepot_Response {
optional uint64 build_routing_id = 1;
}
message CPartnerApps_GetDepotBuildResult_Request {
optional uint64 upload_token = 1;
optional uint64 routing_id = 2;
}
message CPartnerApps_GetDepotBuildResult_Response {
optional uint64 manifest_id = 1;
optional string error_msg = 2;
}
message CPartnerApps_FindDRMUploads_Request {
optional int32 app_id = 1;
}
message CPartnerApps_ExistingDRMUpload {
optional string file_id = 1;
optional uint32 app_id = 2;
optional int32 actor_id = 3;
optional string supplied_name = 5;
optional uint32 flags = 6;
optional string mod_type = 7;
optional fixed32 timestamp = 8;
optional string orig_file_id = 9;
}
message CPartnerApps_FindDRMUploads_Response {
repeated .CPartnerApps_ExistingDRMUpload uploads = 1;
}
message CPartnerApps_Download_Request {
optional string file_id = 1;
optional int32 app_id = 2;
}
message CPartnerApps_Download_Response {
optional string download_url = 1;
optional int32 app_id = 2;
}
service PartnerApps {
rpc RequestKVSignUploadToken (.CPartnerApps_RequestUploadToken_Request) returns (.CPartnerApps_RequestUploadToken_Response);
rpc RequestDRMUploadToken (.CPartnerApps_RequestUploadToken_Request) returns (.CPartnerApps_RequestUploadToken_Response);
rpc RequestCEGUploadToken (.CPartnerApps_RequestUploadToken_Request) returns (.CPartnerApps_RequestUploadToken_Response);
rpc RequestDepotUploadToken (.CPartnerApps_RequestUploadToken_Request) returns (.CPartnerApps_RequestUploadToken_Response);
rpc FinishUploadKVSign (.CPartnerApps_FinishUpload_Request) returns (.CPartnerApps_FinishUploadKVSign_Response);
rpc FinishUploadDRMUpload (.CPartnerApps_FinishUploadLegacyDRM_Request) returns (.CPartnerApps_FinishUploadLegacyDRM_Response);
rpc FinishUploadCEGUpload (.CPartnerApps_FinishUpload_Request) returns (.CPartnerApps_FinishUpload_Response);
rpc FinishUploadDepotUpload (.CPartnerApps_FinishUploadDepot_Request) returns (.CPartnerApps_FinishUploadDepot_Response);
rpc GetDepotBuildResult (.CPartnerApps_GetDepotBuildResult_Request) returns (.CPartnerApps_GetDepotBuildResult_Response);
rpc FindDRMUploads (.CPartnerApps_FindDRMUploads_Request) returns (.CPartnerApps_FindDRMUploads_Response);
rpc Download (.CPartnerApps_Download_Request) returns (.CPartnerApps_Download_Response);
}

View File

@@ -0,0 +1,921 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "enums.proto";
option cc_generic_services = true;
enum EProfileCustomizationStyle {
k_EProfileCustomizationStyleDefault = 0;
k_EProfileCustomizationStyleSelected = 1;
k_EProfileCustomizationStyleRarest = 2;
k_EProfileCustomizationStyleMostRecent = 3;
k_EProfileCustomizationStyleRandom = 4;
k_EProfileCustomizationStyleHighestRated = 5;
}
enum EAgreementType {
k_EAgreementType_Invalid = -1;
k_EAgreementType_GlobalSSA = 0;
k_EAgreementType_ChinaSSA = 1;
}
enum ENotificationSetting {
k_ENotificationSettingNotifyUseDefault = 0;
k_ENotificationSettingAlways = 1;
k_ENotificationSettingNever = 2;
}
enum ETextFilterSetting {
k_ETextFilterSettingSteamLabOptedOut = 0;
k_ETextFilterSettingEnabled = 1;
k_ETextFilterSettingEnabledAllowProfanity = 2;
k_ETextFilterSettingDisabled = 3;
}
message CPlayer_GetRecentPlaytimeSessionsForChild_Request {
optional uint64 steamid = 1;
}
message CPlayer_GetRecentPlaytimeSessionsForChild_Response {
message PlaytimeSession {
optional uint32 time_start = 1;
optional uint32 time_end = 2;
optional uint32 appid = 3;
optional uint32 device_type = 4;
optional bool disconnected = 5;
}
repeated .CPlayer_GetRecentPlaytimeSessionsForChild_Response.PlaytimeSession sessions = 1;
}
message CPlayer_GetPlayerLinkDetails_Request {
repeated uint64 steamids = 1;
}
message CPlayer_GetPlayerLinkDetails_Response {
message PlayerLinkDetails {
message AccountPublicData {
required fixed64 steamid = 1;
optional int32 visibility_state = 2;
optional int32 privacy_state = 3;
optional int32 profile_state = 4;
optional uint32 ban_expires_time = 7;
optional uint32 account_flags = 8;
optional bytes sha_digest_avatar = 9;
optional string persona_name = 10;
optional string profile_url = 11;
optional bool content_country_restricted = 12;
}
message AccountPrivateData {
optional int32 persona_state = 1;
optional uint32 persona_state_flags = 2;
optional uint32 time_created = 3;
optional fixed64 game_id = 4;
optional fixed64 game_server_steam_id = 5;
optional uint32 game_server_ip_address = 6;
optional uint32 game_server_port = 7;
optional string game_extra_info = 8;
optional string account_name = 9;
optional fixed64 lobby_steam_id = 10;
optional string rich_presence_kv = 11;
optional fixed64 broadcast_session_id = 12;
optional uint32 watching_broadcast_accountid = 13;
optional uint32 watching_broadcast_appid = 14;
optional uint32 watching_broadcast_viewers = 15;
optional string watching_broadcast_title = 16;
optional uint32 last_logoff_time = 17;
optional uint32 last_seen_online = 18;
optional int32 game_os_type = 19;
optional int32 game_device_type = 20;
optional string game_device_name = 21;
optional bool game_is_private = 22;
}
optional .CPlayer_GetPlayerLinkDetails_Response.PlayerLinkDetails.AccountPublicData public_data = 1;
optional .CPlayer_GetPlayerLinkDetails_Response.PlayerLinkDetails.AccountPrivateData private_data = 2;
}
repeated .CPlayer_GetPlayerLinkDetails_Response.PlayerLinkDetails accounts = 1;
}
message CPlayer_GetMutualFriendsForIncomingInvites_Request {
}
message CPlayer_IncomingInviteMutualFriendList {
optional fixed64 steamid = 1;
repeated uint32 mutual_friend_account_ids = 2;
}
message CPlayer_GetMutualFriendsForIncomingInvites_Response {
repeated .CPlayer_IncomingInviteMutualFriendList incoming_invite_mutual_friends_lists = 1;
}
message CPlayer_GetOwnedGames_Request {
optional uint64 steamid = 1;
optional bool include_appinfo = 2;
optional bool include_played_free_games = 3;
repeated uint32 appids_filter = 4;
optional bool include_free_sub = 5;
optional bool skip_unvetted_apps = 6 [default = true];
optional string language = 7;
optional bool include_extended_appinfo = 8;
}
message CPlayer_GetOwnedGames_Response {
message Game {
optional int32 appid = 1;
optional string name = 2;
optional int32 playtime_2weeks = 3;
optional int32 playtime_forever = 4;
optional string img_icon_url = 5;
optional bool has_community_visible_stats = 7;
optional int32 playtime_windows_forever = 8;
optional int32 playtime_mac_forever = 9;
optional int32 playtime_linux_forever = 10;
optional int32 playtime_deck_forever = 20;
optional uint32 rtime_last_played = 11;
optional string capsule_filename = 12;
optional string sort_as = 13;
optional bool has_workshop = 14;
optional bool has_market = 15;
optional bool has_dlc = 16;
optional bool has_leaderboards = 17;
repeated uint32 content_descriptorids = 18;
optional int32 playtime_disconnected = 19;
}
optional uint32 game_count = 1;
repeated .CPlayer_GetOwnedGames_Response.Game games = 2;
}
message CPlayer_GetPlayNext_Request {
optional uint32 max_age_seconds = 1;
repeated uint32 ignore_appids = 2;
}
message CPlayer_GetPlayNext_Response {
optional uint32 last_update_time = 1;
repeated uint32 appids = 2;
}
message CPlayer_GetFriendsGameplayInfo_Request {
optional uint32 appid = 1;
}
message CPlayer_GetFriendsGameplayInfo_Response {
message FriendsGameplayInfo {
optional fixed64 steamid = 1;
optional uint32 minutes_played = 2;
optional uint32 minutes_played_forever = 3;
}
message OwnGameplayInfo {
optional fixed64 steamid = 1;
optional uint32 minutes_played = 2;
optional uint32 minutes_played_forever = 3;
optional bool in_wishlist = 4;
optional bool owned = 5;
}
optional .CPlayer_GetFriendsGameplayInfo_Response.OwnGameplayInfo your_info = 1;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo in_game = 2;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo played_recently = 3;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo played_ever = 4;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo owns = 5;
repeated .CPlayer_GetFriendsGameplayInfo_Response.FriendsGameplayInfo in_wishlist = 6;
}
message CPlayer_GetGameBadgeLevels_Request {
optional uint32 appid = 1;
}
message CPlayer_GetGameBadgeLevels_Response {
message Badge {
optional int32 level = 1;
optional int32 series = 2;
optional uint32 border_color = 3;
}
optional uint32 player_level = 1;
repeated .CPlayer_GetGameBadgeLevels_Response.Badge badges = 2;
}
message CPlayer_GetProfileBackground_Request {
optional fixed64 steamid = 1;
optional string language = 2;
}
message ProfileItem {
message ProfileColor {
optional string style_name = 1;
optional string color = 2;
}
optional uint64 communityitemid = 1;
optional string image_small = 2;
optional string image_large = 3;
optional string name = 4;
optional string item_title = 5;
optional string item_description = 6;
optional uint32 appid = 7;
optional uint32 item_type = 8;
optional uint32 item_class = 9;
optional string movie_webm = 10;
optional string movie_mp4 = 11;
optional string movie_webm_small = 13;
optional string movie_mp4_small = 14;
optional uint32 equipped_flags = 12;
repeated .ProfileItem.ProfileColor profile_colors = 15;
}
message CPlayer_GetProfileBackground_Response {
optional .ProfileItem profile_background = 1;
}
message CPlayer_SetProfileBackground_Request {
optional uint64 communityitemid = 1;
}
message CPlayer_SetProfileBackground_Response {
}
message CPlayer_GetMiniProfileBackground_Request {
optional fixed64 steamid = 1;
optional string language = 2;
}
message CPlayer_GetMiniProfileBackground_Response {
optional .ProfileItem profile_background = 1;
}
message CPlayer_SetMiniProfileBackground_Request {
optional uint64 communityitemid = 1;
}
message CPlayer_SetMiniProfileBackground_Response {
}
message CPlayer_GetAvatarFrame_Request {
optional fixed64 steamid = 1;
optional string language = 2;
}
message CPlayer_GetAvatarFrame_Response {
optional .ProfileItem avatar_frame = 1;
}
message CPlayer_SetAvatarFrame_Request {
optional uint64 communityitemid = 1;
}
message CPlayer_SetAvatarFrame_Response {
}
message CPlayer_GetAnimatedAvatar_Request {
optional fixed64 steamid = 1;
optional string language = 2;
}
message CPlayer_GetAnimatedAvatar_Response {
optional .ProfileItem avatar = 1;
}
message CPlayer_SetAnimatedAvatar_Request {
optional uint64 communityitemid = 1;
}
message CPlayer_SetAnimatedAvatar_Response {
}
message CPlayer_GetSteamDeckKeyboardSkin_Request {
optional fixed64 steamid = 1;
optional string language = 2;
}
message CPlayer_GetSteamDeckKeyboardSkin_Response {
optional .ProfileItem steam_deck_keyboard_skin = 1;
}
message CPlayer_SetSteamDeckKeyboardSkin_Request {
optional uint64 communityitemid = 1;
}
message CPlayer_SetSteamDeckKeyboardSkin_Response {
}
message CPlayer_GetProfileItemsOwned_Request {
optional string language = 1;
repeated .ECommunityItemClass filters = 2;
}
message CPlayer_GetProfileItemsOwned_Response {
repeated .ProfileItem profile_backgrounds = 1;
repeated .ProfileItem mini_profile_backgrounds = 2;
repeated .ProfileItem avatar_frames = 3;
repeated .ProfileItem animated_avatars = 4;
repeated .ProfileItem profile_modifiers = 5;
repeated .ProfileItem steam_deck_keyboard_skins = 6;
repeated .ProfileItem steam_deck_startup_movies = 7;
}
message CPlayer_GetProfileItemsEquipped_Request {
optional fixed64 steamid = 1;
optional string language = 2;
}
message CPlayer_GetProfileItemsEquipped_Response {
optional .ProfileItem profile_background = 1;
optional .ProfileItem mini_profile_background = 2;
optional .ProfileItem avatar_frame = 3;
optional .ProfileItem animated_avatar = 4;
optional .ProfileItem profile_modifier = 5;
optional .ProfileItem steam_deck_keyboard_skin = 6;
}
message CPlayer_SetEquippedProfileItemFlags_Request {
optional uint64 communityitemid = 1;
optional uint32 flags = 2;
}
message CPlayer_SetEquippedProfileItemFlags_Response {
}
message CPlayer_GetEmoticonList_Request {
}
message CPlayer_GetEmoticonList_Response {
message Emoticon {
optional string name = 1;
optional int32 count = 2;
optional uint32 time_last_used = 3;
optional uint32 use_count = 4;
optional uint32 time_received = 5;
optional uint32 appid = 6;
}
repeated .CPlayer_GetEmoticonList_Response.Emoticon emoticons = 1;
}
message CPlayer_GetCommunityBadgeProgress_Request {
optional uint64 steamid = 1;
optional int32 badgeid = 2;
}
message CPlayer_GetCommunityBadgeProgress_Response {
message Quest {
optional uint32 questid = 1;
optional bool completed = 2;
}
repeated .CPlayer_GetCommunityBadgeProgress_Response.Quest quests = 1;
}
message CPlayer_GetTopAchievementsForGames_Request {
optional uint64 steamid = 1;
optional string language = 2;
optional uint32 max_achievements = 3;
repeated uint32 appids = 4;
}
message CPlayer_GetTopAchievementsForGames_Response {
message Achievement {
optional uint32 statid = 1;
optional uint32 bit = 2;
optional string name = 3;
optional string desc = 4;
optional string icon = 5;
optional string icon_gray = 6;
optional bool hidden = 7;
optional string player_percent_unlocked = 8;
}
message Game {
optional uint32 appid = 1;
optional uint32 total_achievements = 2;
repeated .CPlayer_GetTopAchievementsForGames_Response.Achievement achievements = 3;
}
repeated .CPlayer_GetTopAchievementsForGames_Response.Game games = 1;
}
message CPlayer_GetAchievementsProgress_Request {
optional uint64 steamid = 1;
optional string language = 2;
repeated uint32 appids = 3;
optional bool include_unvetted_apps = 4;
}
message CPlayer_GetAchievementsProgress_Response {
message AchievementProgress {
optional uint32 appid = 1;
optional uint32 unlocked = 2;
optional uint32 total = 3;
optional float percentage = 4;
optional bool all_unlocked = 5;
optional uint32 cache_time = 6;
optional bool vetted = 7;
}
repeated .CPlayer_GetAchievementsProgress_Response.AchievementProgress achievement_progress = 1;
}
message CPlayer_GetGameAchievements_Request {
optional uint32 appid = 1;
optional string language = 2;
}
message CPlayer_GetGameAchievements_Response {
message Achievement {
optional string internal_name = 1;
optional string localized_name = 2;
optional string localized_desc = 3;
optional string icon = 4;
optional string icon_gray = 5;
optional bool hidden = 6;
optional string player_percent_unlocked = 7;
}
repeated .CPlayer_GetGameAchievements_Response.Achievement achievements = 1;
}
message CPlayer_GetFavoriteBadge_Request {
optional uint64 steamid = 1;
}
message CPlayer_GetFavoriteBadge_Response {
optional bool has_favorite_badge = 1;
optional uint32 badgeid = 2;
optional uint64 communityitemid = 3;
optional uint32 item_type = 4;
optional uint32 border_color = 5;
optional uint32 appid = 6;
optional uint32 level = 7;
}
message CPlayer_SetFavoriteBadge_Request {
optional uint64 communityitemid = 1;
optional uint32 badgeid = 2;
}
message CPlayer_SetFavoriteBadge_Response {
}
message CPlayer_GetProfileCustomization_Request {
optional fixed64 steamid = 1;
optional bool include_inactive_customizations = 2;
optional bool include_purchased_customizations = 3;
}
message ProfileCustomizationSlot {
optional uint32 slot = 1;
optional uint32 appid = 2;
optional uint64 publishedfileid = 3;
optional uint64 item_assetid = 4;
optional uint64 item_contextid = 5;
optional string notes = 6;
optional string title = 7;
optional uint32 accountid = 8;
optional uint32 badgeid = 9;
optional uint32 border_color = 10;
optional uint64 item_classid = 11;
optional uint64 item_instanceid = 12;
optional .EBanContentCheckResult ban_check_result = 13 [default = k_EBanContentCheckResult_NotScanned];
optional uint32 replay_year = 14;
}
message ProfileCustomization {
optional .EProfileCustomizationType customization_type = 1 [default = k_EProfileCustomizationTypeInvalid];
optional bool large = 2;
repeated .ProfileCustomizationSlot slots = 3;
optional bool active = 4;
optional .EProfileCustomizationStyle customization_style = 5 [default = k_EProfileCustomizationStyleDefault];
optional uint64 purchaseid = 6;
optional uint32 level = 7;
}
message ProfileTheme {
optional string theme_id = 1;
optional string title = 2;
}
message ProfilePreferences {
optional bool hide_profile_awards = 1;
}
message CPlayer_GetProfileCustomization_Response {
message PurchasedCustomization {
optional uint64 purchaseid = 1;
optional .EProfileCustomizationType customization_type = 2 [default = k_EProfileCustomizationTypeInvalid];
optional uint32 level = 3;
}
repeated .ProfileCustomization customizations = 1;
optional uint32 slots_available = 2;
optional .ProfileTheme profile_theme = 3;
repeated .CPlayer_GetProfileCustomization_Response.PurchasedCustomization purchased_customizations = 4;
optional .ProfilePreferences profile_preferences = 5;
}
message CPlayer_GetPurchasedProfileCustomizations_Request {
optional fixed64 steamid = 1;
}
message CPlayer_GetPurchasedProfileCustomizations_Response {
message PurchasedCustomization {
optional uint64 purchaseid = 1;
optional .EProfileCustomizationType customization_type = 2 [default = k_EProfileCustomizationTypeInvalid];
}
repeated .CPlayer_GetPurchasedProfileCustomizations_Response.PurchasedCustomization purchased_customizations = 1;
}
message CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Request {
optional fixed64 steamid = 1;
}
message CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response {
message PurchasedCustomization {
optional .EProfileCustomizationType customization_type = 1 [default = k_EProfileCustomizationTypeInvalid];
optional uint32 count = 2;
}
message UpgradedCustomization {
optional .EProfileCustomizationType customization_type = 1 [default = k_EProfileCustomizationTypeInvalid];
optional uint32 level = 2;
}
repeated .CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response.PurchasedCustomization purchased_customizations = 1;
repeated .CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response.UpgradedCustomization upgraded_customizations = 2;
}
message CPlayer_GetProfileThemesAvailable_Request {
}
message CPlayer_GetProfileThemesAvailable_Response {
repeated .ProfileTheme profile_themes = 1;
}
message CPlayer_SetProfileTheme_Request {
optional string theme_id = 1;
}
message CPlayer_SetProfileTheme_Response {
}
message CPlayer_SetProfilePreferences_Request {
optional .ProfilePreferences profile_preferences = 1;
}
message CPlayer_SetProfilePreferences_Response {
}
message CPlayer_PostStatusToFriends_Request {
optional uint32 appid = 1;
optional string status_text = 2;
}
message CPlayer_PostStatusToFriends_Response {
}
message CPlayer_GetPostedStatus_Request {
optional uint64 steamid = 1;
optional uint64 postid = 2;
}
message CPlayer_GetPostedStatus_Response {
optional uint32 accountid = 1;
optional uint64 postid = 2;
optional string status_text = 3;
optional bool deleted = 4;
optional uint32 appid = 5;
}
message CPlayer_DeletePostedStatus_Request {
optional uint64 postid = 1;
}
message CPlayer_DeletePostedStatus_Response {
}
message CPlayer_GetLastPlayedTimes_Request {
optional uint32 min_last_played = 1;
}
message CPlayer_GetLastPlayedTimes_Response {
message Game {
optional int32 appid = 1;
optional uint32 last_playtime = 2;
optional int32 playtime_2weeks = 3;
optional int32 playtime_forever = 4;
optional uint32 first_playtime = 5;
optional int32 playtime_windows_forever = 6;
optional int32 playtime_mac_forever = 7;
optional int32 playtime_linux_forever = 8;
optional int32 playtime_deck_forever = 16;
optional uint32 first_windows_playtime = 9;
optional uint32 first_mac_playtime = 10;
optional uint32 first_linux_playtime = 11;
optional uint32 first_deck_playtime = 17;
optional uint32 last_windows_playtime = 12;
optional uint32 last_mac_playtime = 13;
optional uint32 last_linux_playtime = 14;
optional uint32 last_deck_playtime = 18;
optional uint32 playtime_disconnected = 15;
}
repeated .CPlayer_GetLastPlayedTimes_Response.Game games = 1;
}
message CPlayer_GetTimeSSAAccepted_Request {
}
message CPlayer_GetTimeSSAAccepted_Response {
optional uint32 time_ssa_accepted = 1;
optional uint32 time_ssa_updated = 2;
optional uint32 time_chinassa_accepted = 3;
}
message CPlayer_AcceptSSA_Request {
optional .EAgreementType agreement_type = 1 [default = k_EAgreementType_Invalid];
optional uint32 time_signed_utc = 2;
}
message CPlayer_AcceptSSA_Response {
}
message CPlayer_GetNicknameList_Request {
}
message CPlayer_GetNicknameList_Response {
message PlayerNickname {
optional fixed32 accountid = 1;
optional string nickname = 2;
}
repeated .CPlayer_GetNicknameList_Response.PlayerNickname nicknames = 1;
}
message CPlayer_GetPerFriendPreferences_Request {
}
message PerFriendPreferences {
optional fixed32 accountid = 1;
optional string nickname = 2;
optional .ENotificationSetting notifications_showingame = 3 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting notifications_showonline = 4 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting notifications_showmessages = 5 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting sounds_showingame = 6 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting sounds_showonline = 7 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting sounds_showmessages = 8 [default = k_ENotificationSettingNotifyUseDefault];
optional .ENotificationSetting notifications_sendmobile = 9 [default = k_ENotificationSettingNotifyUseDefault];
}
message CPlayer_GetPerFriendPreferences_Response {
repeated .PerFriendPreferences preferences = 1;
}
message CPlayer_SetPerFriendPreferences_Request {
optional .PerFriendPreferences preferences = 1;
}
message CPlayer_SetPerFriendPreferences_Response {
}
message CPlayer_AddFriend_Request {
optional fixed64 steamid = 1;
}
message CPlayer_AddFriend_Response {
optional bool invite_sent = 1;
optional uint32 friend_relationship = 2;
optional int32 result = 3;
}
message CPlayer_RemoveFriend_Request {
optional fixed64 steamid = 1;
}
message CPlayer_RemoveFriend_Response {
optional uint32 friend_relationship = 1;
}
message CPlayer_IgnoreFriend_Request {
optional fixed64 steamid = 1;
optional bool unignore = 2;
}
message CPlayer_IgnoreFriend_Response {
optional uint32 friend_relationship = 1;
}
message CPlayer_GetCommunityPreferences_Request {
}
message CPlayer_CommunityPreferences {
optional bool parenthesize_nicknames = 4 [default = false];
optional .ETextFilterSetting text_filter_setting = 5 [default = k_ETextFilterSettingSteamLabOptedOut];
optional bool text_filter_ignore_friends = 6 [default = true];
optional uint32 text_filter_words_revision = 7;
optional uint32 timestamp_updated = 3;
}
message CPlayer_GetCommunityPreferences_Response {
optional .CPlayer_CommunityPreferences preferences = 1;
optional .UserContentDescriptorPreferences content_descriptor_preferences = 2;
}
message CPlayer_SetCommunityPreferences_Request {
optional .CPlayer_CommunityPreferences preferences = 1;
}
message CPlayer_SetCommunityPreferences_Response {
}
message CPlayer_GetTextFilterWords_Request {
}
message CPlayer_TextFilterWords {
repeated string text_filter_custom_banned_words = 1;
repeated string text_filter_custom_clean_words = 2;
optional uint32 text_filter_words_revision = 3;
}
message CPlayer_GetTextFilterWords_Response {
optional .CPlayer_TextFilterWords words = 1;
}
message CPlayer_GetNewSteamAnnouncementState_Request {
optional int32 language = 1;
}
message CPlayer_GetNewSteamAnnouncementState_Response {
optional .ENewSteamAnnouncementState state = 1 [default = k_ENewSteamAnnouncementState_Invalid];
optional string announcement_headline = 2;
optional string announcement_url = 3;
optional uint32 time_posted = 4;
optional uint64 announcement_gid = 5;
}
message CPlayer_UpdateSteamAnnouncementLastRead_Request {
optional uint64 announcement_gid = 1;
optional uint32 time_posted = 2;
}
message CPlayer_UpdateSteamAnnouncementLastRead_Response {
}
message CPlayer_GetPrivacySettings_Request {
}
message CPrivacySettings {
optional int32 privacy_state = 1;
optional int32 privacy_state_inventory = 2;
optional int32 privacy_state_gifts = 3;
optional int32 privacy_state_ownedgames = 4;
optional int32 privacy_state_playtime = 5;
optional int32 privacy_state_friendslist = 6;
}
message CPlayer_GetPrivacySettings_Response {
optional .CPrivacySettings privacy_settings = 1;
}
message CPlayer_GetDurationControl_Request {
optional uint32 appid = 1;
}
message CPlayer_GetDurationControl_Response {
optional bool is_enabled = 1;
optional int32 seconds = 2;
optional int32 seconds_today = 3;
optional bool is_steamchina_account = 4;
optional bool is_age_verified = 5;
optional uint32 seconds_allowed_today = 6;
optional bool age_verification_pending = 7;
optional bool block_minors = 8;
}
message CPlayer_RecordDisconnectedPlaytime_Request {
message PlayHistory {
optional uint32 appid = 1;
optional uint32 session_time_start = 2;
optional uint32 seconds = 3;
optional bool offline = 4;
optional uint32 owner = 5;
}
repeated .CPlayer_RecordDisconnectedPlaytime_Request.PlayHistory play_sessions = 3;
}
message CPlayer_RecordDisconnectedPlaytime_Response {
}
message CPlayer_LastPlayedTimes_Notification {
repeated .CPlayer_GetLastPlayedTimes_Response.Game games = 1;
}
message CPlayer_FriendNicknameChanged_Notification {
optional fixed32 accountid = 1;
optional string nickname = 2;
optional bool is_echo_to_self = 3;
}
message CPlayer_FriendEquippedProfileItemsChanged_Notification {
optional fixed32 accountid = 1;
}
message CPlayer_NewSteamAnnouncementState_Notification {
optional .ENewSteamAnnouncementState state = 1 [default = k_ENewSteamAnnouncementState_Invalid];
optional string announcement_headline = 2;
optional string announcement_url = 3;
optional uint32 time_posted = 4;
optional uint64 announcement_gid = 5;
}
message CPlayer_CommunityPreferencesChanged_Notification {
optional .CPlayer_CommunityPreferences preferences = 1;
optional .UserContentDescriptorPreferences content_descriptor_preferences = 2;
}
message CPlayer_TextFilterWordsChanged_Notification {
optional .CPlayer_TextFilterWords words = 1;
}
message CPlayer_PerFriendPreferencesChanged_Notification {
optional fixed32 accountid = 1;
optional .PerFriendPreferences preferences = 2;
}
message CPlayer_PrivacySettingsChanged_Notification {
optional .CPrivacySettings privacy_settings = 1;
}
service Player {
rpc GetRecentPlaytimeSessionsForChild (.CPlayer_GetRecentPlaytimeSessionsForChild_Request) returns (.CPlayer_GetRecentPlaytimeSessionsForChild_Response);
rpc GetPlayerLinkDetails (.CPlayer_GetPlayerLinkDetails_Request) returns (.CPlayer_GetPlayerLinkDetails_Response);
rpc GetMutualFriendsForIncomingInvites (.CPlayer_GetMutualFriendsForIncomingInvites_Request) returns (.CPlayer_GetMutualFriendsForIncomingInvites_Response);
rpc GetOwnedGames (.CPlayer_GetOwnedGames_Request) returns (.CPlayer_GetOwnedGames_Response);
rpc GetPlayNext (.CPlayer_GetPlayNext_Request) returns (.CPlayer_GetPlayNext_Response);
rpc GetFriendsGameplayInfo (.CPlayer_GetFriendsGameplayInfo_Request) returns (.CPlayer_GetFriendsGameplayInfo_Response);
rpc GetGameBadgeLevels (.CPlayer_GetGameBadgeLevels_Request) returns (.CPlayer_GetGameBadgeLevels_Response);
rpc GetProfileBackground (.CPlayer_GetProfileBackground_Request) returns (.CPlayer_GetProfileBackground_Response);
rpc SetProfileBackground (.CPlayer_SetProfileBackground_Request) returns (.CPlayer_SetProfileBackground_Response);
rpc GetMiniProfileBackground (.CPlayer_GetMiniProfileBackground_Request) returns (.CPlayer_GetMiniProfileBackground_Response);
rpc SetMiniProfileBackground (.CPlayer_SetMiniProfileBackground_Request) returns (.CPlayer_SetMiniProfileBackground_Response);
rpc GetAvatarFrame (.CPlayer_GetAvatarFrame_Request) returns (.CPlayer_GetAvatarFrame_Response);
rpc SetAvatarFrame (.CPlayer_SetAvatarFrame_Request) returns (.CPlayer_SetAvatarFrame_Response);
rpc GetAnimatedAvatar (.CPlayer_GetAnimatedAvatar_Request) returns (.CPlayer_GetAnimatedAvatar_Response);
rpc SetAnimatedAvatar (.CPlayer_SetAnimatedAvatar_Request) returns (.CPlayer_SetAnimatedAvatar_Response);
rpc GetSteamDeckKeyboardSkin (.CPlayer_GetSteamDeckKeyboardSkin_Request) returns (.CPlayer_GetSteamDeckKeyboardSkin_Response);
rpc SetSteamDeckKeyboardSkin (.CPlayer_SetSteamDeckKeyboardSkin_Request) returns (.CPlayer_SetSteamDeckKeyboardSkin_Response);
rpc GetProfileItemsOwned (.CPlayer_GetProfileItemsOwned_Request) returns (.CPlayer_GetProfileItemsOwned_Response);
rpc GetProfileItemsEquipped (.CPlayer_GetProfileItemsEquipped_Request) returns (.CPlayer_GetProfileItemsEquipped_Response);
rpc SetEquippedProfileItemFlags (.CPlayer_SetEquippedProfileItemFlags_Request) returns (.CPlayer_SetEquippedProfileItemFlags_Response);
rpc GetEmoticonList (.CPlayer_GetEmoticonList_Request) returns (.CPlayer_GetEmoticonList_Response);
rpc GetCommunityBadgeProgress (.CPlayer_GetCommunityBadgeProgress_Request) returns (.CPlayer_GetCommunityBadgeProgress_Response);
rpc GetTopAchievementsForGames (.CPlayer_GetTopAchievementsForGames_Request) returns (.CPlayer_GetTopAchievementsForGames_Response);
rpc GetAchievementsProgress (.CPlayer_GetAchievementsProgress_Request) returns (.CPlayer_GetAchievementsProgress_Response);
rpc GetGameAchievements (.CPlayer_GetGameAchievements_Request) returns (.CPlayer_GetGameAchievements_Response);
rpc GetFavoriteBadge (.CPlayer_GetFavoriteBadge_Request) returns (.CPlayer_GetFavoriteBadge_Response);
rpc SetFavoriteBadge (.CPlayer_SetFavoriteBadge_Request) returns (.CPlayer_SetFavoriteBadge_Response);
rpc GetProfileCustomization (.CPlayer_GetProfileCustomization_Request) returns (.CPlayer_GetProfileCustomization_Response);
rpc GetPurchasedProfileCustomizations (.CPlayer_GetPurchasedProfileCustomizations_Request) returns (.CPlayer_GetPurchasedProfileCustomizations_Response);
rpc GetPurchasedAndUpgradedProfileCustomizations (.CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Request) returns (.CPlayer_GetPurchasedAndUpgradedProfileCustomizations_Response);
rpc GetProfileThemesAvailable (.CPlayer_GetProfileThemesAvailable_Request) returns (.CPlayer_GetProfileThemesAvailable_Response);
rpc SetProfileTheme (.CPlayer_SetProfileTheme_Request) returns (.CPlayer_SetProfileTheme_Response);
rpc SetProfilePreferences (.CPlayer_SetProfilePreferences_Request) returns (.CPlayer_SetProfilePreferences_Response);
rpc PostStatusToFriends (.CPlayer_PostStatusToFriends_Request) returns (.CPlayer_PostStatusToFriends_Response);
rpc GetPostedStatus (.CPlayer_GetPostedStatus_Request) returns (.CPlayer_GetPostedStatus_Response);
rpc DeletePostedStatus (.CPlayer_DeletePostedStatus_Request) returns (.CPlayer_DeletePostedStatus_Response);
rpc ClientGetLastPlayedTimes (.CPlayer_GetLastPlayedTimes_Request) returns (.CPlayer_GetLastPlayedTimes_Response);
rpc GetTimeSSAAccepted (.CPlayer_GetTimeSSAAccepted_Request) returns (.CPlayer_GetTimeSSAAccepted_Response);
rpc AcceptSSA (.CPlayer_AcceptSSA_Request) returns (.CPlayer_AcceptSSA_Response);
rpc GetNicknameList (.CPlayer_GetNicknameList_Request) returns (.CPlayer_GetNicknameList_Response);
rpc GetPerFriendPreferences (.CPlayer_GetPerFriendPreferences_Request) returns (.CPlayer_GetPerFriendPreferences_Response);
rpc SetPerFriendPreferences (.CPlayer_SetPerFriendPreferences_Request) returns (.CPlayer_SetPerFriendPreferences_Response);
rpc AddFriend (.CPlayer_AddFriend_Request) returns (.CPlayer_AddFriend_Response);
rpc RemoveFriend (.CPlayer_RemoveFriend_Request) returns (.CPlayer_RemoveFriend_Response);
rpc IgnoreFriend (.CPlayer_IgnoreFriend_Request) returns (.CPlayer_IgnoreFriend_Response);
rpc GetCommunityPreferences (.CPlayer_GetCommunityPreferences_Request) returns (.CPlayer_GetCommunityPreferences_Response);
rpc SetCommunityPreferences (.CPlayer_SetCommunityPreferences_Request) returns (.CPlayer_SetCommunityPreferences_Response);
rpc GetTextFilterWords (.CPlayer_GetTextFilterWords_Request) returns (.CPlayer_GetTextFilterWords_Response);
rpc GetNewSteamAnnouncementState (.CPlayer_GetNewSteamAnnouncementState_Request) returns (.CPlayer_GetNewSteamAnnouncementState_Response);
rpc UpdateSteamAnnouncementLastRead (.CPlayer_UpdateSteamAnnouncementLastRead_Request) returns (.CPlayer_UpdateSteamAnnouncementLastRead_Response);
rpc GetPrivacySettings (.CPlayer_GetPrivacySettings_Request) returns (.CPlayer_GetPrivacySettings_Response);
rpc GetDurationControl (.CPlayer_GetDurationControl_Request) returns (.CPlayer_GetDurationControl_Response);
rpc RecordDisconnectedPlaytime (.CPlayer_RecordDisconnectedPlaytime_Request) returns (.CPlayer_RecordDisconnectedPlaytime_Response);
}
service PlayerClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyLastPlayedTimes (.CPlayer_LastPlayedTimes_Notification) returns (.NoResponse);
rpc NotifyFriendNicknameChanged (.CPlayer_FriendNicknameChanged_Notification) returns (.NoResponse);
rpc NotifyFriendEquippedProfileItemsChanged (.CPlayer_FriendEquippedProfileItemsChanged_Notification) returns (.NoResponse);
rpc NotifyNewSteamAnnouncementState (.CPlayer_NewSteamAnnouncementState_Notification) returns (.NoResponse);
rpc NotifyCommunityPreferencesChanged (.CPlayer_CommunityPreferencesChanged_Notification) returns (.NoResponse);
rpc NotifyTextFilterWordsChanged (.CPlayer_TextFilterWordsChanged_Notification) returns (.NoResponse);
rpc NotifyPerFriendPreferencesChanged (.CPlayer_PerFriendPreferencesChanged_Notification) returns (.NoResponse);
rpc NotifyPrivacyPrivacySettingsChanged (.CPlayer_PrivacySettingsChanged_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,761 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "enums_productinfo.proto";
option cc_generic_services = true;
enum EPublishedFileRevision {
k_EPublishedFileRevision_Default = 0;
k_EPublishedFileRevision_Latest = 1;
k_EPublishedFileRevision_ApprovedSnapshot = 2;
k_EPublishedFileRevision_ApprovedSnapshot_China = 3;
k_EPublishedFileRevision_RejectedSnapshot = 4;
k_EPublishedFileRevision_RejectedSnapshot_China = 5;
k_EPublishedFileRevision_AuthorSnapshot = 6;
}
enum EPublishedFileForSaleStatus {
k_PFFSS_NotForSale = 0;
k_PFFSS_PendingApproval = 1;
k_PFFSS_ApprovedForSale = 2;
k_PFFSS_RejectedForSale = 3;
k_PFFSS_NoLongerForSale = 4;
k_PFFSS_TentativeApproval = 5;
}
message CPublishedFile_Vote_Request {
optional uint64 publishedfileid = 1;
optional bool vote_up = 2;
}
message CPublishedFile_Vote_Response {
}
message CPublishedFile_Subscribe_Request {
optional uint64 publishedfileid = 1;
optional uint32 list_type = 2;
optional int32 appid = 3;
optional bool notify_client = 4;
optional bool include_dependencies = 5;
}
message CPublishedFile_Subscribe_Response {
}
message CPublishedFile_Unsubscribe_Request {
optional uint64 publishedfileid = 1;
optional uint32 list_type = 2;
optional int32 appid = 3;
optional bool notify_client = 4;
}
message CPublishedFile_Unsubscribe_Response {
}
message CPublishedFile_CanSubscribe_Request {
optional uint64 publishedfileid = 1;
}
message CPublishedFile_CanSubscribe_Response {
optional bool can_subscribe = 1;
}
message CPublishedFile_GetSubSectionData_Request {
optional uint64 publishedfileid = 1;
optional bool for_table_of_contents = 2;
optional uint64 specific_sectionid = 3;
optional .EPublishedFileRevision desired_revision = 4 [default = k_EPublishedFileRevision_Default];
}
message PublishedFileSubSection {
optional uint64 sectionid = 1;
optional string title = 2;
optional string description_text = 3;
optional uint32 sort_order = 4;
}
message CPublishedFile_GetSubSectionData_Response {
repeated .PublishedFileSubSection sub_sections = 1;
}
message CPublishedFile_Publish_Request {
optional uint32 appid = 1;
optional uint32 consumer_appid = 2;
optional string cloudfilename = 3;
optional string preview_cloudfilename = 4;
optional string title = 5;
optional string file_description = 6;
optional uint32 file_type = 7;
optional string consumer_shortcut_name = 8;
optional string youtube_username = 9;
optional string youtube_videoid = 10;
optional uint32 visibility = 11;
optional string redirect_uri = 12;
repeated string tags = 13;
optional string collection_type = 14;
optional string game_type = 15;
optional string url = 16;
}
message CPublishedFile_Publish_Response {
optional uint64 publishedfileid = 1;
optional string redirect_uri = 2;
}
message CPublishedFile_GetDetails_Request {
repeated fixed64 publishedfileids = 1;
optional bool includetags = 2;
optional bool includeadditionalpreviews = 3;
optional bool includechildren = 4;
optional bool includekvtags = 5;
optional bool includevotes = 6;
optional bool short_description = 8;
optional bool includeforsaledata = 10;
optional bool includemetadata = 11;
optional int32 language = 12 [default = 0];
optional uint32 return_playtime_stats = 13;
optional uint32 appid = 14;
optional bool strip_description_bbcode = 15;
optional .EPublishedFileRevision desired_revision = 16 [default = k_EPublishedFileRevision_Default];
optional bool includereactions = 17 [default = false];
optional bool admin_query = 18;
}
message PublishedFileAuthorSnapshot {
optional uint32 timestamp = 1;
optional string game_branch_min = 2;
optional string game_branch_max = 3;
optional fixed64 manifestid = 4;
}
message PublishedFileDetails {
message Tag {
optional string tag = 1;
optional bool adminonly = 2;
optional string display_name = 3;
}
message Preview {
optional uint64 previewid = 1;
optional uint32 sortorder = 2;
optional string url = 3;
optional uint32 size = 4;
optional string filename = 5;
optional string youtubevideoid = 6;
optional uint32 preview_type = 7;
optional string external_reference = 8;
}
message Child {
optional uint64 publishedfileid = 1;
optional uint32 sortorder = 2;
optional uint32 file_type = 3;
}
message KVTag {
optional string key = 1;
optional string value = 2;
}
message VoteData {
optional float score = 1;
optional uint32 votes_up = 2;
optional uint32 votes_down = 3;
}
message ForSaleData {
optional bool is_for_sale = 1;
optional uint32 price_category = 2;
optional .EPublishedFileForSaleStatus estatus = 3 [default = k_PFFSS_NotForSale];
optional uint32 price_category_floor = 4;
optional bool price_is_pay_what_you_want = 5;
optional uint32 discount_percentage = 6;
}
message PlaytimeStats {
optional uint64 playtime_seconds = 1;
optional uint64 num_sessions = 2;
}
message Reaction {
optional uint32 reactionid = 1;
optional uint32 count = 2;
}
optional uint32 result = 1;
optional uint64 publishedfileid = 2;
optional fixed64 creator = 3;
optional uint32 creator_appid = 4;
optional uint32 consumer_appid = 5;
optional uint32 consumer_shortcutid = 6;
optional string filename = 7;
optional uint64 file_size = 8;
optional uint64 preview_file_size = 9;
optional string file_url = 10;
optional string preview_url = 11;
optional string youtubevideoid = 12;
optional string url = 13;
optional fixed64 hcontent_file = 14;
optional fixed64 hcontent_preview = 15;
optional string title = 16;
optional string file_description = 17;
optional string short_description = 18;
optional uint32 time_created = 19;
optional uint32 time_updated = 20;
optional uint32 visibility = 21;
optional uint32 flags = 22;
optional bool workshop_file = 23;
optional bool workshop_accepted = 24;
optional bool show_subscribe_all = 25;
optional int32 num_comments_developer = 26;
optional int32 num_comments_public = 27;
optional bool banned = 28;
optional string ban_reason = 29;
optional fixed64 banner = 30;
optional bool can_be_deleted = 31;
optional bool incompatible = 32;
optional string app_name = 33;
optional uint32 file_type = 34;
optional bool can_subscribe = 35;
optional uint32 subscriptions = 36;
optional uint32 favorited = 37;
optional uint32 followers = 38;
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;
optional string image_url = 45;
optional bool spoiler_tag = 46;
optional uint32 shortcutid = 47;
optional string shortcutname = 48;
optional uint32 num_children = 49;
optional uint32 num_reports = 50;
repeated .PublishedFileDetails.Preview previews = 51;
repeated .PublishedFileDetails.Tag tags = 52;
repeated .PublishedFileDetails.Child children = 53;
repeated .PublishedFileDetails.KVTag kvtags = 54;
optional .PublishedFileDetails.VoteData vote_data = 55;
optional .PublishedFileDetails.PlaytimeStats playtime_stats = 64;
optional uint32 time_subscribed = 56;
optional .PublishedFileDetails.ForSaleData for_sale_data = 57;
optional string metadata = 58;
optional int32 language = 61 [default = 0];
optional bool maybe_inappropriate_sex = 65;
optional bool maybe_inappropriate_violence = 66;
repeated .EContentDescriptorID content_descriptorids = 72;
optional uint64 revision_change_number = 67;
optional .EPublishedFileRevision revision = 68 [default = k_EPublishedFileRevision_Default];
repeated .EPublishedFileRevision available_revisions = 69;
repeated .PublishedFileDetails.Reaction reactions = 70;
optional .EBanContentCheckResult ban_text_check_result = 71 [default = k_EBanContentCheckResult_NotScanned];
optional float search_score = 73;
optional uint64 external_asset_id = 74;
repeated .PublishedFileAuthorSnapshot author_snapshots = 75;
}
message CPublishedFile_GetDetails_Response {
repeated .PublishedFileDetails publishedfiledetails = 1;
}
message CPublishedFile_GetItemInfo_Request {
message WorkshopItem {
optional fixed64 published_file_id = 1;
optional uint32 time_updated = 2;
optional .EPublishedFileRevision desired_revision = 3 [default = k_EPublishedFileRevision_Default];
}
optional uint32 appid = 1;
optional uint32 last_time_updated = 2;
repeated .CPublishedFile_GetItemInfo_Request.WorkshopItem workshop_items = 3;
}
message CPublishedFile_GetItemInfo_Response {
message WorkshopItemInfo {
optional fixed64 published_file_id = 1;
optional uint32 time_updated = 2;
optional fixed64 manifest_id = 3;
optional uint32 flags = 4;
optional .EPublishedFileRevision revision = 5 [default = k_EPublishedFileRevision_Default];
repeated .PublishedFileAuthorSnapshot author_snapshots = 6;
}
optional uint32 update_time = 1;
repeated .CPublishedFile_GetItemInfo_Response.WorkshopItemInfo workshop_items = 2;
repeated fixed64 private_items = 3;
}
message CPublishedFile_GetUserFiles_Request {
message KVTag {
optional string key = 1;
optional string value = 2;
}
message TagGroup {
repeated string tags = 1;
}
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional uint32 shortcutid = 3;
optional uint32 page = 4 [default = 1];
optional uint32 numperpage = 5 [default = 1];
optional string type = 6 [default = "myfiles"];
optional string sortmethod = 7 [default = "lastupdated"];
optional uint32 privacy = 9;
repeated string requiredtags = 10;
repeated string excludedtags = 11;
repeated .CPublishedFile_GetUserFiles_Request.KVTag required_kv_tags = 30;
optional uint32 filetype = 14;
optional uint32 creator_appid = 15;
optional string match_cloud_filename = 16;
optional uint32 cache_max_age_seconds = 27 [default = 0];
optional int32 language = 29 [default = 0];
repeated .CPublishedFile_GetUserFiles_Request.TagGroup taggroups = 34;
repeated .EContentDescriptorID excluded_content_descriptors = 37;
optional bool admin_query = 38;
optional bool totalonly = 17;
optional bool ids_only = 18;
optional bool return_vote_data = 19 [default = true];
optional bool return_tags = 20;
optional bool return_kv_tags = 21 [default = true];
optional bool return_previews = 22;
optional bool return_children = 23;
optional bool return_short_description = 24 [default = true];
optional bool return_for_sale_data = 26;
optional bool return_metadata = 28 [default = false];
optional uint32 return_playtime_stats = 31;
optional bool strip_description_bbcode = 32;
optional bool return_reactions = 35 [default = false];
optional uint32 startindex_override = 25;
optional .EPublishedFileRevision desired_revision = 33 [default = k_EPublishedFileRevision_Default];
optional bool return_apps = 36;
}
message CPublishedFile_GetUserFiles_Response {
message App {
optional uint32 appid = 1;
optional string name = 2;
optional uint32 shortcutid = 3;
optional bool private = 4;
}
optional uint32 total = 1;
optional uint32 startindex = 2;
repeated .PublishedFileDetails publishedfiledetails = 3;
repeated .CPublishedFile_GetUserFiles_Response.App apps = 4;
}
message CPublishedFile_AreFilesInSubscriptionList_Request {
optional uint32 appid = 1;
repeated fixed64 publishedfileids = 2;
optional uint32 listtype = 3;
optional uint32 filetype = 4;
optional uint32 workshopfiletype = 5;
}
message CPublishedFile_AreFilesInSubscriptionList_Response {
message InList {
optional fixed64 publishedfileid = 1;
optional bool inlist = 2;
}
repeated .CPublishedFile_AreFilesInSubscriptionList_Response.InList files = 1;
}
message CPublishedFile_Update_Request {
optional uint32 appid = 1;
optional fixed64 publishedfileid = 2;
optional string title = 3;
optional string file_description = 4;
optional uint32 visibility = 5;
repeated string tags = 6;
optional string filename = 7;
optional string preview_filename = 8;
optional bool spoiler_tag = 10;
optional uint32 image_width = 15;
optional uint32 image_height = 16;
optional int32 language = 17;
}
message CPublishedFile_Update_Response {
}
message CPublishedFile_Delete_Request {
optional fixed64 publishedfileid = 1;
optional uint32 appid = 5;
}
message CPublishedFile_Delete_Response {
}
message CPublishedFile_GetChangeHistoryEntry_Request {
optional fixed64 publishedfileid = 1;
optional uint32 timestamp = 2;
optional int32 language = 3;
}
message CPublishedFile_GetChangeHistoryEntry_Response {
optional string change_description = 1;
optional int32 language = 2;
optional bool saved_snapshot = 3;
optional string snapshot_game_branch_min = 4;
optional string snapshot_game_branch_max = 5;
optional fixed64 manifest_id = 6;
}
message CPublishedFile_GetChangeHistory_Request {
optional fixed64 publishedfileid = 1;
optional bool total_only = 2;
optional uint32 startindex = 3;
optional uint32 count = 4;
optional int32 language = 5 [default = 0];
}
message CPublishedFile_GetChangeHistory_Response {
message ChangeLog {
optional uint32 timestamp = 1;
optional string change_description = 2;
optional int32 language = 3;
optional bool saved_snapshot = 4;
optional string snapshot_game_branch_min = 5;
optional string snapshot_game_branch_max = 6;
optional fixed64 manifest_id = 7;
}
repeated .CPublishedFile_GetChangeHistory_Response.ChangeLog changes = 1;
optional uint32 total = 2;
}
message CPublishedFile_RefreshVotingQueue_Request {
optional uint32 appid = 1;
optional uint32 matching_file_type = 2;
repeated string tags = 3;
optional bool match_all_tags = 4 [default = true];
repeated string excluded_tags = 5;
optional uint32 desired_queue_size = 6;
optional .EPublishedFileRevision desired_revision = 8 [default = k_EPublishedFileRevision_Default];
}
message CPublishedFile_RefreshVotingQueue_Response {
}
message CPublishedFile_QueryFiles_Request {
message KVTag {
optional string key = 1;
optional string value = 2;
}
message TagGroup {
repeated string tags = 1;
}
message DateRange {
optional uint32 timestamp_start = 1;
optional uint32 timestamp_end = 2;
}
optional uint32 query_type = 1;
optional uint32 page = 2;
optional string cursor = 39;
optional uint32 numperpage = 3 [default = 1];
optional uint32 creator_appid = 4;
optional uint32 appid = 5;
repeated string requiredtags = 6;
repeated string excludedtags = 7;
optional bool match_all_tags = 8 [default = true];
repeated string required_flags = 9;
repeated string omitted_flags = 10;
optional string search_text = 11;
optional uint32 filetype = 12;
optional fixed64 child_publishedfileid = 13;
optional uint32 days = 14;
optional bool include_recent_votes_only = 15;
optional uint32 cache_max_age_seconds = 31 [default = 0];
optional int32 language = 33 [default = 0];
repeated .CPublishedFile_QueryFiles_Request.KVTag required_kv_tags = 34;
repeated .CPublishedFile_QueryFiles_Request.TagGroup taggroups = 42;
optional .CPublishedFile_QueryFiles_Request.DateRange date_range_created = 44;
optional .CPublishedFile_QueryFiles_Request.DateRange date_range_updated = 45;
repeated .EContentDescriptorID excluded_content_descriptors = 46;
optional bool admin_query = 47;
optional bool totalonly = 16;
optional bool ids_only = 35;
optional bool return_vote_data = 17;
optional bool return_tags = 18;
optional bool return_kv_tags = 19;
optional bool return_previews = 20;
optional bool return_children = 21;
optional bool return_short_description = 22;
optional bool return_for_sale_data = 30;
optional bool return_metadata = 32 [default = false];
optional uint32 return_playtime_stats = 36;
optional bool return_details = 37;
optional bool strip_description_bbcode = 38;
optional .EPublishedFileRevision desired_revision = 40 [default = k_EPublishedFileRevision_Default];
optional bool return_reactions = 43 [default = false];
}
message CPublishedFile_QueryFiles_Response {
optional uint32 total = 1;
repeated .PublishedFileDetails publishedfiledetails = 2;
optional string next_cursor = 3;
}
message CPublishedFile_AddAppRelationship_Request {
optional uint64 publishedfileid = 1;
optional uint32 appid = 2;
optional uint32 relationship = 3;
}
message CPublishedFile_AddAppRelationship_Response {
}
message CPublishedFile_RemoveAppRelationship_Request {
optional uint64 publishedfileid = 1;
optional uint32 appid = 2;
optional uint32 relationship = 3;
}
message CPublishedFile_RemoveAppRelationship_Response {
}
message CPublishedFile_GetAppRelationships_Request {
optional uint64 publishedfileid = 1;
}
message CPublishedFile_GetAppRelationships_Response {
message AppRelationship {
optional uint32 appid = 1;
optional uint32 relationship = 2;
}
repeated .CPublishedFile_GetAppRelationships_Response.AppRelationship app_relationships = 3;
}
message CPublishedFile_GetAppRelationshipsBatched_Request {
repeated uint64 publishedfileids = 1;
optional uint32 filter_relationship = 2;
}
message CPublishedFile_GetAppRelationshipsBatched_Response {
message AppRelationship {
optional uint32 appid = 1;
optional uint32 relationship = 2;
}
message PublishedFileAppRelationship {
optional uint64 publishedfileid = 1;
optional uint32 result = 2;
repeated .CPublishedFile_GetAppRelationshipsBatched_Response.AppRelationship app_relationships = 3;
}
repeated .CPublishedFile_GetAppRelationshipsBatched_Response.PublishedFileAppRelationship relationships = 1;
}
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 {
}
message CPublishedFile_AddChild_Request {
optional uint64 publishedfileid = 1;
optional uint64 child_publishedfileid = 2;
}
message CPublishedFile_AddChild_Response {
}
message CPublishedFile_RemoveChild_Request {
optional uint64 publishedfileid = 1;
optional uint64 child_publishedfileid = 2;
}
message CPublishedFile_RemoveChild_Response {
}
message CPublishedFile_SetCollectionChildren_Request {
optional uint32 appid = 1;
optional uint64 publishedfileid = 2;
repeated uint64 children = 3;
}
message CPublishedFile_SetCollectionChildren_Response {
}
message CPublishedFile_SetSubscriptionListFromCollection_Request {
optional uint32 appid = 1;
optional uint32 list_type = 2;
optional uint64 publishedfileid = 3;
optional bool add_only = 4;
}
message CPublishedFile_SetSubscriptionListFromCollection_Response {
}
message CPublishedFile_GetUserVoteSummary_Request {
repeated fixed64 publishedfileids = 1;
}
message CPublishedFile_GetUserVoteSummary_Response {
message VoteSummary {
optional fixed64 publishedfileid = 1;
optional bool vote_for = 2;
optional bool vote_against = 3;
optional bool reported = 4;
}
repeated .CPublishedFile_GetUserVoteSummary_Response.VoteSummary summaries = 1;
}
message CPublishedFile_GetItemChanges_Request {
optional uint32 appid = 1;
optional uint32 last_time_updated = 2;
optional uint32 num_items_max = 3;
optional .EPublishedFileRevision desired_revision = 4 [default = k_EPublishedFileRevision_Default];
}
message CPublishedFile_GetItemChanges_Response {
message WorkshopItemInfo {
optional fixed64 published_file_id = 1;
optional uint32 time_updated = 2;
optional fixed64 manifest_id = 3;
repeated .PublishedFileAuthorSnapshot author_snapshots = 4;
}
optional uint32 update_time = 1;
repeated .CPublishedFile_GetItemChanges_Response.WorkshopItemInfo workshop_items = 2;
}
message CPublishedFile_GetContentDescriptors_Request {
optional fixed64 publishedfileid = 1;
}
message CPublishedFile_GetContentDescriptors_Response {
message ContentDescriptor {
optional .EContentDescriptorID descriptorid = 1 [default = k_EContentDescriptor_NudityOrSexualContent];
optional uint32 accountid = 2;
optional uint32 timestamp = 3;
optional bool moderator_set = 4;
}
repeated .CPublishedFile_GetContentDescriptors_Response.ContentDescriptor content_descriptors = 1;
}
message CPublishedFile_UpdateContentDescriptors_Request {
optional fixed64 publishedfileid = 1;
repeated .EContentDescriptorID descriptors_to_add = 2;
repeated .EContentDescriptorID descriptors_to_remove = 3;
}
message CPublishedFile_UpdateContentDescriptors_Response {
optional uint32 timestamp_updated = 1;
}
message CPublishedFile_FileSubscribed_Notification {
message RevisionData {
optional .EPublishedFileRevision revision = 1 [default = k_EPublishedFileRevision_Default];
optional fixed64 file_hcontent = 2;
optional uint32 rtime_updated = 3;
optional string game_branch_min = 4;
optional string game_branch_max = 5;
}
optional fixed64 published_file_id = 1;
optional uint32 app_id = 2;
optional fixed64 file_hcontent = 3;
optional uint32 file_size = 4;
optional uint32 rtime_subscribed = 5;
optional bool is_depot_content = 6;
optional uint32 rtime_updated = 7;
optional .EPublishedFileRevision revision = 9 [default = k_EPublishedFileRevision_Default];
repeated .CPublishedFile_FileSubscribed_Notification.RevisionData revisions = 8;
}
message CPublishedFile_FileUnsubscribed_Notification {
optional fixed64 published_file_id = 1;
optional uint32 app_id = 2;
}
message CPublishedFile_FileDeleted_Client_Notification {
optional fixed64 published_file_id = 1;
optional uint32 app_id = 2;
}
service PublishedFile {
rpc Vote (.CPublishedFile_Vote_Request) returns (.CPublishedFile_Vote_Response);
rpc Subscribe (.CPublishedFile_Subscribe_Request) returns (.CPublishedFile_Subscribe_Response);
rpc Unsubscribe (.CPublishedFile_Unsubscribe_Request) returns (.CPublishedFile_Unsubscribe_Response);
rpc CanSubscribe (.CPublishedFile_CanSubscribe_Request) returns (.CPublishedFile_CanSubscribe_Response);
rpc GetSubSectionData (.CPublishedFile_GetSubSectionData_Request) returns (.CPublishedFile_GetSubSectionData_Response);
rpc Publish (.CPublishedFile_Publish_Request) returns (.CPublishedFile_Publish_Response);
rpc GetDetails (.CPublishedFile_GetDetails_Request) returns (.CPublishedFile_GetDetails_Response);
rpc GetItemInfo (.CPublishedFile_GetItemInfo_Request) returns (.CPublishedFile_GetItemInfo_Response);
rpc GetUserFiles (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response);
rpc GetUserFileCount (.CPublishedFile_GetUserFiles_Request) returns (.CPublishedFile_GetUserFiles_Response);
rpc AreFilesInSubscriptionList (.CPublishedFile_AreFilesInSubscriptionList_Request) returns (.CPublishedFile_AreFilesInSubscriptionList_Response);
rpc Update (.CPublishedFile_Update_Request) returns (.CPublishedFile_Update_Response);
rpc Delete (.CPublishedFile_Delete_Request) returns (.CPublishedFile_Delete_Response);
rpc GetChangeHistoryEntry (.CPublishedFile_GetChangeHistoryEntry_Request) returns (.CPublishedFile_GetChangeHistoryEntry_Response);
rpc GetChangeHistory (.CPublishedFile_GetChangeHistory_Request) returns (.CPublishedFile_GetChangeHistory_Response);
rpc RefreshVotingQueue (.CPublishedFile_RefreshVotingQueue_Request) returns (.CPublishedFile_RefreshVotingQueue_Response);
rpc QueryFiles (.CPublishedFile_QueryFiles_Request) returns (.CPublishedFile_QueryFiles_Response);
rpc AddAppRelationship (.CPublishedFile_AddAppRelationship_Request) returns (.CPublishedFile_AddAppRelationship_Response);
rpc RemoveAppRelationship (.CPublishedFile_RemoveAppRelationship_Request) returns (.CPublishedFile_RemoveAppRelationship_Response);
rpc GetAppRelationships (.CPublishedFile_GetAppRelationships_Request) returns (.CPublishedFile_GetAppRelationships_Response);
rpc GetAppRelationshipsBatched (.CPublishedFile_GetAppRelationshipsBatched_Request) returns (.CPublishedFile_GetAppRelationshipsBatched_Response);
rpc StartPlaytimeTracking (.CPublishedFile_StartPlaytimeTracking_Request) returns (.CPublishedFile_StartPlaytimeTracking_Response);
rpc StopPlaytimeTracking (.CPublishedFile_StopPlaytimeTracking_Request) returns (.CPublishedFile_StopPlaytimeTracking_Response);
rpc StopPlaytimeTrackingForAllAppItems (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Request) returns (.CPublishedFile_StopPlaytimeTrackingForAllAppItems_Response);
rpc SetPlaytimeForControllerConfigs (.CPublishedFile_SetPlaytimeForControllerConfigs_Request) returns (.CPublishedFile_SetPlaytimeForControllerConfigs_Response);
rpc AddChild (.CPublishedFile_AddChild_Request) returns (.CPublishedFile_AddChild_Response);
rpc RemoveChild (.CPublishedFile_RemoveChild_Request) returns (.CPublishedFile_RemoveChild_Response);
rpc SetCollectionChildren (.CPublishedFile_SetCollectionChildren_Request) returns (.CPublishedFile_SetCollectionChildren_Response);
rpc SetSubscriptionListFromCollection (.CPublishedFile_SetSubscriptionListFromCollection_Request) returns (.CPublishedFile_SetSubscriptionListFromCollection_Response);
rpc GetUserVoteSummary (.CPublishedFile_GetUserVoteSummary_Request) returns (.CPublishedFile_GetUserVoteSummary_Response);
rpc GetItemChanges (.CPublishedFile_GetItemChanges_Request) returns (.CPublishedFile_GetItemChanges_Response);
rpc GetContentDescriptors (.CPublishedFile_GetContentDescriptors_Request) returns (.CPublishedFile_GetContentDescriptors_Response);
rpc UpdateContentDescriptors (.CPublishedFile_UpdateContentDescriptors_Request) returns (.CPublishedFile_UpdateContentDescriptors_Response);
}
service PublishedFileClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyFileSubscribed (.CPublishedFile_FileSubscribed_Notification) returns (.NoResponse);
rpc NotifyFileUnsubscribed (.CPublishedFile_FileUnsubscribed_Notification) returns (.NoResponse);
rpc NotifyFileDeleted (.CPublishedFile_FileDeleted_Client_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,111 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
enum EGameSearchAction {
k_EGameSearchAction_None = 0;
k_EGameSearchAction_Accept = 1;
k_EGameSearchAction_Decline = 2;
k_EGameSearchAction_Cancel = 3;
}
enum EGameSearchResult {
k_EGameSearchResult_Invalid = 0;
k_EGameSearchResult_SearchInProgress = 1;
k_EGameSearchResult_SearchFailedNoHosts = 2;
k_EGameSearchResult_SearchGameFound = 3;
k_EGameSearchResult_SearchCompleteAccepted = 4;
k_EGameSearchResult_SearchCompleteDeclined = 5;
k_EGameSearchResult_SearchCanceled = 6;
}
message GameSearchParam {
optional string key_name = 1;
repeated string value = 2;
}
message CQueuedMatchmaking_SearchForGame_Request {
optional uint32 appid = 1;
optional .EGameSearchAction action = 2 [default = k_EGameSearchAction_None];
repeated .GameSearchParam params = 3;
optional uint32 player_min = 4;
optional uint32 player_max = 5;
optional fixed64 steamidlobby = 6;
optional uint64 searchid = 7;
}
message CQueuedMatchmaking_SearchForGame_Response {
optional .EGameSearchResult gamesearchresult = 1 [default = k_EGameSearchResult_Invalid];
optional uint64 searchid = 2;
optional uint32 seconds_time_estimate = 3;
optional uint32 poll_frequency = 4;
optional uint32 count_searching = 5;
optional uint32 players_in_match = 6;
optional uint32 players_accepted = 7;
optional string connect_string = 9;
optional fixed64 steamidhost = 10;
optional uint32 rtime_match_made = 11;
optional uint32 rtime_now = 12;
optional fixed64 steamid_canceled_search = 13;
}
message CQueuedMatchmakingGameHost_SearchForPlayers_Request {
optional uint32 appid = 1;
optional .EGameSearchAction action = 2 [default = k_EGameSearchAction_None];
repeated .GameSearchParam params = 3;
optional uint32 player_min = 4;
optional uint32 player_max = 5;
optional uint32 player_max_team_size = 6;
optional string connection_string = 7;
optional uint64 searchid = 8;
}
message PlayerFound {
optional fixed64 steamid = 1;
optional .EGameSearchAction action = 2 [default = k_EGameSearchAction_None];
repeated .GameSearchParam params = 3;
optional uint32 team_number = 4;
}
message CQueuedMatchmakingGameHost_SearchForPlayers_Response {
optional .EGameSearchResult gamesearchresult = 1 [default = k_EGameSearchResult_Invalid];
optional uint64 searchid = 2;
optional uint32 poll_frequency = 3;
optional uint64 matchid = 4;
repeated .PlayerFound players = 5;
optional uint32 rtime_match_made = 6;
optional uint32 rtime_now = 7;
}
message PlayerResult {
optional fixed64 steamid = 1;
optional uint32 value = 2;
}
message CQueuedMatchmakingGameHost_SubmitPlayerResult_Request {
optional uint32 appid = 1;
optional uint64 matchid = 2;
repeated .PlayerResult player_results = 3;
}
message CQueuedMatchmakingGameHost_SubmitPlayerResult_Response {
}
message CQueuedMatchmakingGameHost_EndGame_Request {
optional uint32 appid = 1;
optional uint64 matchid = 2;
}
message CQueuedMatchmakingGameHost_EndGame_Response {
}
service QueuedMatchmaking {
rpc SearchForGame (.CQueuedMatchmaking_SearchForGame_Request) returns (.CQueuedMatchmaking_SearchForGame_Response);
}
service QueuedMatchmakingGameHost {
rpc SearchForPlayers (.CQueuedMatchmakingGameHost_SearchForPlayers_Request) returns (.CQueuedMatchmakingGameHost_SearchForPlayers_Response);
rpc SubmitPlayerResult (.CQueuedMatchmakingGameHost_SubmitPlayerResult_Request) returns (.CQueuedMatchmakingGameHost_SubmitPlayerResult_Response);
rpc EndGame (.CQueuedMatchmakingGameHost_EndGame_Request) returns (.CQueuedMatchmakingGameHost_EndGame_Response);
}

View File

@@ -0,0 +1,100 @@
import "steammessages_base.proto";
import "steammessages_remoteclient_discovery.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgRemoteClientStatus {
optional uint64 client_id = 1;
optional uint64 instance_id = 2;
optional .CMsgRemoteClientBroadcastStatus status = 3;
}
message CMsgRemoteClientAppStatus {
message AppUpdateInfo {
optional fixed32 time_update_start = 1;
optional uint64 bytes_to_download = 2;
optional uint64 bytes_downloaded = 3;
optional uint64 bytes_to_process = 4;
optional uint64 bytes_processed = 5;
optional int32 estimated_seconds_remaining = 6 [default = -1];
optional int32 update_result = 7;
optional uint32 update_state = 8;
}
message ShortcutInfo {
optional string name = 1;
optional string icon = 2;
repeated string categories = 3;
optional string exepath = 4;
}
message AppStatus {
optional uint32 app_id = 1;
optional uint32 app_state = 2;
optional .CMsgRemoteClientAppStatus.AppUpdateInfo update_info = 3;
optional .CMsgRemoteClientAppStatus.ShortcutInfo shortcut_info = 4;
optional bool vr_not_required = 5 [default = true];
}
repeated .CMsgRemoteClientAppStatus.AppStatus status_updates = 1;
}
message CMsgRemoteClientStartStream {
message ReservedGamepad {
optional uint32 controller_type = 1;
optional uint32 controller_subtype = 2;
}
optional uint32 app_id = 1;
optional int32 environment = 2;
optional int32 gamepad_count = 3;
optional int32 launch_option = 4 [default = -1];
optional bool lock_parental_lock = 5 [default = false];
optional string unlock_parental_lock = 6;
optional int32 maximum_resolution_x = 7;
optional int32 maximum_resolution_y = 8;
repeated .CMsgRemoteClientStartStream.ReservedGamepad gamepads = 9;
optional int32 audio_channel_count = 10 [default = 2];
repeated .EStreamTransport supported_transport = 11;
}
message CMsgRemoteClientStartStreamResponse {
optional int32 e_launch_result = 1 [default = 2];
optional uint32 stream_port = 2;
repeated int32 launch_options = 3;
optional bytes auth_token = 4;
optional .EStreamTransport transport = 5 [default = k_EStreamTransportUDP];
optional string relay_server = 6;
optional string launch_task = 7;
optional string launch_task_detail = 8;
optional int32 launch_tasks_done = 9;
optional int32 launch_tasks_total = 10;
optional string vr_connection_params = 11;
}
message CMsgRemoteClientPing {
}
message CMsgRemoteClientPingResponse {
}
message CMsgRemoteClientAcceptEULA {
repeated uint32 app_id = 1;
repeated string eula_id = 2;
repeated uint32 eula_version = 3;
}
message CMsgRemoteClientGetControllerConfig {
optional uint32 app_id = 1;
optional uint32 controller_index = 3;
}
message CMsgRemoteClientGetControllerConfigResponse {
optional int32 eresult = 1 [default = 2];
optional bytes config_vdf = 2;
}
message CMsgRemoteClientStreamingEnabled {
required bool enabled = 1;
}

View File

@@ -0,0 +1,244 @@
option optimize_for = SPEED;
enum ERemoteClientBroadcastMsg {
k_ERemoteClientBroadcastMsgDiscovery = 0;
k_ERemoteClientBroadcastMsgStatus = 1;
k_ERemoteClientBroadcastMsgOffline = 2;
k_ERemoteDeviceAuthorizationRequest = 3;
k_ERemoteDeviceAuthorizationResponse = 4;
k_ERemoteDeviceStreamingRequest = 5;
k_ERemoteDeviceStreamingResponse = 6;
k_ERemoteDeviceProofRequest = 7;
k_ERemoteDeviceProofResponse = 8;
k_ERemoteDeviceAuthorizationCancelRequest = 9;
k_ERemoteDeviceStreamingCancelRequest = 10;
k_ERemoteClientBroadcastMsgClientIDDeconflict = 11;
k_ERemoteDeviceStreamTransportSignal = 12;
k_ERemoteDeviceStreamingProgress = 13;
k_ERemoteDeviceAuthorizationConfirmed = 14;
}
enum ERemoteClientService {
k_ERemoteClientServiceNone = 0;
k_ERemoteClientServiceRemoteControl = 1;
k_ERemoteClientServiceGameStreaming = 2;
k_ERemoteClientServiceSiteLicense = 4;
k_ERemoteClientServiceContentCache = 8;
k_ERemoteClientServiceContentServer = 16;
}
enum EVRLinkCaps {
k_EVRLinkCapsUnknown = 0;
k_EVRLinkCapsAvailable = 1;
k_EVRLinkCapsUnimplemented = 2;
k_EVRLinkCapsMissingHardwareEncoding = 3;
}
enum ERemoteDeviceAuthorizationResult {
k_ERemoteDeviceAuthorizationSuccess = 0;
k_ERemoteDeviceAuthorizationDenied = 1;
k_ERemoteDeviceAuthorizationNotLoggedIn = 2;
k_ERemoteDeviceAuthorizationOffline = 3;
k_ERemoteDeviceAuthorizationBusy = 4;
k_ERemoteDeviceAuthorizationInProgress = 5;
k_ERemoteDeviceAuthorizationTimedOut = 6;
k_ERemoteDeviceAuthorizationFailed = 7;
k_ERemoteDeviceAuthorizationCanceled = 8;
}
enum EStreamDeviceFormFactor {
k_EStreamDeviceFormFactorUnknown = 0;
k_EStreamDeviceFormFactorPhone = 1;
k_EStreamDeviceFormFactorTablet = 2;
k_EStreamDeviceFormFactorComputer = 3;
k_EStreamDeviceFormFactorTV = 4;
k_EStreamDeviceFormFactorVRHeadset = 5;
}
enum EStreamTransport {
k_EStreamTransportNone = 0;
k_EStreamTransportUDP = 1;
k_EStreamTransportUDPRelay = 2;
k_EStreamTransportWebRTC_OBSOLETE = 3;
k_EStreamTransportSDR = 4;
k_EStreamTransportUDP_SNS = 5;
k_EStreamTransportUDPRelay_SNS = 6;
}
enum EStreamInterface {
k_EStreamInterfaceDefault = 0;
k_EStreamInterfaceRecentGames = 1;
k_EStreamInterfaceBigPicture = 2;
k_EStreamInterfaceDesktop = 3;
k_EStreamInterfaceSteamVR = 4;
}
enum ERemoteDeviceStreamingResult {
k_ERemoteDeviceStreamingSuccess = 0;
k_ERemoteDeviceStreamingUnauthorized = 1;
k_ERemoteDeviceStreamingScreenLocked = 2;
k_ERemoteDeviceStreamingFailed = 3;
k_ERemoteDeviceStreamingBusy = 4;
k_ERemoteDeviceStreamingInProgress = 5;
k_ERemoteDeviceStreamingCanceled = 6;
k_ERemoteDeviceStreamingDriversNotInstalled = 7;
k_ERemoteDeviceStreamingDisabled = 8;
k_ERemoteDeviceStreamingBroadcastingActive = 9;
k_ERemoteDeviceStreamingVRActive = 10;
k_ERemoteDeviceStreamingPINRequired = 11;
k_ERemoteDeviceStreamingTransportUnavailable = 12;
k_ERemoteDeviceStreamingInvisible = 13;
k_ERemoteDeviceStreamingGameLaunchFailed = 14;
k_ERemoteDeviceStreamingSteamVRNotInstalled = 15;
}
message CMsgRemoteClientBroadcastHeader {
optional uint64 client_id = 1;
optional .ERemoteClientBroadcastMsg msg_type = 2 [default = k_ERemoteClientBroadcastMsgDiscovery];
optional uint64 instance_id = 3;
optional uint64 device_id_OBSOLETE = 4;
optional bytes device_token = 5;
}
message CMsgRemoteClientBroadcastStatus {
message User {
optional fixed64 steamid = 1;
optional uint32 auth_key_id = 2;
}
optional int32 version = 1;
optional int32 min_version = 2;
optional uint32 connect_port = 3;
optional string hostname = 4;
optional uint32 enabled_services = 6;
optional int32 ostype = 7 [default = 0];
optional bool is64bit = 8;
repeated .CMsgRemoteClientBroadcastStatus.User users = 9;
optional int32 euniverse = 11;
optional uint32 timestamp = 12;
optional bool screen_locked = 13;
optional bool games_running = 14;
repeated string mac_addresses = 15;
optional uint32 download_lan_peer_group = 16;
optional bool broadcasting_active = 17;
optional bool vr_active = 18;
optional uint32 content_cache_port = 19;
repeated string ip_addresses = 20;
optional string public_ip_address = 21;
optional bool remoteplay_active = 22;
optional uint32 supported_services = 23;
optional bool steam_deck = 24;
optional uint64 steam_version = 25;
optional .EVRLinkCaps vr_link_caps = 26 [default = k_EVRLinkCapsUnknown];
}
message CMsgRemoteClientBroadcastDiscovery {
optional uint32 seq_num = 1;
repeated uint64 client_ids = 2;
}
message CMsgRemoteClientBroadcastClientIDDeconflict {
repeated uint64 client_ids = 2;
}
message CMsgRemoteDeviceAuthorizationRequest {
message CKeyEscrow_Ticket {
optional bytes password = 1;
optional uint64 identifier = 2;
optional bytes payload = 3;
optional uint32 timestamp = 4;
optional .CMsgRemoteDeviceAuthorizationRequest.EKeyEscrowUsage usage = 5 [default = k_EKeyEscrowUsageStreamingDevice];
optional string device_name = 6;
optional string device_model = 7;
optional string device_serial = 8;
optional uint32 device_provisioning_id = 9;
}
enum EKeyEscrowUsage {
k_EKeyEscrowUsageStreamingDevice = 0;
}
required bytes device_token = 1;
optional string device_name = 2;
required bytes encrypted_request = 3;
optional bytes auth_key = 4;
optional uint32 request_id = 5;
}
message CMsgRemoteDeviceAuthorizationCancelRequest {
}
message CMsgRemoteDeviceAuthorizationResponse {
required .ERemoteDeviceAuthorizationResult result = 1 [default = k_ERemoteDeviceAuthorizationSuccess];
optional fixed64 steamid = 2;
optional bytes auth_key = 3;
optional bytes device_token = 4;
}
message CMsgRemoteDeviceAuthorizationConfirmed {
required .ERemoteDeviceAuthorizationResult result = 1 [default = k_ERemoteDeviceAuthorizationSuccess];
}
message CMsgRemoteDeviceStreamingRequest {
message ReservedGamepad {
optional uint32 controller_type = 1;
optional uint32 controller_subtype = 2;
}
required uint32 request_id = 1;
optional int32 maximum_resolution_x = 2;
optional int32 maximum_resolution_y = 3;
optional int32 audio_channel_count = 4 [default = 2];
optional string device_version = 5;
optional bool stream_desktop = 6;
optional bytes device_token = 7;
optional bytes pin = 8;
optional bool enable_video_streaming = 9 [default = true];
optional bool enable_audio_streaming = 10 [default = true];
optional bool enable_input_streaming = 11 [default = true];
optional bool network_test = 12;
optional uint64 client_id = 13;
repeated .EStreamTransport supported_transport = 14;
optional bool restricted = 15;
optional .EStreamDeviceFormFactor form_factor = 16 [default = k_EStreamDeviceFormFactorUnknown];
optional int32 gamepad_count = 17;
repeated .CMsgRemoteDeviceStreamingRequest.ReservedGamepad gamepads = 18;
optional uint64 gameid = 19;
optional .EStreamInterface stream_interface = 20 [default = k_EStreamInterfaceDefault];
}
message CMsgRemoteDeviceStreamingCancelRequest {
required uint32 request_id = 1;
}
message CMsgRemoteDeviceStreamingProgress {
required uint32 request_id = 1;
optional float progress = 2;
}
message CMsgRemoteDeviceStreamingResponse {
required uint32 request_id = 1;
required .ERemoteDeviceStreamingResult result = 2 [default = k_ERemoteDeviceStreamingSuccess];
optional uint32 port = 3;
optional bytes encrypted_session_key = 4;
optional .EStreamTransport transport = 6 [default = k_EStreamTransportUDP];
optional string relay_server = 7;
optional string cert = 8;
}
message CMsgRemoteDeviceProofRequest {
required bytes challenge = 1;
optional uint32 request_id = 2;
optional bool update_secret = 3;
}
message CMsgRemoteDeviceProofResponse {
required bytes response = 1;
optional uint32 request_id = 2;
optional bool updated_secret = 3;
}
message CMsgRemoteDeviceStreamTransportSignal {
optional bytes token = 1;
optional bytes payload = 2;
}

View File

@@ -0,0 +1,34 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "steammessages_remoteclient_service_messages.proto";
option cc_generic_services = true;
service RemoteClient {
rpc GetPairingInfo (.CRemoteClient_GetPairingInfo_Request) returns (.CRemoteClient_GetPairingInfo_Response);
rpc NotifyOnline (.CRemoteClient_Online_Notification) returns (.NoResponse);
rpc GetRecentClients (.CRemoteClient_GetRecentClients_Request) returns (.CRemoteClient_GetRecentClients_Response);
rpc MarkTaskComplete (.CRemoteClient_MarkTaskComplete_Request) returns (.CRemoteClient_MarkTaskComplete_Response);
rpc NotifyReplyPacket (.CRemoteClient_ReplyPacket_Notification) returns (.NoResponse);
rpc AllocateRelayServer (.CRemoteClient_AllocateRelayServer_Request) returns (.CRemoteClient_AllocateRelayServer_Response);
rpc AllocateSDR (.CRemoteClient_AllocateSDR_Request) returns (.CRemoteClient_AllocateSDR_Response);
rpc SendSteamBroadcastPacket (.CRemoteClient_SteamBroadcast_Notification) returns (.NoResponse);
rpc SendSteamToSteamPacket (.CRemoteClient_SteamToSteam_Notification) returns (.NoResponse);
rpc SendRemotePlaySessionStarted (.CRemotePlay_SessionStarted_Request) returns (.CRemotePlay_SessionStarted_Response);
rpc SendRemotePlaySessionStopped (.CRemotePlay_SessionStopped_Notification) returns (.NoResponse);
rpc SendRemotePlayTogetherPacket (.CRemotePlayTogether_Notification) returns (.NoResponse);
rpc CreateRemotePlayTogetherInvitation (.CRemoteClient_CreateRemotePlayTogetherInvitation_Request) returns (.CRemoteClient_CreateRemotePlayTogetherInvitation_Response);
rpc DeleteRemotePlayTogetherInvitation (.CRemoteClient_DeleteRemotePlayTogetherInvitation_Request) returns (.CRemoteClient_DeleteRemotePlayTogetherInvitation_Response);
}
service RemoteClientSteamClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyRegisterStatusUpdate (.CRemoteClient_RegisterStatusUpdate_Notification) returns (.NoResponse);
rpc NotifyUnregisterStatusUpdate (.CRemoteClient_UnregisterStatusUpdate_Notification) returns (.NoResponse);
rpc NotifyRemotePacket (.CRemoteClient_RemotePacket_Notification) returns (.NoResponse);
rpc NotifySteamBroadcastPacket (.CRemoteClient_SteamBroadcast_Notification) returns (.NoResponse);
rpc NotifySteamToSteamPacket (.CRemoteClient_SteamToSteam_Notification) returns (.NoResponse);
rpc NotifyRemotePlayTogetherPacket (.CRemotePlayTogether_Notification) returns (.NoResponse);
rpc NotifyTaskList (.CRemoteClient_TaskList_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,280 @@
enum ECLientTaskListType {
k_EClientTask_DownloadClip = 1;
}
message CRemoteClient_CreateSession_Request {
}
message CRemoteClient_CreateSession_Response {
optional fixed64 session_id = 1;
optional int32 euniverse = 2;
}
message CRemoteClient_DeleteSession_Notification {
optional fixed64 session_id = 1;
}
message CRemoteClient_StartPairing_Request {
optional fixed64 session_id = 1;
}
message CRemoteClient_StartPairing_Response {
optional uint32 pin = 1;
}
message CRemoteClient_SetPairingInfo_Request {
optional fixed64 session_id = 1;
optional fixed64 device_id = 2;
optional bytes request = 3;
}
message CRemoteClient_SetPairingInfo_Response {
}
message CRemoteClient_GetPairingInfo_Request {
optional uint32 pin = 1;
}
message CRemoteClient_GetPairingInfo_Response {
optional fixed64 session_id = 1;
optional fixed64 device_id = 2;
optional bytes request = 3;
}
message CRemoteClient_CancelPairing_Request {
optional fixed64 session_id = 1;
}
message CRemoteClient_CancelPairing_Response {
}
message CRemoteClient_RegisterStatusUpdate_Notification {
optional fixed64 session_id = 1;
optional fixed64 steamid = 2;
optional fixed64 device_id = 3;
}
message CRemoteClient_UnregisterStatusUpdate_Notification {
optional fixed64 session_id = 1;
optional fixed64 steamid = 2;
}
message CRemoteClient_DeviceDetails {
optional string device_friendly_name = 1;
optional int32 os_type = 2;
optional uint32 gaming_device_type = 3;
}
message CRemoteClient_Online_Notification {
optional fixed64 steamid = 1;
optional fixed64 remote_client_id = 2;
optional .CRemoteClient_DeviceDetails device_details = 3;
}
message CRemoteClient_GetRecentClients_Request {
}
message CRemoteClient_ClientLogin {
optional fixed64 remote_client_id = 1;
optional fixed64 token_id = 2;
optional .CRemoteClient_DeviceDetails device_details = 3;
}
message CRemoteClient_ClientDetails {
optional fixed64 remote_client_id = 1;
optional .CRemoteClient_DeviceDetails device_details = 2;
optional uint64 last_seen = 4;
optional string city = 5;
optional string state = 6;
optional string country = 7;
optional bool is_online = 8;
}
message CRemoteClient_GetRecentClients_Response {
repeated .CRemoteClient_ClientDetails clients = 1;
}
message CRemoteClient_Task {
optional .ECLientTaskListType type = 1 [default = k_EClientTask_DownloadClip];
optional fixed64 task_id = 2;
optional string url = 3;
optional int64 file_id = 4;
}
message CRemoteClient_AddClientTask_Request {
optional fixed64 remote_client_id = 1;
optional .CRemoteClient_Task task = 2;
}
message CRemoteClient_AddClientTask_Response {
}
message CRemoteClient_TaskList_Notification {
optional fixed64 remote_client_id = 1;
repeated .CRemoteClient_Task tasklist = 2;
}
message CRemoteClient_MarkTaskComplete_Request {
optional fixed64 remote_client_id = 1;
optional fixed64 task_id = 2;
optional string content_id = 3;
}
message CRemoteClient_MarkTaskComplete_Response {
}
message CRemoteClient_RemotePacket_Notification {
optional fixed64 session_id = 1;
optional fixed64 steamid = 2;
optional bytes payload = 4;
}
message CRemoteClient_ReplyPacket_Notification {
optional fixed64 session_id = 1;
optional bytes payload = 2;
}
message CRemoteClient_GetReplies_Request {
optional fixed64 session_id = 1;
}
message CRemoteClient_GetReplies_Response {
repeated bytes payload = 1;
}
message CRemoteClient_AllocateRelayServer_Request {
optional uint32 cellid = 1;
optional string credentials = 2;
}
message CRemoteClient_AllocateRelayServer_Response {
optional string relay_server = 1;
}
message CRemoteClient_AllocateSDR_Request {
optional uint32 appid = 1;
}
message CRemoteClient_AllocateSDR_Response {
}
message CRemoteClient_SteamBroadcast_Notification {
optional fixed64 steamid = 1;
optional fixed64 clientid = 2;
optional bytes payload = 3;
}
message CRemoteClient_SteamToSteam_Notification {
optional fixed64 steamid = 1;
optional fixed64 src_clientid = 2;
optional fixed64 dst_clientid = 3;
optional uint32 secretid = 4;
optional bytes encrypted_payload = 5;
}
message CRemotePlay_SessionStarted_Request {
optional uint32 host_account_id = 1;
optional uint32 client_account_id = 2;
optional uint32 appid = 3;
optional int32 device_form_factor = 4;
optional bool remote_play_together = 5;
optional bool guest_session = 6;
}
message CRemotePlay_SessionStarted_Response {
optional fixed64 record_id = 1;
}
message CRemotePlay_SessionStopped_Notification {
optional fixed64 record_id = 1;
optional bool used_x264 = 2;
optional bool used_h264 = 3;
optional bool used_hevc = 4;
}
message CRemotePlayTogether_Notification {
message Player {
optional fixed64 steamid = 1;
optional uint32 guestid = 2;
optional bytes avatar_hash = 3;
optional bool keyboard_enabled = 4;
optional bool mouse_enabled = 5;
optional bool controller_enabled = 6;
}
message ControllerSlot_obsolete {
optional uint32 slotid = 1;
optional fixed64 steamid = 2;
}
message ControllerSlot {
optional uint32 slotid = 1;
optional .CRemotePlayTogether_Notification.Player player = 2;
optional int32 controller_type = 3;
}
message GroupUpdated {
optional fixed64 host_steamid = 1;
optional fixed64 host_clientid = 2;
repeated fixed64 players_obsolete = 3;
optional fixed64 host_gameid = 4;
repeated .CRemotePlayTogether_Notification.ControllerSlot_obsolete controller_slots_obsolete = 5;
optional bool has_new_players = 6;
repeated .CRemotePlayTogether_Notification.Player player_slots = 7;
repeated .CRemotePlayTogether_Notification.ControllerSlot controller_slots = 8;
}
optional fixed64 steamid = 1;
oneof Message {
.CRemotePlayTogether_Notification.GroupUpdated group_updated = 2;
}
}
message CRemoteClient_CreateRemotePlayTogetherInvitation_Request {
optional uint32 appid = 1;
optional string launch_parameters = 2;
}
message CRemoteClient_CreateRemotePlayTogetherInvitation_Response {
optional string invitation_code = 1;
}
message CRemoteClient_DeleteRemotePlayTogetherInvitation_Request {
optional string invitation_code = 1;
}
message CRemoteClient_DeleteRemotePlayTogetherInvitation_Response {
}
message CRemoteClient_LookupRemotePlayTogetherInvitation_Request {
optional string invitation_code = 1;
}
message CRemoteClient_LookupRemotePlayTogetherInvitation_Response {
optional string invitation_url = 1;
}
message CCMRemoteClient_ClientMessage {
oneof Message {
.CRemoteClient_CreateSession_Request create_session_request = 1;
.CRemoteClient_StartPairing_Request start_pairing_request = 2;
.CRemoteClient_SetPairingInfo_Request set_pairing_info_request = 3;
.CRemoteClient_CancelPairing_Request cancel_pairing_request = 4;
.CRemoteClient_RegisterStatusUpdate_Notification register_status_update = 5;
.CRemoteClient_UnregisterStatusUpdate_Notification unregister_status_update = 6;
.CRemoteClient_RemotePacket_Notification remote_packet = 7;
}
}
message CCMRemoteClient_ServerMessage {
optional int32 result = 1;
oneof Message {
.CRemoteClient_CreateSession_Response create_session_response = 2;
.CRemoteClient_StartPairing_Response start_pairing_response = 3;
.CRemoteClient_SetPairingInfo_Response set_pairing_info_response = 4;
.CRemoteClient_CancelPairing_Response cancel_pairing_response = 5;
.CRemoteClient_GetReplies_Response reply_packet = 6;
}
}

View File

@@ -0,0 +1,977 @@
option optimize_for = SPEED;
option cc_generic_services = false;
enum EStreamChannel {
k_EStreamChannelInvalid = -1;
k_EStreamChannelDiscovery = 0;
k_EStreamChannelControl = 1;
k_EStreamChannelStats = 2;
k_EStreamChannelDataChannelStart = 3;
}
enum EStreamDiscoveryMessage {
k_EStreamDiscoveryPingRequest = 1;
k_EStreamDiscoveryPingResponse = 2;
}
enum EStreamControlMessage {
k_EStreamControlAuthenticationRequest = 1;
k_EStreamControlAuthenticationResponse = 2;
k_EStreamControlNegotiationInit = 3;
k_EStreamControlNegotiationSetConfig = 4;
k_EStreamControlNegotiationComplete = 5;
k_EStreamControlClientHandshake = 6;
k_EStreamControlServerHandshake = 7;
k_EStreamControlStartNetworkTest = 8;
k_EStreamControlKeepAlive = 9;
k_EStreamControl_LAST_SETUP_MESSAGE = 15;
k_EStreamControlStartAudioData = 50;
k_EStreamControlStopAudioData = 51;
k_EStreamControlStartVideoData = 52;
k_EStreamControlStopVideoData = 53;
k_EStreamControlInputMouseMotion = 54;
k_EStreamControlInputMouseWheel = 55;
k_EStreamControlInputMouseDown = 56;
k_EStreamControlInputMouseUp = 57;
k_EStreamControlInputKeyDown = 58;
k_EStreamControlInputKeyUp = 59;
k_EStreamControlInputGamepadAttached_OBSOLETE = 60;
k_EStreamControlInputGamepadEvent_OBSOLETE = 61;
k_EStreamControlInputGamepadDetached_OBSOLETE = 62;
k_EStreamControlShowCursor = 63;
k_EStreamControlHideCursor = 64;
k_EStreamControlSetCursor = 65;
k_EStreamControlGetCursorImage = 66;
k_EStreamControlSetCursorImage = 67;
k_EStreamControlDeleteCursor = 68;
k_EStreamControlSetTargetFramerate = 69;
k_EStreamControlInputLatencyTest = 70;
k_EStreamControlGamepadRumble_OBSOLETE = 71;
k_EStreamControlOverlayEnabled = 74;
k_EStreamControlInputControllerAttached_OBSOLETE = 75;
k_EStreamControlInputControllerState_OBSOLETE = 76;
k_EStreamControlTriggerHapticPulse_OBSOLETE = 77;
k_EStreamControlInputControllerDetached_OBSOLETE = 78;
k_EStreamControlVideoDecoderInfo = 80;
k_EStreamControlSetTitle = 81;
k_EStreamControlSetIcon = 82;
k_EStreamControlQuitRequest = 83;
k_EStreamControlSetQoS = 87;
k_EStreamControlInputControllerWirelessPresence_OBSOLETE = 88;
k_EStreamControlSetGammaRamp = 89;
k_EStreamControlVideoEncoderInfo = 90;
k_EStreamControlInputControllerStateHID_OBSOLETE = 93;
k_EStreamControlSetTargetBitrate = 94;
k_EStreamControlSetControllerPairingEnabled_OBSOLETE = 95;
k_EStreamControlSetControllerPairingResult_OBSOLETE = 96;
k_EStreamControlTriggerControllerDisconnect_OBSOLETE = 97;
k_EStreamControlSetActivity = 98;
k_EStreamControlSetStreamingClientConfig = 99;
k_EStreamControlSystemSuspend = 100;
k_EStreamControlSetControllerSettings_OBSOLETE = 101;
k_EStreamControlVirtualHereRequest = 102;
k_EStreamControlVirtualHereReady = 103;
k_EStreamControlVirtualHereShareDevice = 104;
k_EStreamControlSetSpectatorMode = 105;
k_EStreamControlRemoteHID = 106;
k_EStreamControlStartMicrophoneData = 107;
k_EStreamControlStopMicrophoneData = 108;
k_EStreamControlInputText = 109;
k_EStreamControlTouchConfigActive = 110;
k_EStreamControlGetTouchConfigData = 111;
k_EStreamControlSetTouchConfigData = 112;
k_EStreamControlSaveTouchConfigLayout = 113;
k_EStreamControlTouchActionSetActive = 114;
k_EStreamControlGetTouchIconData = 115;
k_EStreamControlSetTouchIconData = 116;
k_EStreamControlInputTouchFingerDown = 117;
k_EStreamControlInputTouchFingerMotion = 118;
k_EStreamControlInputTouchFingerUp = 119;
k_EStreamControlSetCaptureSize = 120;
k_EStreamControlSetFlashState = 121;
k_EStreamControlPause = 122;
k_EStreamControlResume = 123;
k_EStreamControlEnableHighResCapture = 124;
k_EStreamControlDisableHighResCapture = 125;
k_EStreamControlToggleMagnification = 126;
k_EStreamControlSetCapslock = 127;
k_EStreamControlSetKeymap = 128;
k_EStreamControlStopRequest = 129;
k_EStreamControlTouchActionSetLayerAdded = 130;
k_EStreamControlTouchActionSetLayerRemoved = 131;
k_EStreamControlRemotePlayTogetherGroupUpdate = 132;
k_EStreamControlSetInputTemporarilyDisabled = 133;
k_EStreamControlSetQualityOverride = 134;
k_EStreamControlSetBitrateOverride = 135;
k_EStreamControlShowOnScreenKeyboard = 136;
k_EStreamControlControllerConfigMsg = 137;
k_EStreamControlControllerPersonalizationUpdate = 138;
k_EStreamControlEnableNeptuneData = 139;
k_EStreamControlDisableNeptuneData = 140;
k_EStreamControlStartNeptuneData = 141;
k_EStreamControlStopNeptuneData = 142;
k_EStreamControlPauseControllerInput = 143;
k_EStreamControlResumeControllerInput = 144;
k_EStreamControlVRConnectionReady = 145;
k_EStreamControlSetCursorScale = 146;
}
enum EStreamVersion {
k_EStreamVersionNone = 0;
k_EStreamVersionCurrent = 1;
}
enum EStreamAudioCodec {
k_EStreamAudioCodecNone = 0;
k_EStreamAudioCodecRaw = 1;
k_EStreamAudioCodecVorbis = 2;
k_EStreamAudioCodecOpus = 3;
k_EStreamAudioCodecMP3 = 4;
k_EStreamAudioCodecAAC = 5;
}
enum EStreamVideoCodec {
k_EStreamVideoCodecNone = 0;
k_EStreamVideoCodecRaw = 1;
k_EStreamVideoCodecVP8 = 2;
k_EStreamVideoCodecVP9 = 3;
k_EStreamVideoCodecH264 = 4;
k_EStreamVideoCodecHEVC = 5;
k_EStreamVideoCodecORBX1 = 6;
k_EStreamVideoCodecORBX2 = 7;
}
enum EStreamQualityPreference {
k_EStreamQualityAutomatic = -1;
k_EStreamQualityFast = 1;
k_EStreamQualityBalanced = 2;
k_EStreamQualityBeautiful = 3;
}
enum EStreamBitrate {
k_EStreamBitrateAutodetect = -1;
k_EStreamBitrateUnlimited = 0;
}
enum EStreamColorspace {
k_EStreamColorspace_Unknown = 0;
k_EStreamColorspace_BT601 = 1;
k_EStreamColorspace_BT601_Full = 2;
k_EStreamColorspace_BT709 = 3;
k_EStreamColorspace_BT709_Full = 4;
k_EStreamColorspace_HDR10 = 5;
}
enum EStreamP2PScope {
k_EStreamP2PScopeAutomatic = 0;
k_EStreamP2PScopeDisabled = 1;
k_EStreamP2PScopeOnlyMe = 2;
k_EStreamP2PScopeFriends = 3;
k_EStreamP2PScopeEveryone = 4;
}
enum EStreamHostPlayAudioPreference {
k_EStreamHostPlayAudioDefault = 0;
k_EStreamHostPlayAudioAlways = 1;
}
enum EStreamingDataType {
k_EStreamingAudioData = 0;
k_EStreamingVideoData = 1;
k_EStreamingMicrophoneData = 2;
k_EStreamingNeptuneData = 3;
}
enum EStreamMouseButton {
k_EStreamMouseButtonLeft = 1;
k_EStreamMouseButtonRight = 2;
k_EStreamMouseButtonMiddle = 16;
k_EStreamMouseButtonX1 = 32;
k_EStreamMouseButtonX2 = 64;
k_EStreamMouseButtonUnknown = 4096;
}
enum EStreamMouseWheelDirection {
k_EStreamMouseWheelUp = 120;
k_EStreamMouseWheelDown = -120;
k_EStreamMouseWheelLeft = 3;
k_EStreamMouseWheelRight = 4;
}
enum EStreamFramerateLimiter {
k_EStreamFramerateSlowCapture = 1;
k_EStreamFramerateSlowConvert = 2;
k_EStreamFramerateSlowEncode = 4;
k_EStreamFramerateSlowNetwork = 8;
k_EStreamFramerateSlowDecode = 16;
k_EStreamFramerateSlowGame = 32;
k_EStreamFramerateSlowDisplay = 64;
}
enum EStreamActivity {
k_EStreamActivityIdle = 1;
k_EStreamActivityGame = 2;
k_EStreamActivityDesktop = 3;
k_EStreamActivitySecureDesktop = 4;
k_EStreamActivityMusic = 5;
}
enum EStreamDataMessage {
k_EStreamDataPacket = 1;
k_EStreamDataLost = 2;
}
enum EAudioFormat {
k_EAudioFormatNone = 0;
k_EAudioFormat16BitLittleEndian = 1;
k_EAudioFormatFloat = 2;
}
enum EVideoFormat {
k_EVideoFormatNone = 0;
k_EVideoFormatYV12 = 1;
k_EVideoFormatAccel = 2;
}
enum EStreamStatsMessage {
k_EStreamStatsFrameEvents = 1;
k_EStreamStatsDebugDump = 2;
k_EStreamStatsLogMessage = 3;
k_EStreamStatsLogUploadBegin = 4;
k_EStreamStatsLogUploadData = 5;
k_EStreamStatsLogUploadComplete = 6;
}
enum EStreamFrameEvent {
k_EStreamInputEventStart = 0;
k_EStreamInputEventSend = 1;
k_EStreamInputEventRecv = 2;
k_EStreamInputEventQueued = 3;
k_EStreamInputEventHandled = 4;
k_EStreamFrameEventStart = 5;
k_EStreamFrameEventCaptureBegin = 6;
k_EStreamFrameEventCaptureEnd = 7;
k_EStreamFrameEventConvertBegin = 8;
k_EStreamFrameEventConvertEnd = 9;
k_EStreamFrameEventEncodeBegin = 10;
k_EStreamFrameEventEncodeEnd = 11;
k_EStreamFrameEventSend = 12;
k_EStreamFrameEventRecv = 13;
k_EStreamFrameEventDecodeBegin = 14;
k_EStreamFrameEventDecodeEnd = 15;
k_EStreamFrameEventUploadBegin = 16;
k_EStreamFrameEventUploadEnd = 17;
k_EStreamFrameEventComplete = 18;
}
enum EStreamFrameResult {
k_EStreamFrameResultPending = 0;
k_EStreamFrameResultDisplayed = 1;
k_EStreamFrameResultDroppedNetworkSlow = 2;
k_EStreamFrameResultDroppedNetworkLost = 3;
k_EStreamFrameResultDroppedDecodeSlow = 4;
k_EStreamFrameResultDroppedDecodeCorrupt = 5;
k_EStreamFrameResultDroppedLate = 6;
k_EStreamFrameResultDroppedReset = 7;
}
enum EFrameAccumulatedStat {
k_EFrameStatFPS = 0;
k_EFrameStatCaptureDurationMS = 1;
k_EFrameStatConvertDurationMS = 2;
k_EFrameStatEncodeDurationMS = 3;
k_EFrameStatSteamDurationMS = 4;
k_EFrameStatServerDurationMS = 5;
k_EFrameStatNetworkDurationMS = 6;
k_EFrameStatDecodeDurationMS = 7;
k_EFrameStatDisplayDurationMS = 8;
k_EFrameStatClientDurationMS = 9;
k_EFrameStatFrameDurationMS = 10;
k_EFrameStatInputLatencyMS = 11;
k_EFrameStatGameLatencyMS = 12;
k_EFrameStatRoundTripLatencyMS = 13;
k_EFrameStatPingTimeMS = 14;
k_EFrameStatServerBitrateKbitPerSec = 15;
k_EFrameStatClientBitrateKbitPerSec = 16;
k_EFrameStatLinkBandwidthKbitPerSec = 17;
k_EFrameStatPacketLossPercentage = 18;
}
enum ELogFileType {
k_ELogFileSystemBoot = 0;
k_ELogFileSystemReset = 1;
k_ELogFileSystemDebug = 2;
}
enum EStreamControllerConfigMsg {
k_EStreamControllerConfigMsg_RequestConfigsForApp = 0;
k_EStreamControllerConfigMsg_ConfigResponse = 1;
k_EStreamControllerConfigMsg_PersonalizationResponse = 2;
k_EStreamControllerConfigMsg_ActiveConfigChange = 3;
k_EStreamControllerConfigMsg_RequestActiveConfig = 4;
}
message CDiscoveryPingRequest {
optional uint32 sequence = 1;
optional uint32 packet_size_requested = 2;
}
message CDiscoveryPingResponse {
optional uint32 sequence = 1;
optional uint32 packet_size_received = 2;
}
message CStreamingClientHandshakeInfo {
optional int32 network_test = 2;
}
message CClientHandshakeMsg {
required .CStreamingClientHandshakeInfo info = 1;
}
message CStreamingServerHandshakeInfo {
optional int32 mtu = 1;
}
message CServerHandshakeMsg {
required .CStreamingServerHandshakeInfo info = 1;
}
message CAuthenticationRequestMsg {
optional bytes token = 1;
optional .EStreamVersion version = 2 [default = k_EStreamVersionNone];
optional uint64 steamid = 3;
}
message CAuthenticationResponseMsg {
enum AuthenticationResult {
SUCCEEDED = 0;
FAILED = 1;
}
optional .CAuthenticationResponseMsg.AuthenticationResult result = 1 [default = SUCCEEDED];
optional .EStreamVersion version = 2 [default = k_EStreamVersionNone];
}
message CKeepAliveMsg {
}
message CStartNetworkTestMsg {
optional uint32 frames = 1;
optional uint32 framerate = 2;
optional uint32 bitrate_kbps = 3;
optional uint32 burst_bitrate_kbps = 4;
optional bool bandwidth_test = 5;
}
message CStreamVideoMode {
required uint32 width = 1;
required uint32 height = 2;
optional uint32 refresh_rate = 3;
optional uint32 refresh_rate_numerator = 4;
optional uint32 refresh_rate_denominator = 5;
}
message CStreamVideoLimit {
optional .EStreamVideoCodec codec = 1 [default = k_EStreamVideoCodecNone];
optional .CStreamVideoMode mode = 2;
optional int32 bitrate_kbps = 3;
optional int32 burst_bitrate_kbps = 4;
}
message CStreamingClientCaps {
optional string system_info = 1;
optional bool system_can_suspend = 2;
optional int32 maximum_decode_bitrate_kbps = 3;
optional int32 maximum_burst_bitrate_kbps = 4;
optional bool supports_video_hevc = 5;
optional bool disable_steam_store = 6;
optional bool disable_client_cursor = 7;
optional bool disable_intel_hardware_encoding = 8;
optional bool disable_amd_hardware_encoding = 9;
optional bool disable_nvidia_hardware_encoding = 10;
optional int32 form_factor = 11;
optional bool has_on_screen_keyboard = 12;
repeated .EStreamColorspace supported_colorspaces = 13;
}
message CStreamingClientConfig {
optional .EStreamQualityPreference quality = 1 [default = k_EStreamQualityBalanced];
optional uint32 desired_resolution_x = 2;
optional uint32 desired_resolution_y = 3;
optional uint32 desired_framerate_numerator = 4;
optional uint32 desired_framerate_denominator = 5;
optional int32 desired_bitrate_kbps = 6 [default = -1];
optional bool enable_hardware_decoding = 7 [default = true];
optional bool enable_performance_overlay = 8 [default = false];
optional bool enable_video_streaming = 9 [default = true];
optional bool enable_audio_streaming = 10 [default = true];
optional bool enable_input_streaming = 11 [default = true];
optional int32 audio_channels = 12 [default = 2];
optional bool enable_video_hevc = 13 [default = false];
optional bool enable_performance_icons = 14 [default = true];
optional bool enable_microphone_streaming = 15 [default = false];
optional string controller_overlay_hotkey = 16;
optional bool enable_touch_controller_OBSOLETE = 17 [default = false];
optional .EStreamP2PScope p2p_scope = 19 [default = k_EStreamP2PScopeAutomatic];
optional bool enable_audio_uncompressed = 20 [default = false];
optional .CStreamVideoLimit display_limit = 21;
optional .CStreamVideoLimit quality_limit = 22;
optional .CStreamVideoLimit runtime_limit = 23;
repeated .CStreamVideoLimit decoder_limit = 24;
optional bool enable_unreliable_fec = 25 [default = false];
}
message CStreamingServerConfig {
optional bool change_desktop_resolution = 1;
optional bool dynamically_adjust_resolution_OBSOLETE = 2;
optional bool enable_capture_nvfbc = 3;
optional bool enable_hardware_encoding_nvidia_OBSOLETE = 4;
optional bool enable_hardware_encoding_amd_OBSOLETE = 5;
optional bool enable_hardware_encoding_intel_OBSOLETE = 6;
optional int32 software_encoding_threads = 7;
optional bool enable_traffic_priority = 8;
optional .EStreamHostPlayAudioPreference host_play_audio = 9 [default = k_EStreamHostPlayAudioDefault];
optional bool enable_hardware_encoding = 10;
}
message CNegotiatedConfig {
optional bool reliable_data = 1;
optional .EStreamAudioCodec selected_audio_codec = 2 [default = k_EStreamAudioCodecNone];
optional .EStreamVideoCodec selected_video_codec = 3 [default = k_EStreamVideoCodecNone];
repeated .CStreamVideoMode available_video_modes_OBSOLETE = 4;
optional bool enable_remote_hid = 5;
optional bool enable_touch_input = 6;
optional bool disable_client_cursor = 7;
}
message CNegotiationInitMsg {
optional bool reliable_data = 1;
repeated .EStreamAudioCodec supported_audio_codecs = 2;
repeated .EStreamVideoCodec supported_video_codecs = 3;
optional bool supports_remote_hid = 4;
optional bool supports_touch_input = 5;
}
message CNegotiationSetConfigMsg {
required .CNegotiatedConfig config = 1;
optional .CStreamingClientConfig streaming_client_config = 2;
optional .CStreamingClientCaps streaming_client_caps = 3;
}
message CNegotiationCompleteMsg {
}
message CStartAudioDataMsg {
required uint32 channel = 2;
optional .EStreamAudioCodec codec = 3 [default = k_EStreamAudioCodecNone];
optional bytes codec_data = 4;
optional uint32 frequency = 5;
optional uint32 channels = 6;
}
message CStopAudioDataMsg {
}
message CStartVideoDataMsg {
required uint32 channel = 1;
optional .EStreamVideoCodec codec = 2 [default = k_EStreamVideoCodecNone];
optional bytes codec_data = 3;
optional uint32 width = 4;
optional uint32 height = 5;
}
message CStopVideoDataMsg {
}
message CStartNeptuneDataMsg {
required uint32 channel = 1;
}
message CStopNeptuneDataMsg {
}
message CRecordedInput {
optional .EStreamControlMessage type = 1 [default = k_EStreamControlAuthenticationRequest];
optional uint32 timestamp = 2;
oneof data {
.CInputTouchFingerDownMsg finger_down = 3;
.CInputTouchFingerMotionMsg finger_motion = 4;
.CInputTouchFingerUpMsg finger_up = 5;
.CInputMouseMotionMsg mouse_motion = 6;
.CInputMouseWheelMsg mouse_wheel = 7;
.CInputMouseDownMsg mouse_down = 8;
.CInputMouseUpMsg mouse_up = 9;
.CInputKeyDownMsg key_down = 10;
.CInputKeyUpMsg key_up = 11;
.CInputTextMsg text = 12;
.CRemoteHIDMsg hid = 13;
}
}
message CRecordedInputStream {
repeated .CRecordedInput entries = 1;
}
message CInputLatencyTestMsg {
required uint32 input_mark = 1;
optional uint32 color = 2;
}
message CInputTouchFingerDownMsg {
optional uint32 input_mark = 1;
optional uint64 fingerid = 2;
optional float x_normalized = 3;
optional float y_normalized = 4;
}
message CInputTouchFingerMotionMsg {
optional uint32 input_mark = 1;
optional uint64 fingerid = 2;
optional float x_normalized = 3;
optional float y_normalized = 4;
}
message CInputTouchFingerUpMsg {
optional uint32 input_mark = 1;
optional uint64 fingerid = 2;
optional float x_normalized = 3;
optional float y_normalized = 4;
}
message CInputMouseMotionMsg {
optional uint32 input_mark = 1;
optional float x_normalized = 2;
optional float y_normalized = 3;
optional int32 dx = 4;
optional int32 dy = 5;
}
message CInputMouseWheelMsg {
optional uint32 input_mark = 1;
required .EStreamMouseWheelDirection direction = 2 [default = k_EStreamMouseWheelUp];
optional float amount = 3 [default = 1];
}
message CInputMouseDownMsg {
optional uint32 input_mark = 1;
required .EStreamMouseButton button = 2 [default = k_EStreamMouseButtonLeft];
}
message CInputMouseUpMsg {
optional uint32 input_mark = 1;
required .EStreamMouseButton button = 2 [default = k_EStreamMouseButtonLeft];
}
message CInputKeyDownMsg {
optional uint32 input_mark = 1;
required uint32 scancode = 2;
}
message CInputKeyUpMsg {
optional uint32 input_mark = 1;
required uint32 scancode = 2;
}
message CInputTextMsg {
optional uint32 input_mark = 1;
required string text_utf8 = 2;
}
message CSetTitleMsg {
optional string text = 1;
}
message CSetCaptureSizeMsg {
optional int32 width = 1;
optional int32 height = 2;
}
message CSetIconMsg {
optional int32 width = 1;
optional int32 height = 2;
optional bytes image = 3;
}
message CSetFlashStateMsg {
optional uint32 flags = 1;
optional uint32 count = 2;
optional uint32 timeout_ms = 3;
}
message CShowCursorMsg {
optional float x_normalized = 1;
optional float y_normalized = 2;
}
message CHideCursorMsg {
}
message CSetCursorMsg {
required uint64 cursor_id = 1;
}
message CGetCursorImageMsg {
required uint64 cursor_id = 1;
}
message CSetCursorImageMsg {
required uint64 cursor_id = 1;
optional int32 width = 2;
optional int32 height = 3;
optional int32 hot_x = 4;
optional int32 hot_y = 5;
optional bytes image = 6;
}
message CSetCursorScaleMsg {
optional float scale = 1;
}
message CVideoDecoderInfoMsg {
optional string info = 1;
optional int32 threads = 2;
}
message CVideoEncoderInfoMsg {
optional string info = 1;
}
message CPauseMsg {
}
message CResumeMsg {
}
message CEnableHighResCaptureMsg {
}
message CDisableHighResCaptureMsg {
}
message CEnableNeptuneDataMsg {
}
message CDisableNeptuneDataMsg {
}
message CPauseControllerInputMsg {
}
message CResumeControllerInputMsg {
}
message CToggleMagnificationMsg {
}
message CSetCapslockMsg {
optional bool pressed = 1;
}
message CStreamingKeymapEntry {
optional int32 scancode = 1;
optional int32 normal_keycode = 2;
optional int32 shift_keycode = 3;
optional int32 capslock_keycode = 4;
optional int32 shift_capslock_keycode = 5;
optional int32 altgr_keycode = 6;
optional int32 altgr_shift_keycode = 7;
optional int32 altgr_capslock_keycode = 8;
optional int32 altgr_shift_capslock_keycode = 9;
}
message CStreamingKeymap {
repeated .CStreamingKeymapEntry entries = 1;
}
message CSetKeymapMsg {
optional .CStreamingKeymap keymap = 1;
}
message CStopRequest {
}
message CQuitRequest {
}
message CDeleteCursorMsg {
required uint64 cursor_id = 1;
}
message CSetStreamingClientConfig {
required .CStreamingClientConfig config = 1;
}
message CSetQoSMsg {
required bool use_qos = 1;
}
message CSetTargetFramerateMsg {
required uint32 framerate = 1;
optional uint32 reasons = 2;
optional uint32 framerate_numerator = 3;
optional uint32 framerate_denominator = 4;
}
message CSetTargetBitrateMsg {
required int32 bitrate = 1;
}
message COverlayEnabledMsg {
required bool enabled = 1;
}
message CSetGammaRampMsg {
optional bytes gamma_ramp = 1;
}
message CSetActivityMsg {
optional .EStreamActivity activity = 1 [default = k_EStreamActivityIdle];
optional uint32 appid = 2;
optional uint64 gameid = 3;
optional string game_name = 4;
}
message CSystemSuspendMsg {
}
message CVirtualHereRequestMsg {
optional string hostname = 1;
}
message CVirtualHereReadyMsg {
optional uint32 licensed_device_count = 1;
}
message CVirtualHereShareDeviceMsg {
optional string device_address = 1;
}
message CSetSpectatorModeMsg {
optional bool enabled = 1;
}
message CRemoteHIDMsg {
optional bytes data = 1;
optional bool active_input = 2;
}
message CTouchConfigActiveMsg {
optional uint32 appid = 1;
optional uint32 revision = 2;
optional uint64 creator = 3;
}
message CGetTouchConfigDataMsg {
optional uint32 appid = 1;
}
message CSetTouchConfigDataMsg {
optional uint32 appid = 1;
optional uint32 revision = 2;
optional bytes data = 3;
optional bytes layout = 4;
optional uint64 creator = 5;
}
message CSaveTouchConfigLayoutMsg {
optional uint32 appid = 1;
optional bytes layout = 4;
}
message CTouchActionSetActiveMsg {
optional uint32 appid = 1;
optional int32 actionset_id = 2;
}
message CTouchActionSetLayerAddedMsg {
optional uint32 appid = 1;
optional int32 actionset_id = 2;
}
message CTouchActionSetLayerRemovedMsg {
optional uint32 appid = 1;
optional int32 actionset_id = 2;
}
message CGetTouchIconDataMsg {
optional uint32 appid = 1;
optional string icon = 2;
}
message CSetTouchIconDataMsg {
optional uint32 appid = 1;
optional string icon = 2;
optional bytes data = 3;
}
message CRemotePlayTogetherGroupUpdateMsg {
message Player {
optional uint32 accountid = 1;
optional uint32 guestid = 2;
optional bool keyboard_enabled = 3;
optional bool mouse_enabled = 4;
optional bool controller_enabled = 5;
repeated uint32 controller_slots = 6;
optional bytes avatar_hash = 7;
}
repeated .CRemotePlayTogetherGroupUpdateMsg.Player players = 1;
optional int32 player_index = 2;
optional string miniprofile_location = 3;
optional string game_name = 4;
optional string avatar_location = 5;
}
message CSetInputTemporarilyDisabledMsg {
optional bool disabled = 1;
}
message CSetQualityOverrideMsg {
optional int32 value = 1;
}
message CSetBitrateOverrideMsg {
optional int32 value = 1;
}
message CShowOnScreenKeyboardMsg {
}
message CControllerPersonalizationUpdateMsg {
optional string controller_path = 1;
optional string controller_name = 2;
optional bool reverse_diamond_button_layout = 3;
}
message CVRConnectionReady {
optional string connect_params = 1;
}
message CStreamDataLostMsg {
repeated uint32 packets = 1;
}
message CAudioFormat {
required .EAudioFormat format = 1 [default = k_EAudioFormatNone];
optional uint32 frequency = 2;
optional uint32 channels = 3;
}
message CVideoFormat {
required .EVideoFormat format = 1 [default = k_EVideoFormatNone];
optional uint32 width = 2;
optional uint32 height = 3;
}
message CFrameEvent {
required .EStreamFrameEvent event_id = 1 [default = k_EStreamInputEventStart];
required uint32 timestamp = 2;
}
message CFrameStats {
required uint32 frame_id = 1;
optional uint32 input_mark = 2;
repeated .CFrameEvent events = 3;
required .EStreamFrameResult result = 4 [default = k_EStreamFrameResultPending];
optional float frame_start_delta = 5;
optional float frame_display_delta = 6;
optional float ping_time = 7;
optional float server_bitrate = 8;
optional float client_bitrate = 9;
optional float link_bandwidth = 10;
optional float packet_loss = 11;
optional uint32 frame_size = 12;
}
message CFrameStatAccumulatedValue {
required .EFrameAccumulatedStat stat_type = 1 [default = k_EFrameStatFPS];
required int32 count = 2;
required float average = 3;
optional float stddev = 4;
}
message CFrameStatsListMsg {
required .EStreamingDataType data_type = 1 [default = k_EStreamingAudioData];
repeated .CFrameStats stats = 2;
repeated .CFrameStatAccumulatedValue accumulated_stats = 3;
required int32 latest_frame_id = 4;
}
message CStreamingSessionStats {
optional float frame_loss_percentage = 1;
optional float average_network_time_ms = 2;
optional float stddev_network_time_ms = 3;
optional string test_data = 4;
}
message CDebugDumpMsg {
optional bytes screenshot = 1;
}
message CLogMsg {
optional int32 type = 1;
optional string message = 2;
}
message CLogUploadMsg {
optional .ELogFileType type = 1 [default = k_ELogFileSystemBoot];
optional bytes data = 3;
}
message CTransportSignalMsg {
message WebRTCMessage {
message Candidate {
optional string sdp_mid = 1;
optional int32 sdp_mline_index = 2;
optional string candidate = 3;
}
oneof msg {
bool greeting = 1;
string offer = 2;
string answer = 3;
.CTransportSignalMsg.WebRTCMessage.Candidate candidate = 4;
}
}
optional .CTransportSignalMsg.WebRTCMessage webrtc = 1;
repeated bytes sdr = 2;
}
message CControllerConfigMsg {
message ControllerConfigResponse {
optional uint32 appid = 1;
optional string configURL = 2;
optional uint32 controllerType = 3;
optional string controllerData = 4;
optional uint32 selectionOrder = 5;
optional bool actionBlock = 6;
}
message ControllerPersonalizationResponse {
optional string personalizationData = 1;
}
message ControllerActiveConfigChangeResponse {
optional string configURL = 2;
optional uint32 controllerType = 3;
optional string controllerData = 4;
optional uint32 selectionOrder = 5;
}
message ControllerActiveConfigMsg {
optional uint32 appid = 1;
optional string configURL = 2;
optional uint32 controllerType = 3;
optional string controllerData = 4;
}
required .EStreamControllerConfigMsg type = 1 [default = k_EStreamControllerConfigMsg_RequestConfigsForApp];
optional string controllerPath = 2;
optional uint32 appid = 3;
optional .CControllerConfigMsg.ControllerPersonalizationResponse personalizationResponse = 4;
repeated .CControllerConfigMsg.ControllerConfigResponse configResponse = 6;
optional .CControllerConfigMsg.ControllerActiveConfigMsg activeConfigChangeMsg = 7;
}

View File

@@ -0,0 +1,35 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
enum EKeyEscrowUsage {
k_EKeyEscrowUsageStreamingDevice = 0;
}
message CKeyEscrow_Request {
optional bytes rsa_oaep_sha_ticket = 1;
optional bytes password = 2;
optional .EKeyEscrowUsage usage = 3 [default = k_EKeyEscrowUsageStreamingDevice];
optional string device_name = 4;
}
message CKeyEscrow_Ticket {
optional bytes password = 1;
optional uint64 identifier = 2;
optional bytes payload = 3;
optional uint32 timestamp = 4;
optional .EKeyEscrowUsage usage = 5 [default = k_EKeyEscrowUsageStreamingDevice];
optional string device_name = 6;
optional string device_model = 7;
optional string device_serial = 8;
optional uint32 device_provisioning_id = 9;
}
message CKeyEscrow_Response {
optional .CKeyEscrow_Ticket ticket = 1;
}
service Secrets {
rpc KeyEscrow (.CKeyEscrow_Request) returns (.CKeyEscrow_Response);
}

View File

@@ -0,0 +1,89 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CShader_GetShaderReportingCadence_Request {
}
message CShader_GetShaderReportingCadence_Response {
optional uint64 rereport_time_threshold = 1;
optional uint32 percent_to_rereport = 2;
}
message CShader_RegisterShader_Request {
message Shader {
optional bytes cache_key_sha = 1;
optional bytes shader_code_sha = 2;
}
optional uint32 appid = 1;
optional string gpu_desc = 2;
optional string driver_desc = 3;
repeated .CShader_RegisterShader_Request.Shader shaders = 4;
}
message CShader_RegisterShader_Response {
repeated uint32 requested_codeids = 1;
}
message CShader_SendShader_Request {
message ShaderCode {
optional bytes shader_code_sha = 1;
optional bytes shader_code = 2;
}
optional uint32 appid = 1;
repeated .CShader_SendShader_Request.ShaderCode shaders = 2;
}
message CShader_SendShader_Response {
}
message CShader_GetBucketManifest_Request {
optional uint32 appid = 1;
optional string gpu_desc = 2;
optional string driver_desc = 3;
}
message CShader_GetBucketManifest_Response {
optional uint64 manifestid = 1;
optional uint64 depotsize = 2;
optional uint64 bucketid = 3;
}
message CShader_GetStaleBucket_Request {
optional string gpu_desc = 1;
optional string driver_desc = 2;
}
message CShader_GetStaleBucket_Response {
optional uint64 bucketid = 1;
optional uint32 appid = 2;
optional uint64 manifestid = 3;
optional string gpu_desc = 4;
optional string driver_desc = 5;
optional bytes depot_encryption_key = 6;
}
message CShader_ReportExternalBuild_Request {
optional uint32 appid = 1;
optional string gpu_desc = 2;
optional string driver_desc = 3;
optional uint64 manifestid = 4;
optional string source_gpu_desc = 5;
optional string source_driver_desc = 6;
optional uint64 depotsize = 7;
}
message CShader_ReportExternalBuild_Response {
}
service Shader {
rpc GetShaderReportingCadence (.CShader_GetShaderReportingCadence_Request) returns (.CShader_GetShaderReportingCadence_Response);
rpc RegisterShader (.CShader_RegisterShader_Request) returns (.CShader_RegisterShader_Response);
rpc SendShader (.CShader_SendShader_Request) returns (.CShader_SendShader_Response);
rpc GetBucketManifest (.CShader_GetBucketManifest_Request) returns (.CShader_GetBucketManifest_Response);
rpc GetStaleBucket (.CShader_GetStaleBucket_Request) returns (.CShader_GetStaleBucket_Response);
rpc ReportExternalBuild (.CShader_ReportExternalBuild_Request) returns (.CShader_ReportExternalBuild_Response);
}

View File

@@ -0,0 +1,103 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CSiteManagerClient_IncomingClient_Request {
optional fixed64 site_instanceid = 1;
optional fixed64 client_steamid = 2;
optional fixed32 client_local_ip = 3;
optional bytes connection_key = 4;
}
message CSiteManagerClient_IncomingClient_Response {
}
message CSiteLicense_ClientSeatCheckout_Notification {
optional uint32 appid = 1;
optional uint32 eresult = 2;
}
message CSiteManagerClient_TrackedPayments_Notification {
message Payment {
optional uint64 transid = 1;
optional uint64 steamid = 2;
optional int64 amount = 3;
optional uint32 ecurrency = 4;
optional int32 time_created = 5;
optional int32 purchase_status = 6;
optional string machine_name = 7;
optional string persona_name = 8;
optional string profile_url = 9;
optional string avatar_url = 10;
}
optional fixed64 site_id = 1;
repeated .CSiteManagerClient_TrackedPayments_Notification.Payment payments = 2;
}
message CSiteLicense_InitiateAssociation_Request {
optional fixed64 site_steamid = 1;
optional fixed64 site_instanceid = 2;
optional fixed32 client_local_ip = 3;
}
message CSiteLicense_InitiateAssociation_Response {
optional bytes connection_key = 1;
}
message CSiteLicense_LCSAuthenticate_Request {
optional fixed64 instanceid = 1;
}
message CSiteLicense_LCSAuthenticate_Response {
optional uint64 site_id = 1;
optional string site_name = 2;
optional bool new_session = 3;
optional bool no_site_licenses = 4;
}
message CSiteLicense_LCSAssociateUser_Request {
optional fixed64 steamid = 1;
optional fixed32 local_ip = 2;
optional fixed64 instanceid = 3;
optional string machine_name = 4;
}
message CSiteLicense_LCSAssociateUser_Response {
}
message CSiteLicense_ClientSeatCheckout_Request {
optional fixed64 steamid = 1;
optional fixed64 instanceid = 2;
optional uint32 appid = 3;
}
message CSiteLicense_ClientSeatCheckout_Response {
}
message CSiteLicense_ClientGetAvailableSeats_Request {
optional fixed64 steamid = 1;
optional fixed64 instanceid = 2;
optional uint32 appid = 3;
}
message CSiteLicense_ClientGetAvailableSeats_Response {
optional uint32 available_seats = 1;
}
service SiteManagerClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc IncomingClient (.CSiteManagerClient_IncomingClient_Request) returns (.CSiteManagerClient_IncomingClient_Response);
rpc ClientSeatCheckoutNotification (.CSiteLicense_ClientSeatCheckout_Notification) returns (.NoResponse);
rpc TrackedPaymentsNotification (.CSiteManagerClient_TrackedPayments_Notification) returns (.NoResponse);
}
service SiteLicense {
rpc InitiateAssociation (.CSiteLicense_InitiateAssociation_Request) returns (.CSiteLicense_InitiateAssociation_Response);
rpc LCSAuthenticate (.CSiteLicense_LCSAuthenticate_Request) returns (.CSiteLicense_LCSAuthenticate_Response);
rpc LCSAssociateUser (.CSiteLicense_LCSAssociateUser_Request) returns (.CSiteLicense_LCSAssociateUser_Response);
rpc ClientSeatCheckout (.CSiteLicense_ClientSeatCheckout_Request) returns (.CSiteLicense_ClientSeatCheckout_Response);
rpc ClientGetAvailableSeats (.CSiteLicense_ClientGetAvailableSeats_Request) returns (.CSiteLicense_ClientGetAvailableSeats_Response);
}

View File

@@ -0,0 +1,38 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgClientSiteInfo {
optional uint64 site_id = 1;
optional string site_name = 2;
optional bool allow_cached_credentials = 3;
}
message CMsgClientSiteLicenseCheckout {
optional uint32 appid = 1;
}
message CMsgClientSiteLicenseCheckoutResponse {
optional int32 eresult = 1 [default = 2];
}
message CMsgClientSiteLicenseGetAvailableSeats {
optional uint32 appid = 1;
}
message CMsgClientSiteLicenseGetAvailableSeatsResponse {
optional int32 eresult = 1 [default = 2];
optional uint32 seats = 2;
}
message CMsgClientSiteLicenseGetContentCacheInfo {
}
message CMsgClientSiteLicenseGetContentCacheInfoResponse {
optional bool use_cache = 1;
optional uint32 ipv4_address = 2;
optional uint32 port_number = 3;
optional uint32 p2p_group = 4;
optional string ip_address = 5;
}

View File

@@ -0,0 +1,130 @@
import "steammessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
message SiteServerUI_Login_Request {
optional string username = 1;
optional string password = 2;
optional string steamguardcode = 3;
optional bool remember_password = 4;
}
message SiteServerUI_Login_Response {
optional int32 logon_state = 1;
optional int32 logon_eresult = 2;
}
message SiteServerUI_LoginStatus_Request {
}
message SiteServerUI_LoginStatus_Response {
optional string username = 1;
optional bool cached_credentials = 2;
optional int32 logon_state = 3;
optional int32 logon_eresult = 4;
}
message SiteServerUI_CancelLogin_Request {
}
message SiteServerUI_CancelLogin_Response {
optional int32 logon_state = 1;
optional int32 logon_eresult = 2;
}
message SiteServerUI_Logout_Request {
}
message SiteServerUI_Logout_Response {
optional int32 logon_state = 1;
optional int32 logout_eresult = 2;
}
message SiteServerUI_Quit_Request {
optional bool restart = 1;
}
message SiteServerUI_Quit_Response {
}
message SiteServerUI_Status_Request {
}
message SiteServerUI_Status_Response {
optional int32 logon_state = 1;
optional int32 logon_eresult = 2;
optional bool connected = 3;
optional bool cache_enabled = 4;
optional int32 acct_status = 5;
}
message SiteServerUI_GetLanguage_Request {
}
message SiteServerUI_GetLanguage_Response {
optional string language = 1;
}
message SiteServerUI_SetLanguage_Request {
optional string language = 1;
}
message SiteServerUI_SetLanguage_Response {
}
message SiteServerUI_ClientStatus_Request {
}
message SiteServerUI_ClientStatus_Response {
message ClientInfo {
optional uint32 ip = 1;
optional string hostname = 2;
optional bool connected = 3;
optional uint64 instance_id = 4;
}
message Payment {
optional uint64 transid = 1;
optional uint64 steamid = 2;
optional string amount = 3;
optional int32 time_created = 4;
optional int32 purchase_status = 5;
optional string hostname = 6;
optional string persona_name = 7;
optional string profile_url = 8;
optional string avatar_url = 9;
}
repeated .SiteServerUI_ClientStatus_Response.ClientInfo clients = 4;
repeated .SiteServerUI_ClientStatus_Response.Payment payments = 5;
}
message SiteServerUI_ContentCacheStatus_Request {
}
message SiteServerUI_ContentCacheStatus_Response {
optional bool enabled = 1;
optional uint32 port = 2;
optional string cache_location = 3;
optional uint32 max_size_gb = 4;
optional bool p2p_enabled = 5;
optional string explicit_ip_address = 9;
optional bool external_process = 10;
optional uint32 current_size_gb = 6;
optional uint64 current_bw = 7;
optional uint64 total_bytes_served = 8;
}
message SiteServerUI_ContentCacheConfig_Request {
optional bool enabled = 1;
optional uint32 port = 2;
optional string cache_location = 3;
optional uint32 max_size_gb = 4;
optional bool p2p_enabled = 5;
optional bool external_process = 6;
optional string explicit_ip_address = 7;
}
message SiteServerUI_ContentCacheConfig_Response {
}

View File

@@ -0,0 +1,533 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
enum EBroadcastImageType {
k_EBroadcastImageType_None = 0;
k_EBroadcastImageType_Offline = 1;
k_EBroadcastImageType_Standby = 2;
k_EBroadcastImageType_Avatar = 3;
k_EBroadcastImageType_Summary = 4;
k_EBroadcastImageType_Background = 5;
k_EBroadcastImageType_Emoticon = 6;
}
enum EGetGamesAlgorithm {
k_EGetGamesAlgorithm_Default = 1;
k_EGetGamesAlgorithm_MostPlayed = 2;
k_EGetGamesAlgorithm_PopularNew = 3;
}
enum EGetChannelsAlgorithm {
k_EGetChannelsAlgorithm_Default = 1;
k_EGetChannelsAlgorithm_Friends = 2;
k_EGetChannelsAlgorithm_Featured = 3;
k_EGetChannelsAlgorithm_Developer = 4;
k_EGetChannelsAlgorithm_Following = 5;
}
enum ESteamTVContentTemplate {
k_ESteamTVContentTemplate_Invalid = 0;
k_ESteamTVContentTemplate_Takeover = 1;
k_ESteamTVContentTemplate_SingleGame = 2;
k_ESteamTVContentTemplate_GameList = 3;
k_ESteamTVContentTemplate_QuickExplore = 4;
k_ESteamTVContentTemplate_ConveyorBelt = 5;
k_ESteamTVContentTemplate_WatchParty = 6;
k_ESteamTVContentTemplate_Developer = 7;
k_ESteamTVContentTemplate_Event = 8;
}
message CSteamTV_CreateBroadcastChannel_Request {
optional string unique_name = 1;
}
message CSteamTV_CreateBroadcastChannel_Response {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_GetBroadcastChannelID_Request {
optional string unique_name = 1;
}
message CSteamTV_GetBroadcastChannelID_Response {
optional fixed64 broadcast_channel_id = 1;
optional string unique_name = 2;
optional fixed64 steamid = 3;
}
message CSteamTV_SetBroadcastChannelProfile_Request {
optional fixed64 broadcast_channel_id = 1;
optional string name = 2;
optional string language = 3;
optional string headline = 4;
optional string summary = 5;
optional string avatar_hash = 6;
optional string schedule = 7;
optional string rules = 8;
optional string panels = 9;
}
message CSteamTV_SetBroadcastChannelProfile_Response {
}
message CSteamTV_GetBroadcastChannelProfile_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_GetBroadcastChannelProfile_Response {
optional string unique_name = 1;
optional fixed64 owner_steamid = 2;
optional string name = 3;
optional string language = 4;
optional string headline = 5;
optional string summary = 6;
optional string schedule = 7;
optional string rules = 8;
optional string panels = 9;
optional bool is_partnered = 10;
}
message CSteamTV_SetBroadcastChannelImage_Request {
optional fixed64 broadcast_channel_id = 1;
optional .EBroadcastImageType image_type = 2 [default = k_EBroadcastImageType_None];
optional uint32 image_index = 3;
optional uint32 image_width = 4;
optional uint32 image_height = 5;
optional uint32 file_size = 6;
optional string file_extension = 7;
optional string file_hash = 8;
optional bool undo = 9;
}
message CSteamTV_SetBroadcastChannelImage_Response {
optional string replace_image_hash = 1;
}
message CSteamTV_GetBroadcastChannelImages_Request {
optional fixed64 broadcast_channel_id = 1;
repeated .EBroadcastImageType image_types = 2;
}
message CSteamTV_GetBroadcastChannelImages_Response {
message Images {
optional .EBroadcastImageType image_type = 1 [default = k_EBroadcastImageType_None];
optional string image_path = 2;
optional uint32 image_index = 3;
}
repeated .CSteamTV_GetBroadcastChannelImages_Response.Images images = 1;
}
message CSteamTV_SetBroadcastChannelLinkRegions_Request {
message Links {
optional uint32 link_index = 1;
optional string url = 2;
optional string link_description = 3;
optional uint32 left = 4;
optional uint32 top = 5;
optional uint32 width = 6;
optional uint32 height = 7;
}
optional fixed64 broadcast_channel_id = 1;
repeated .CSteamTV_SetBroadcastChannelLinkRegions_Request.Links links = 2;
}
message CSteamTV_SetBroadcastChannelLinkRegions_Response {
}
message CSteamTV_GetBroadcastChannelLinks_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_GetBroadcastChannelLinks_Response {
message Links {
optional uint32 link_index = 1;
optional string url = 2;
optional string link_description = 3;
optional uint32 left = 4;
optional uint32 top = 5;
optional uint32 width = 6;
optional uint32 height = 7;
}
repeated .CSteamTV_GetBroadcastChannelLinks_Response.Links links = 1;
}
message CSteamTV_GetBroadcastChannelBroadcasters_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_GetBroadcastChannelBroadcasters_Response {
message Broadcaster {
optional fixed64 steamid = 1;
optional string name = 2;
optional string rtmp_token = 3;
}
repeated .CSteamTV_GetBroadcastChannelBroadcasters_Response.Broadcaster broadcasters = 1;
}
message CSteamTV_GetFollowedChannels_Request {
}
message GetBroadcastChannelEntry {
optional fixed64 broadcast_channel_id = 1;
optional string unique_name = 2;
optional string name = 3;
optional uint32 appid = 4;
optional uint64 viewers = 5;
optional uint64 views = 6;
optional string thumbnail_url = 7;
optional uint64 followers = 8;
optional string headline = 9;
optional string avatar_url = 10;
optional fixed64 broadcaster_steamid = 11;
optional uint64 subscribers = 12;
optional string background_url = 13;
optional bool is_featured = 14;
optional bool is_disabled = 15;
optional bool is_live = 16;
optional string language = 17;
optional uint32 reports = 18;
optional bool is_partnered = 19;
}
message CSteamTV_GetFollowedChannels_Response {
repeated .GetBroadcastChannelEntry results = 1;
}
message CSteamTV_GetSubscribedChannels_Request {
}
message CSteamTV_GetSubscribedChannels_Response {
repeated .GetBroadcastChannelEntry results = 1;
}
message CSteamTV_GetBroadcastChannelStatus_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_GetBroadcastChannelStatus_Response {
optional bool is_live = 1;
optional bool is_disabled = 2;
optional uint32 appid = 3;
optional uint64 viewers = 4;
optional uint64 views = 5;
optional fixed64 broadcaster_steamid = 6;
optional string thumbnail_url = 7;
optional uint64 followers = 8;
optional uint64 subscribers = 9;
optional string unique_name = 10;
optional uint64 broadcast_session_id = 11;
}
message CSteamTV_FollowBroadcastChannel_Request {
optional fixed64 broadcast_channel_id = 1;
optional bool undo = 2;
}
message CSteamTV_FollowBroadcastChannel_Response {
optional bool is_followed = 1;
}
message CSteamTV_SubscribeBroadcastChannel_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_SubscribeBroadcastChannel_Response {
optional bool is_subscribed = 1;
}
message CSteamTV_GetBroadcastChannelClips_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_BroadcastClipInfo {
optional uint64 broadcast_clip_id = 1;
optional uint64 channel_id = 2;
optional uint32 app_id = 3;
optional fixed64 broadcaster_steamid = 4;
optional fixed64 creator_steamid = 5;
optional string video_description = 6;
optional uint32 live_time = 7;
optional uint32 length_ms = 8;
optional string thumbnail_path = 9;
}
message CSteamTV_GetBroadcastChannelClips_Response {
repeated .CSteamTV_BroadcastClipInfo clips = 1;
optional string thumbnail_host = 2;
}
message CSteamTV_ReportBroadcastChannel_Request {
optional fixed64 broadcast_channel_id = 1;
optional string reason = 2;
}
message CSteamTV_ReportBroadcastChannel_Response {
}
message CSteamTV_GetBroadcastChannelInteraction_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_GetBroadcastChannelInteraction_Response {
optional bool is_followed = 1;
optional bool is_subscribed = 2;
}
message CSteamTV_GetGames_Request {
optional uint32 appid = 1;
optional .EGetGamesAlgorithm algorithm = 2 [default = k_EGetGamesAlgorithm_Default];
optional uint32 count = 3;
}
message CSteamTV_Game {
optional uint32 appid = 1;
optional string name = 2;
optional string image = 3;
optional uint64 viewers = 4;
repeated .GetBroadcastChannelEntry channels = 5;
optional string release_date = 6;
optional string developer = 7;
optional string publisher = 8;
}
message CSteamTV_GetGames_Response {
repeated .CSteamTV_Game results = 1;
}
message CSteamTV_GetChannels_Request {
optional .EGetChannelsAlgorithm algorithm = 1 [default = k_EGetChannelsAlgorithm_Default];
optional uint32 count = 2;
optional uint32 appid = 3;
}
message CSteamTV_GetChannels_Response {
repeated .GetBroadcastChannelEntry results = 1;
}
message CSteamTV_AddChatBan_Request {
optional fixed64 broadcast_channel_id = 1;
optional fixed64 chatter_steamid = 2;
optional uint32 duration = 3;
optional bool permanent = 4;
optional bool undo = 5;
}
message CSteamTV_AddChatBan_Response {
}
message CSteamTV_GetChatBans_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_ChatBan {
optional fixed64 issuer_steamid = 1;
optional fixed64 chatter_steamid = 2;
optional string time_expires = 3;
optional bool permanent = 4;
optional string name = 5;
}
message CSteamTV_GetChatBans_Response {
repeated .CSteamTV_ChatBan results = 1;
}
message CSteamTV_AddChatModerator_Request {
optional fixed64 broadcast_channel_id = 1;
optional fixed64 moderator_steamid = 2;
optional bool undo = 3;
}
message CSteamTV_AddChatModerator_Response {
}
message CSteamTV_GetChatModerators_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_ChatModerator {
optional fixed64 steamid = 1;
optional string name = 2;
}
message CSteamTV_GetChatModerators_Response {
repeated .CSteamTV_ChatModerator results = 1;
}
message CSteamTV_AddWordBan_Request {
optional fixed64 broadcast_channel_id = 1;
optional string word = 2;
optional bool undo = 3;
}
message CSteamTV_AddWordBan_Response {
}
message CSteamTV_GetWordBans_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_GetWordBans_Response {
repeated string results = 1;
}
message CSteamTV_JoinChat_Request {
optional fixed64 broadcast_channel_id = 1;
}
message CSteamTV_JoinChat_Response {
optional fixed64 chat_id = 1;
optional string view_url_template = 2;
repeated uint64 flair_group_ids = 3;
}
message CSteamTV_Search_Request {
optional string term = 1;
}
message CSteamTV_Search_Response {
repeated .GetBroadcastChannelEntry results = 1;
}
message CSteamTV_GetSteamTVUserSettings_Request {
}
message CSteamTV_GetSteamTVUserSettings_Response {
optional bool stream_live_email = 1;
optional bool stream_live_notification = 2;
}
message CSteamTV_SetSteamTVUserSettings_Request {
optional bool stream_live_email = 1;
optional bool stream_live_notification = 2;
}
message CSteamTV_SetSteamTVUserSettings_Response {
}
message CSteamTV_GetMyBroadcastChannels_Request {
}
message CSteamTV_GetMyBroadcastChannels_Response {
repeated .GetBroadcastChannelEntry results = 1;
}
message CSteamTV_GetHomePageContents_Request {
}
message CSteamTV_HomePageTemplate_Takeover {
repeated .GetBroadcastChannelEntry broadcasts = 1;
}
message CSteamTV_HomePageTemplate_SingleGame {
repeated .GetBroadcastChannelEntry broadcasts = 1;
optional uint32 appid = 2;
optional string title = 3;
}
message GameListEntry {
optional uint32 appid = 1;
optional string game_name = 2;
optional .GetBroadcastChannelEntry broadcast = 3;
}
message CSteamTV_HomePageTemplate_GameList {
repeated .GameListEntry entries = 1;
optional string title = 2;
}
message CSteamTV_HomePageTemplate_QuickExplore {
repeated .GetBroadcastChannelEntry broadcasts = 1;
optional string title = 2;
}
message CSteamTV_HomePageTemplate_ConveyorBelt {
repeated .GetBroadcastChannelEntry broadcasts = 1;
optional string title = 2;
}
message CSteamTV_HomePageTemplate_WatchParty {
optional .GetBroadcastChannelEntry broadcast = 1;
optional string title = 2;
optional uint64 chat_group_id = 3;
}
message CSteamTV_HomePageTemplate_Developer {
optional .GetBroadcastChannelEntry broadcast = 1;
optional string title = 2;
}
message CSteamTV_HomePageTemplate_Event {
optional string title = 1;
}
message CSteamTV_HomePageContentRow {
optional .ESteamTVContentTemplate template_type = 1 [default = k_ESteamTVContentTemplate_Invalid];
optional .CSteamTV_HomePageTemplate_Takeover takeover = 2;
optional .CSteamTV_HomePageTemplate_SingleGame single_game = 3;
optional .CSteamTV_HomePageTemplate_GameList game_list = 4;
optional .CSteamTV_HomePageTemplate_QuickExplore quick_explore = 5;
optional .CSteamTV_HomePageTemplate_ConveyorBelt conveyor_belt = 6;
optional .CSteamTV_HomePageTemplate_WatchParty watch_party = 7;
optional .CSteamTV_HomePageTemplate_Developer developer = 8;
optional .CSteamTV_HomePageTemplate_Event event = 9;
}
message CSteamTV_GetHomePageContents_Response {
repeated .CSteamTV_HomePageContentRow rows = 1;
}
message CSteamTV_AppCheer_SingleCheerType {
optional uint32 cheer_type = 1;
optional uint32 cheer_amount = 2;
}
message CSteamTV_AppCheer_Request {
optional uint32 app_id = 1;
optional fixed64 cheer_target_id = 2;
repeated .CSteamTV_AppCheer_SingleCheerType cheers = 3;
}
message CSteamTV_AppCheer_Response {
optional uint32 aggregation_delay_ms = 1;
}
service SteamTV {
rpc CreateBroadcastChannel (.CSteamTV_CreateBroadcastChannel_Request) returns (.CSteamTV_CreateBroadcastChannel_Response);
rpc GetBroadcastChannelID (.CSteamTV_GetBroadcastChannelID_Request) returns (.CSteamTV_GetBroadcastChannelID_Response);
rpc SetBroadcastChannelProfile (.CSteamTV_SetBroadcastChannelProfile_Request) returns (.CSteamTV_SetBroadcastChannelProfile_Response);
rpc GetBroadcastChannelProfile (.CSteamTV_GetBroadcastChannelProfile_Request) returns (.CSteamTV_GetBroadcastChannelProfile_Response);
rpc SetBroadcastChannelImage (.CSteamTV_SetBroadcastChannelImage_Request) returns (.CSteamTV_SetBroadcastChannelImage_Response);
rpc GetBroadcastChannelImages (.CSteamTV_GetBroadcastChannelImages_Request) returns (.CSteamTV_GetBroadcastChannelImages_Response);
rpc SetBroadcastChannelLinkRegions (.CSteamTV_SetBroadcastChannelLinkRegions_Request) returns (.CSteamTV_SetBroadcastChannelLinkRegions_Response);
rpc GetBroadcastChannelLinks (.CSteamTV_GetBroadcastChannelLinks_Request) returns (.CSteamTV_GetBroadcastChannelLinks_Response);
rpc GetBroadcastChannelBroadcasters (.CSteamTV_GetBroadcastChannelBroadcasters_Request) returns (.CSteamTV_GetBroadcastChannelBroadcasters_Response);
rpc GetFollowedChannels (.CSteamTV_GetFollowedChannels_Request) returns (.CSteamTV_GetFollowedChannels_Response);
rpc GetSubscribedChannels (.CSteamTV_GetSubscribedChannels_Request) returns (.CSteamTV_GetSubscribedChannels_Response);
rpc GetBroadcastChannelStatus (.CSteamTV_GetBroadcastChannelStatus_Request) returns (.CSteamTV_GetBroadcastChannelStatus_Response);
rpc FollowBroadcastChannel (.CSteamTV_FollowBroadcastChannel_Request) returns (.CSteamTV_FollowBroadcastChannel_Response);
rpc SubscribeBroadcastChannel (.CSteamTV_SubscribeBroadcastChannel_Request) returns (.CSteamTV_SubscribeBroadcastChannel_Response);
rpc GetBroadcastChannelClips (.CSteamTV_GetBroadcastChannelClips_Request) returns (.CSteamTV_GetBroadcastChannelClips_Response);
rpc ReportBroadcastChannel (.CSteamTV_ReportBroadcastChannel_Request) returns (.CSteamTV_ReportBroadcastChannel_Response);
rpc GetBroadcastChannelInteraction (.CSteamTV_GetBroadcastChannelInteraction_Request) returns (.CSteamTV_GetBroadcastChannelInteraction_Response);
rpc GetGames (.CSteamTV_GetGames_Request) returns (.CSteamTV_GetGames_Response);
rpc GetChannels (.CSteamTV_GetChannels_Request) returns (.CSteamTV_GetChannels_Response);
rpc AddChatBan (.CSteamTV_AddChatBan_Request) returns (.CSteamTV_AddChatBan_Response);
rpc GetChatBans (.CSteamTV_GetChatBans_Request) returns (.CSteamTV_GetChatBans_Response);
rpc AddChatModerator (.CSteamTV_AddChatModerator_Request) returns (.CSteamTV_AddChatModerator_Response);
rpc GetChatModerators (.CSteamTV_GetChatModerators_Request) returns (.CSteamTV_GetChatModerators_Response);
rpc AddWordBan (.CSteamTV_AddWordBan_Request) returns (.CSteamTV_AddWordBan_Response);
rpc GetWordBans (.CSteamTV_GetWordBans_Request) returns (.CSteamTV_GetWordBans_Response);
rpc JoinChat (.CSteamTV_JoinChat_Request) returns (.CSteamTV_JoinChat_Response);
rpc Search (.CSteamTV_Search_Request) returns (.CSteamTV_Search_Response);
rpc GetSteamTVUserSettings (.CSteamTV_GetSteamTVUserSettings_Request) returns (.CSteamTV_GetSteamTVUserSettings_Response);
rpc SetSteamTVUserSettings (.CSteamTV_SetSteamTVUserSettings_Request) returns (.CSteamTV_SetSteamTVUserSettings_Response);
rpc GetMyBroadcastChannels (.CSteamTV_GetMyBroadcastChannels_Request) returns (.CSteamTV_GetMyBroadcastChannels_Response);
rpc GetHomePageContents (.CSteamTV_GetHomePageContents_Request) returns (.CSteamTV_GetHomePageContents_Response);
rpc AppCheer (.CSteamTV_AppCheer_Request) returns (.CSteamTV_AppCheer_Response);
}

View File

@@ -0,0 +1,425 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "contenthubs.proto";
import "enums.proto";
option cc_generic_services = true;
enum EStoreDiscoveryQueueType {
k_EStoreDiscoveryQueueTypeNew = 0;
k_EStoreDiscoveryQueueTypeComingSoon = 1;
k_EStoreDiscoveryQueueTypeRecommended = 2;
k_EStoreDiscoveryQueueTypeEveryNewRelease = 3;
k_EStoreDiscoveryQueueTypeMLRecommender = 5;
k_EStoreDiscoveryQueueTypeWishlistOnSale = 6;
k_EStoreDiscoveryQueueTypeDLC = 7;
k_EStoreDiscoveryQueueTypeDLCOnSale = 8;
k_EStoreDiscoveryQueueTypeRecommendedComingSoon = 9;
k_EStoreDiscoveryQueueTypeRecommendedFree = 10;
k_EStoreDiscoveryQueueTypeRecommendedOnSale = 11;
k_EStoreDiscoveryQueueTypeRecommendedDemos = 12;
k_EStoreDiscoveryQueueTypeDLCNewReleases = 13;
k_EStoreDiscoveryQueueTypeDLCTopSellers = 14;
k_EStoreDiscoveryQueueTypeMAX = 15;
}
enum EPlaytestStatus {
k_ETesterStatusNone = 0;
k_ETesterStatusPending = 1;
k_ETesterStatusInvited = 2;
k_ETesterStatusGranted = 3;
}
enum EAppReportType {
k_EAppReportType_Invalid = 0;
k_EAppReportType_Scam = 1;
k_EAppReportType_Malware = 2;
k_EAppReportType_HateSpeech = 3;
k_EAppReportType_Pornography = 4;
k_EAppReportType_NonLabeledAdultContent = 5;
k_EAppReportType_Libelous = 6;
k_EAppReportType_Offensive = 7;
k_EAppReportType_ExploitsChildren = 8;
k_EAppReportType_MtxWithNonSteamWalletPaymentMethods = 9;
k_EAppReportType_CopyrightViolation = 10;
k_EAppReportType_ViolatesLaws = 11;
k_EAppReportType_Other = 12;
k_EAppReportType_Broken = 13;
k_EAppReportType_AIContentReport = 14;
}
enum EUserReviewScorePreference {
k_EUserReviewScorePreference_Unset = 0;
k_EUserReviewScorePreference_IncludeAll = 1;
k_EUserReviewScorePreference_ExcludeBombs = 2;
}
enum EPartnerLinkTrackingBackfillSource {
k_EPartnerLinkTrackingBackfillSource_None = 0;
k_EPartnerLinkTrackingBackfillSource_Web = 1;
k_EPartnerLinkTrackingBackfillSource_Mobile = 2;
k_EPartnerLinkTrackingBackfillSource_Desktop = 3;
}
message CStore_RegisterCDKey_Request {
optional string activation_code = 1;
optional int32 purchase_platform = 2;
optional bool is_request_from_client = 3;
}
message CStore_PurchaseReceiptInfo {
message LineItem {
optional uint32 packageid = 1;
optional uint32 appid = 2;
optional string line_item_description = 3;
}
optional uint64 transactionid = 1;
optional uint32 packageid = 2;
optional uint32 purchase_status = 3;
optional uint32 result_detail = 4;
optional uint32 transaction_time = 5;
optional uint32 payment_method = 6;
optional uint64 base_price = 7;
optional uint64 total_discount = 8;
optional uint64 tax = 9;
optional uint64 shipping = 10;
optional uint32 currency_code = 11;
optional string country_code = 12;
optional string error_headline = 13;
optional string error_string = 14;
optional string error_link_text = 15;
optional string error_link_url = 16;
optional uint32 error_appid = 17;
repeated .CStore_PurchaseReceiptInfo.LineItem line_items = 18;
}
message CStore_RegisterCDKey_Response {
optional int32 purchase_result_details = 1;
optional .CStore_PurchaseReceiptInfo purchase_receipt_info = 2;
}
message CStore_GetMostPopularTags_Request {
optional string language = 1;
}
message CStore_GetMostPopularTags_Response {
message Tag {
optional uint32 tagid = 1;
optional string name = 2;
}
repeated .CStore_GetMostPopularTags_Response.Tag tags = 1;
}
message CStore_GetLocalizedNameForTags_Request {
optional string language = 1;
repeated uint32 tagids = 2;
}
message CStore_GetLocalizedNameForTags_Response {
message Tag {
optional uint32 tagid = 1;
optional string english_name = 2;
optional string name = 3;
optional string normalized_name = 4;
}
repeated .CStore_GetLocalizedNameForTags_Response.Tag tags = 1;
}
message CStore_GetTagList_Request {
optional string language = 1;
optional string have_version_hash = 2;
}
message CStore_GetTagList_Response {
message Tag {
optional uint32 tagid = 1;
optional string name = 2;
}
optional string version_hash = 1;
repeated .CStore_GetTagList_Response.Tag tags = 2;
}
message CStoreDiscoveryQueueSettings {
optional bool os_win = 4;
optional bool os_mac = 5;
optional bool os_linux = 6;
optional bool full_controller_support = 7;
optional bool native_steam_controller = 8;
optional bool include_coming_soon = 9;
repeated uint32 excluded_tagids = 10;
optional bool exclude_early_access = 11;
optional bool exclude_videos = 12;
optional bool exclude_software = 13;
optional bool exclude_dlc = 14;
optional bool exclude_soundtracks = 15;
repeated uint32 featured_tagids = 16;
}
message CStore_GetDiscoveryQueue_Request {
optional .EStoreDiscoveryQueueType queue_type = 1 [default = k_EStoreDiscoveryQueueTypeNew];
optional string country_code = 2;
optional bool rebuild_queue = 3;
optional bool settings_changed = 4;
optional .CStoreDiscoveryQueueSettings settings = 5;
optional bool rebuild_queue_if_stale = 6;
optional bool ignore_user_preferences = 8;
optional bool no_experimental_results = 9;
optional uint32 experimental_cohort = 10;
optional bool debug_get_solr_query = 11;
optional .CStorePageFilter store_page_filter = 12;
}
message CStore_GetDiscoveryQueue_Response {
repeated uint32 appids = 1;
optional string country_code = 2;
optional .CStoreDiscoveryQueueSettings settings = 3;
optional int32 skipped = 4;
optional bool exhausted = 5;
optional uint32 experimental_cohort = 6;
optional string debug_solr_query = 7;
}
message CStore_GetDiscoveryQueueSettings_Request {
optional .EStoreDiscoveryQueueType queue_type = 1 [default = k_EStoreDiscoveryQueueTypeNew];
optional .CStorePageFilter store_page_filter = 2;
}
message CStore_GetDiscoveryQueueSettings_Response {
optional string country_code = 1;
optional .CStoreDiscoveryQueueSettings settings = 2;
}
message CStore_SkipDiscoveryQueueItem_Request {
optional .EStoreDiscoveryQueueType queue_type = 1 [default = k_EStoreDiscoveryQueueTypeNew];
optional uint32 appid = 2;
optional .CStorePageFilter store_page_filter = 3;
}
message CStore_SkipDiscoveryQueueItem_Response {
}
message CStore_GetUserGameInterestState_Request {
optional uint32 appid = 1;
optional uint32 store_appid = 2;
optional uint32 beta_appid = 3;
}
message CStore_GetUserGameInterestState_Response {
message InQueue {
optional .EStoreDiscoveryQueueType type = 1 [default = k_EStoreDiscoveryQueueTypeNew];
optional bool skipped = 2;
optional int32 items_remaining = 3;
optional uint32 next_appid = 4;
optional uint32 experimental_cohort = 5;
}
optional bool owned = 1;
optional bool wishlist = 2;
optional bool ignored = 3;
optional bool following = 4;
repeated .EStoreDiscoveryQueueType in_queues = 5;
repeated .EStoreDiscoveryQueueType queues_with_skip = 6;
repeated int32 queue_items_remaining = 7;
repeated uint32 queue_items_next_appid = 8;
optional bool temporarily_owned = 9;
repeated .CStore_GetUserGameInterestState_Response.InQueue queues = 10;
optional int32 ignored_reason = 11;
optional .EPlaytestStatus beta_status = 12 [default = k_ETesterStatusNone];
}
message CStore_GetDiscoveryQueueSkippedApps_Request {
optional fixed64 steamid = 1;
optional .EStoreDiscoveryQueueType queue_type = 2 [default = k_EStoreDiscoveryQueueTypeNew];
optional .CStorePageFilter store_page_filter = 3;
}
message CStore_GetDiscoveryQueueSkippedApps_Response {
repeated uint32 appids = 1;
}
message CStore_ReportApp_Request {
optional uint32 appid = 1;
optional .EAppReportType report_type = 2 [default = k_EAppReportType_Invalid];
optional string report = 3;
}
message CStore_ReportApp_Response {
}
message CStore_GetStorePreferences_Request {
}
message CStore_UserPreferences {
optional int32 primary_language = 1;
optional uint32 secondary_languages = 2;
optional bool platform_windows = 3;
optional bool platform_mac = 4;
optional bool platform_linux = 5;
optional uint32 timestamp_updated = 8;
optional bool hide_store_broadcast = 9;
optional .EUserReviewScorePreference review_score_preference = 10 [default = k_EUserReviewScorePreference_Unset];
optional int32 timestamp_content_descriptor_preferences_updated = 11;
optional .EProvideDeckFeedbackPreference provide_deck_feedback = 12 [default = k_EProvideDeckFeedbackPreference_Unset];
optional string additional_languages = 13;
}
message CStore_UserTagPreferences {
message Tag {
optional uint32 tagid = 1;
optional string name = 2;
optional uint32 timestamp_added = 3;
}
repeated .CStore_UserTagPreferences.Tag tags_to_exclude = 1;
}
message CStore_GetStorePreferences_Response {
optional .CStore_UserPreferences preferences = 1;
optional .CStore_UserTagPreferences tag_preferences = 2;
optional .UserContentDescriptorPreferences content_descriptor_preferences = 3;
}
message CStore_GetTrendingAppsAmongFriends_Request {
optional uint32 num_apps = 1;
optional uint32 num_top_friends = 2;
}
message CStore_GetTrendingAppsAmongFriends_Response {
message TrendingAppData {
optional uint32 appid = 1;
repeated uint64 steamids_top_friends = 2;
optional uint32 total_friends = 3;
}
repeated .CStore_GetTrendingAppsAmongFriends_Response.TrendingAppData trending_apps = 1;
}
message CStore_MigratePartnerLinkTracking_Notification {
optional uint32 accountid = 1;
optional uint64 browserid = 2;
optional .EPartnerLinkTrackingBackfillSource backfill_source = 3 [default = k_EPartnerLinkTrackingBackfillSource_None];
}
message CStore_UpdatePackageReservations_Request {
repeated uint32 packages_to_reserve = 1;
repeated uint32 packages_to_unreserve = 2;
optional string country_code = 3;
}
message CStore_UpdatePackageReservations_Response {
repeated .CPackageReservationStatus reservation_status = 1;
}
message CStore_GetWishlistDemoEmailStatus_Request {
optional uint32 appid = 1;
optional uint32 demo_appid = 2;
}
message CStore_GetWishlistDemoEmailStatus_Response {
optional bool can_fire = 1 [default = false];
optional uint32 time_staged = 2;
optional uint32 demo_release_date = 3;
}
message CStore_QueueWishlistDemoEmailToFire_Request {
optional uint32 appid = 1;
optional uint32 demo_appid = 2;
}
message CStore_QueueWishlistDemoEmailToFire_Response {
}
message CReservationPositionMessage {
optional uint32 edistributor = 1;
optional string product_identifier = 2;
optional uint32 start_queue_position = 3;
optional uint32 rtime_estimated_notification = 4;
optional string localization_token = 5;
optional uint32 accountid = 6;
optional uint32 rtime_created = 7;
}
message CStore_SetReservationPositionMessage_Request {
repeated .CReservationPositionMessage settings = 1;
}
message CStore_SetReservationPositionMessage_Response {
}
message CStore_DeleteReservationPositionMessage_Request {
optional uint32 edistributor = 1;
optional string product_identifier = 2;
optional uint32 start_queue_position = 3;
}
message CStore_DeleteReservationPositionMessage_Response {
}
message CStore_GetAllReservationPositionMessages_Request {
}
message CStore_GetAllReservationPositionMessages_Response {
repeated .CReservationPositionMessage settings = 1;
}
message CStore_ReloadAllReservationPositionMessages_Notification {
}
message CSteamDeckCompatibility_SetFeedback_Request {
optional uint32 appid = 1;
optional .ESteamDeckCompatibilityFeedback feedback = 2 [default = k_ESteamDeckCompatibilityFeedback_Unset];
}
message CSteamDeckCompatibility_SetFeedback_Response {
}
message CSteamDeckCompatibility_ShouldPrompt_Request {
optional uint32 appid = 1;
}
message CSteamDeckCompatibility_ShouldPrompt_Response {
optional bool prompt = 1;
optional bool feedback_eligible = 2;
optional .ESteamDeckCompatibilityFeedback existing_feedback = 3 [default = k_ESteamDeckCompatibilityFeedback_Unset];
}
message CStore_StorePreferencesChanged_Notification {
optional .CStore_UserPreferences preferences = 1;
optional .CStore_UserTagPreferences tag_preferences = 2;
optional .UserContentDescriptorPreferences content_descriptor_preferences = 3;
}
service Store {
rpc RegisterCDKey (.CStore_RegisterCDKey_Request) returns (.CStore_RegisterCDKey_Response);
rpc GetMostPopularTags (.CStore_GetMostPopularTags_Request) returns (.CStore_GetMostPopularTags_Response);
rpc GetLocalizedNameForTags (.CStore_GetLocalizedNameForTags_Request) returns (.CStore_GetLocalizedNameForTags_Response);
rpc GetTagList (.CStore_GetTagList_Request) returns (.CStore_GetTagList_Response);
rpc GetDiscoveryQueue (.CStore_GetDiscoveryQueue_Request) returns (.CStore_GetDiscoveryQueue_Response);
rpc GetDiscoveryQueueSettings (.CStore_GetDiscoveryQueueSettings_Request) returns (.CStore_GetDiscoveryQueueSettings_Response);
rpc SkipDiscoveryQueueItem (.CStore_SkipDiscoveryQueueItem_Request) returns (.CStore_SkipDiscoveryQueueItem_Response);
rpc GetUserGameInterestState (.CStore_GetUserGameInterestState_Request) returns (.CStore_GetUserGameInterestState_Response);
rpc GetDiscoveryQueueSkippedApps (.CStore_GetDiscoveryQueueSkippedApps_Request) returns (.CStore_GetDiscoveryQueueSkippedApps_Response);
rpc ReportApp (.CStore_ReportApp_Request) returns (.CStore_ReportApp_Response);
rpc GetStorePreferences (.CStore_GetStorePreferences_Request) returns (.CStore_GetStorePreferences_Response);
rpc GetTrendingAppsAmongFriends (.CStore_GetTrendingAppsAmongFriends_Request) returns (.CStore_GetTrendingAppsAmongFriends_Response);
rpc MigratePartnerLinkTracking (.CStore_MigratePartnerLinkTracking_Notification) returns (.NoResponse);
rpc UpdatePackageReservations (.CStore_UpdatePackageReservations_Request) returns (.CStore_UpdatePackageReservations_Response);
rpc GetWishlistDemoEmailStatus (.CStore_GetWishlistDemoEmailStatus_Request) returns (.CStore_GetWishlistDemoEmailStatus_Response);
rpc QueueWishlistDemoEmailToFire (.CStore_QueueWishlistDemoEmailToFire_Request) returns (.CStore_QueueWishlistDemoEmailToFire_Response);
rpc SetReservationPositionMessage (.CStore_SetReservationPositionMessage_Request) returns (.CStore_SetReservationPositionMessage_Response);
rpc DeleteReservationPositionMessage (.CStore_DeleteReservationPositionMessage_Request) returns (.CStore_DeleteReservationPositionMessage_Response);
rpc GetAllReservationPositionMessages (.CStore_GetAllReservationPositionMessages_Request) returns (.CStore_GetAllReservationPositionMessages_Response);
rpc ReloadAllReservationPositionMessages (.CStore_ReloadAllReservationPositionMessages_Notification) returns (.NoResponse);
rpc SetCompatibilityFeedback (.CSteamDeckCompatibility_SetFeedback_Request) returns (.CSteamDeckCompatibility_SetFeedback_Response);
rpc ShouldPromptForCompatibilityFeedback (.CSteamDeckCompatibility_ShouldPrompt_Request) returns (.CSteamDeckCompatibility_ShouldPrompt_Response);
}
service StoreClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyStorePreferencesChanged (.CStore_StorePreferencesChanged_Notification) returns (.NoResponse);
}

View File

@@ -0,0 +1,477 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
import "enums_productinfo.proto";
import "enums.proto";
import "contenthubs.proto";
option cc_generic_services = true;
enum EStoreItemType {
k_EStoreItemType_Invalid = -1;
k_EStoreItemType_App = 0;
k_EStoreItemType_Package = 1;
k_EStoreItemType_Bundle = 2;
k_EStoreItemType_Mtx = 3;
k_EStoreItemType_Tag = 4;
k_EStoreItemType_Creator = 5;
k_EStoreItemType_HubCategory = 6;
}
enum EStoreAppType {
k_EStoreAppType_Game = 0;
k_EStoreAppType_Demo = 1;
k_EStoreAppType_Mod = 2;
k_EStoreAppType_Movie = 3;
k_EStoreAppType_DLC = 4;
k_EStoreAppType_Guide = 5;
k_EStoreAppType_Software = 6;
k_EStoreAppType_Video = 7;
k_EStoreAppType_Series = 8;
k_EStoreAppType_Episode = 9;
k_EStoreAppType_Hardware = 10;
k_EStoreAppType_Music = 11;
k_EStoreAppType_Beta = 12;
k_EStoreAppType_Tool = 13;
k_EStoreAppType_Advertising = 14;
}
enum EUserReviewScore {
k_EUserReviewScore_None = 0;
k_EUserReviewScore_OverwhelminglyNegative = 1;
k_EUserReviewScore_VeryNegative = 2;
k_EUserReviewScore_Negative = 3;
k_EUserReviewScore_MostlyNegative = 4;
k_EUserReviewScore_Mixed = 5;
k_EUserReviewScore_MostlyPositive = 6;
k_EUserReviewScore_Positive = 7;
k_EUserReviewScore_VeryPositive = 8;
k_EUserReviewScore_OverwhelminglyPositive = 9;
}
enum EStoreBrowseFilterFailure {
k_EStoreBrowseFilterFailure_None = 0;
k_EStoreBrowseFilterFailure_Redundant = 10;
k_EStoreBrowseFilterFailure_NotPreferred = 20;
k_EStoreBrowseFilterFailure_NotInterested = 30;
k_EStoreBrowseFilterFailure_UnwantedContent = 40;
k_EStoreBrowseFilterFailure_Unavailable = 50;
}
enum EStoreLinkType {
k_EStoreLinkType_None = 0;
k_EStoreLinkType_YouTube = 1;
k_EStoreLinkType_Facebook = 2;
k_EStoreLinkType_Twitter = 3;
k_EStoreLinkType_Twitch = 4;
k_EStoreLinkType_Discord = 5;
k_EStoreLinkType_MAX = 6;
}
enum EStoreCategoryType {
k_EStoreCategoryType_Category = 0;
k_EStoreCategoryType_SupportedPlayers = 1;
k_EStoreCategoryType_Feature = 2;
k_EStoreCategoryType_ControllerSupport = 3;
k_EStoreCategoryType_CloudGaming = 4;
k_EStoreCategoryType_MAX = 5;
}
message StoreItemID {
optional uint32 appid = 1;
optional uint32 packageid = 2;
optional uint32 bundleid = 3;
optional uint32 tagid = 4;
optional uint32 creatorid = 5;
optional uint32 hubcategoryid = 6;
}
message StoreBrowseContext {
optional string language = 1;
optional int32 elanguage = 2;
optional string country_code = 3;
optional int32 steam_realm = 4;
}
message StoreBrowseItemDataRequest {
optional bool include_assets = 1;
optional bool include_release = 2;
optional bool include_platforms = 3;
optional bool include_all_purchase_options = 4;
optional bool include_screenshots = 5;
optional bool include_trailers = 6;
optional bool include_ratings = 7;
optional int32 include_tag_count = 8;
optional bool include_reviews = 9;
optional bool include_basic_info = 10;
optional bool include_supported_languages = 11;
optional bool include_full_description = 12;
optional bool include_included_items = 13;
optional .StoreBrowseItemDataRequest included_item_data_request = 14;
optional bool include_assets_without_overrides = 15;
optional bool apply_user_filters = 16;
optional bool include_links = 17;
}
message CStoreBrowse_GetItems_Request {
repeated .StoreItemID ids = 1;
optional .StoreBrowseContext context = 2;
optional .StoreBrowseItemDataRequest data_request = 3;
}
message StoreItem {
message RelatedItems {
optional uint32 parent_appid = 1;
}
message IncludedItems {
repeated .StoreItem included_apps = 1;
repeated .StoreItem included_packages = 2;
}
message Categories {
repeated uint32 supported_player_categoryids = 2;
repeated uint32 feature_categoryids = 3;
repeated uint32 controller_categoryids = 4;
}
message Reviews {
message StoreReviewSummary {
optional uint32 review_count = 1;
optional int32 percent_positive = 2;
optional .EUserReviewScore review_score = 3 [default = k_EUserReviewScore_None];
optional string review_score_label = 4;
}
optional .StoreItem.Reviews.StoreReviewSummary summary_filtered = 1;
optional .StoreItem.Reviews.StoreReviewSummary summary_unfiltered = 2;
}
message BasicInfo {
message CreatorHomeLink {
optional string name = 1;
optional uint32 creator_clan_account_id = 2;
}
optional string short_description = 1;
repeated .StoreItem.BasicInfo.CreatorHomeLink publishers = 2;
repeated .StoreItem.BasicInfo.CreatorHomeLink developers = 3;
repeated .StoreItem.BasicInfo.CreatorHomeLink franchises = 4;
optional string capsule_headline = 5;
}
message Tag {
optional uint32 tagid = 1;
optional uint32 weight = 2;
}
message Assets {
optional string asset_url_format = 1;
optional string main_capsule = 2;
optional string small_capsule = 3;
optional string header = 4;
optional string package_header = 5;
optional string page_background = 6;
optional string hero_capsule = 7;
optional string hero_capsule_2x = 8;
optional string library_capsule = 9;
optional string library_capsule_2x = 10;
optional string library_hero = 11;
optional string library_hero_2x = 12;
optional string community_icon = 13;
optional string clan_avatar = 14;
}
message ReleaseInfo {
optional uint32 steam_release_date = 1;
optional uint32 original_release_date = 2;
optional uint32 original_steam_release_date = 3;
optional bool is_coming_soon = 4;
optional bool is_preload = 5;
optional string custom_release_date_message = 6;
optional bool is_abridged_release_date = 7;
optional string coming_soon_display = 8;
optional bool is_early_access = 10;
optional uint32 mac_release_date = 20;
optional uint32 linux_release_date = 21;
}
message Platforms {
message VRSupport {
optional bool vrhmd = 1;
optional bool vrhmd_only = 2;
optional bool htc_vive = 40;
optional bool oculus_rift = 41;
optional bool windows_mr = 42;
optional bool valve_index = 43;
}
optional bool windows = 1;
optional bool mac = 2;
optional bool steamos_linux = 3;
optional .StoreItem.Platforms.VRSupport vr_support = 10;
optional .ESteamDeckCompatibilityCategory steam_deck_compat_category = 11 [default = k_ESteamDeckCompatibilityCategory_Unknown];
}
message PurchaseOption {
message Discount {
optional int64 discount_amount = 1;
optional string discount_description = 2;
optional uint32 discount_end_date = 3;
}
message RecurrenceInfo {
optional int32 packageid = 1;
optional int32 billing_agreement_type = 2;
optional int32 renewal_time_unit = 3;
optional int32 renewal_time_period = 4;
optional int64 renewal_price_in_cents = 5;
optional string formatted_renewal_price = 6;
}
optional int32 packageid = 1;
optional int32 bundleid = 2;
optional string purchase_option_name = 3;
optional int64 final_price_in_cents = 5;
optional int64 original_price_in_cents = 6;
optional int64 user_final_price_in_cents = 7;
optional string formatted_final_price = 8;
optional string formatted_original_price = 9;
optional int32 discount_pct = 10;
optional int32 user_discount_pct = 11;
optional int32 bundle_discount_pct = 12;
repeated .StoreItem.PurchaseOption.Discount active_discounts = 20;
repeated .StoreItem.PurchaseOption.Discount user_active_discounts = 21;
repeated .StoreItem.PurchaseOption.Discount inactive_discounts = 22;
optional bool user_can_purchase = 30;
optional bool user_can_purchase_as_gift = 31;
optional bool is_commercial_license = 40;
optional bool should_suppress_discount_pct = 41;
optional bool hide_discount_pct_for_compliance = 42 [default = false];
optional int32 included_game_count = 43;
optional int64 lowest_recent_price_in_cents = 44;
optional bool requires_shipping = 45;
optional .StoreItem.PurchaseOption.RecurrenceInfo recurrence_info = 46;
}
message Screenshots {
message Screenshot {
optional string filename = 1;
optional int32 ordinal = 2;
}
repeated .StoreItem.Screenshots.Screenshot all_ages_screenshots = 2;
repeated .StoreItem.Screenshots.Screenshot mature_content_screenshots = 3;
}
message Trailers {
message VideoSource {
optional string filename = 1;
optional string type = 2;
}
message Trailer {
optional string trailer_name = 1;
optional string trailer_url_format = 2;
repeated .StoreItem.Trailers.VideoSource trailer_480p = 3;
repeated .StoreItem.Trailers.VideoSource trailer_max = 4;
repeated .StoreItem.Trailers.VideoSource microtrailer = 5;
optional string screenshot_medium = 10;
optional string screenshot_full = 11;
optional int32 trailer_base_id = 12;
}
repeated .StoreItem.Trailers.Trailer highlights = 1;
repeated .StoreItem.Trailers.Trailer other_trailers = 2;
}
message SupportedLanguage {
optional int32 elanguage = 1 [default = -1];
optional int32 eadditionallanguage = 5 [default = -1];
optional bool supported = 2;
optional bool full_audio = 3;
optional bool subtitles = 4;
}
message FreeWeekend {
optional uint32 start_time = 1;
optional uint32 end_time = 2;
optional string text = 3;
}
message Link {
optional .EStoreLinkType link_type = 1 [default = k_EStoreLinkType_None];
optional string url = 2;
}
optional .EStoreItemType item_type = 1 [default = k_EStoreItemType_Invalid];
optional uint32 id = 2;
optional uint32 success = 3;
optional bool visible = 4;
optional bool unvailable_for_country_restriction = 5;
optional string name = 6;
optional string store_url_path = 7;
optional uint32 appid = 9;
optional .EStoreAppType type = 10 [default = k_EStoreAppType_Game];
repeated .EStoreAppType included_types = 11;
repeated uint32 included_appids = 12;
optional bool is_free = 13;
optional bool is_early_access = 14;
optional .StoreItem.RelatedItems related_items = 15;
optional .StoreItem.IncludedItems included_items = 16;
repeated .EContentDescriptorID content_descriptorids = 20;
repeated uint32 tagids = 21;
optional .StoreItem.Categories categories = 22;
optional .StoreItem.Reviews reviews = 23;
optional .StoreItem.BasicInfo basic_info = 24;
repeated .StoreItem.Tag tags = 25;
optional .StoreItem.Assets assets = 30;
optional .StoreItem.ReleaseInfo release = 31;
optional .StoreItem.Platforms platforms = 32;
optional .StoreGameRating game_rating = 33;
optional .StoreItem.PurchaseOption best_purchase_option = 40;
repeated .StoreItem.PurchaseOption purchase_options = 41;
repeated .StoreItem.PurchaseOption accessories = 42;
optional .StoreItem.PurchaseOption self_purchase_option = 43;
optional .StoreItem.Screenshots screenshots = 50;
optional .StoreItem.Trailers trailers = 51;
repeated .StoreItem.SupportedLanguage supported_languages = 52;
optional string store_url_path_override = 53;
optional .StoreItem.FreeWeekend free_weekend = 54;
optional bool unlisted = 55;
optional uint32 game_count = 56;
optional string internal_name = 57;
optional string full_description = 58;
optional bool is_free_temporarily = 59;
optional .StoreItem.Assets assets_without_overrides = 60;
optional .StoreBrowseFilterFailure user_filter_failure = 70;
repeated .StoreItem.Link links = 71;
}
message StoreGameRating {
optional string type = 1;
optional string rating = 2;
repeated string descriptors = 3;
optional string interactive_elements = 4;
optional int32 required_age = 10;
optional bool use_age_gate = 11;
optional string image_url = 20;
optional string image_target = 21;
}
message StoreBrowseFilterFailure {
optional .EStoreBrowseFilterFailure filter_failure = 1 [default = k_EStoreBrowseFilterFailure_None];
optional bool already_owned = 5;
optional bool on_wishlist = 6;
optional bool ignored = 7;
optional bool not_in_users_language = 10;
optional bool not_on_users_platform = 11;
optional bool demo_for_owned_game = 12;
optional bool dlc_for_unowned_game = 13;
optional bool nonpreferred_product_type = 20;
repeated uint32 excluded_tagids = 21;
repeated .EContentDescriptorID excluded_content_descriptorids = 30;
}
message CStoreBrowse_GetItems_Response {
repeated .StoreItem store_items = 1;
}
message CStoreBrowse_GetStoreCategories_Request {
optional string language = 1;
optional int32 elanguage = 2 [default = -1];
}
message CStoreBrowse_GetStoreCategories_Response {
message Category {
optional uint32 categoryid = 1;
optional .EStoreCategoryType type = 2 [default = k_EStoreCategoryType_Category];
optional string internal_name = 3;
optional string display_name = 4;
optional string image_url = 5;
optional bool show_in_search = 6;
optional bool computed = 7;
}
repeated .CStoreBrowse_GetStoreCategories_Response.Category categories = 1;
}
message CStoreBrowse_GetDLCForApps_Request {
optional .StoreBrowseContext context = 1;
optional .CStorePageFilter store_page_filter = 2;
repeated .StoreItemID appids = 3;
optional uint64 steamid = 4;
}
message CStoreBrowse_GetDLCForApps_Response {
message DLCData {
optional uint32 appid = 1;
optional uint32 parentappid = 2;
optional uint32 release_date = 3;
optional bool coming_soon = 4;
optional int64 price = 5;
optional uint32 discount = 6;
optional bool free = 7;
}
message PlaytimeForApp {
optional uint32 appid = 1;
optional uint32 playtime = 2;
optional uint32 last_played = 3;
}
repeated .CStoreBrowse_GetDLCForApps_Response.DLCData dlc_data = 1;
repeated .CStoreBrowse_GetDLCForApps_Response.PlaytimeForApp playtime = 2;
}
message CStoreBrowse_GetDLCForAppsSolr_Request {
optional .StoreBrowseContext context = 1;
repeated uint32 appids = 2;
optional string flavor = 3;
optional uint32 count = 4;
optional .CStorePageFilter store_page_filter = 5;
}
message CStoreBrowse_GetDLCForAppsSolr_Response {
message DLCList {
optional uint32 parent_appid = 1;
repeated uint32 dlc_appids = 2;
}
repeated .CStoreBrowse_GetDLCForAppsSolr_Response.DLCList dlc_lists = 1;
}
message CStoreBrowse_GetHardwareItems_Request {
repeated uint32 packageid = 1;
optional .StoreBrowseContext context = 2;
}
message CHardwarePackageDetails {
optional uint32 packageid = 1;
optional bool inventory_available = 3;
optional bool high_pending_orders = 4;
optional bool account_restricted_from_purchasing = 5;
optional bool requires_reservation = 6;
optional uint32 rtime_estimated_notification = 7;
optional string notificaton_token = 8;
optional int32 reservation_state = 9;
optional bool expired = 10;
optional uint32 time_expires = 11;
optional uint32 time_reserved = 12;
optional bool allow_quantity_purchase = 13;
optional int32 max_quantity_per_purchase = 14;
optional bool allow_purchase_in_country = 15;
optional uint32 estimated_delivery_soonest_business_days = 17;
optional uint32 estimated_delivery_latest_business_days = 18;
}
message CStoreBrowse_GetHardwareItems_Response {
repeated .CHardwarePackageDetails details = 1;
}
service StoreBrowse {
rpc GetItems (.CStoreBrowse_GetItems_Request) returns (.CStoreBrowse_GetItems_Response);
rpc GetStoreCategories (.CStoreBrowse_GetStoreCategories_Request) returns (.CStoreBrowse_GetStoreCategories_Response);
rpc GetDLCForApps (.CStoreBrowse_GetDLCForApps_Request) returns (.CStoreBrowse_GetDLCForApps_Response);
rpc GetDLCForAppsSolr (.CStoreBrowse_GetDLCForAppsSolr_Request) returns (.CStoreBrowse_GetDLCForAppsSolr_Response);
rpc GetHardwareItems (.CStoreBrowse_GetHardwareItems_Request) returns (.CStoreBrowse_GetHardwareItems_Response);
}

View File

@@ -0,0 +1,40 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CTimedTrial_GetTimeRemaining_Request {
optional uint32 appid = 1;
}
message CTimedTrial_GetTimeRemaining_Response {
optional uint32 seconds_played = 1;
optional uint32 seconds_allowed = 2;
optional uint32 packageid = 3;
optional uint32 mastersub_appid = 4;
}
message CTimedTrial_RecordPlaytime_Request {
optional uint32 appid = 1;
optional uint32 seconds_played = 2;
}
message CTimedTrial_RecordPlaytime_Response {
optional uint32 seconds_played = 1;
optional uint32 seconds_allowed = 2;
}
message CTimedTrial_ResetPlaytime_Request {
optional uint32 appid = 1;
}
message CTimedTrial_ResetPlaytime_Response {
optional uint32 seconds_played = 1;
optional uint32 seconds_allowed = 2;
}
service TimedTrial {
rpc GetTimeRemaining (.CTimedTrial_GetTimeRemaining_Request) returns (.CTimedTrial_GetTimeRemaining_Response);
rpc RecordPlaytime (.CTimedTrial_RecordPlaytime_Request) returns (.CTimedTrial_RecordPlaytime_Response);
rpc ResetPlaytime (.CTimedTrial_ResetPlaytime_Request) returns (.CTimedTrial_ResetPlaytime_Response);
}

View File

@@ -0,0 +1,157 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CTwoFactor_Time_Request {
optional uint64 sender_time = 1;
}
message CTwoFactor_Time_Response {
optional uint64 server_time = 1;
optional uint64 skew_tolerance_seconds = 2;
optional uint64 large_time_jink = 3;
optional uint32 probe_frequency_seconds = 4;
optional uint32 adjusted_time_probe_frequency_seconds = 5;
optional uint32 hint_probe_frequency_seconds = 6;
optional uint32 sync_timeout = 7;
optional uint32 try_again_seconds = 8;
optional uint32 max_attempts = 9;
}
message CTwoFactor_Status_Request {
optional fixed64 steamid = 1;
}
message CTwoFactor_Status_Response {
optional uint32 state = 1;
optional uint32 inactivation_reason = 2;
optional uint32 authenticator_type = 3;
optional bool authenticator_allowed = 4;
optional uint32 steamguard_scheme = 5;
optional string token_gid = 6;
optional bool email_validated = 7;
optional string device_identifier = 8;
optional uint32 time_created = 9;
optional uint32 revocation_attempts_remaining = 10;
optional string classified_agent = 11;
optional bool allow_external_authenticator = 12;
optional uint32 time_transferred = 13;
optional uint32 version = 14;
}
message CTwoFactor_AddAuthenticator_Request {
optional fixed64 steamid = 1;
optional uint64 authenticator_time = 2;
optional fixed64 serial_number = 3;
optional uint32 authenticator_type = 4;
optional string device_identifier = 5;
repeated string http_headers = 7;
optional uint32 version = 8 [default = 1];
}
message CTwoFactor_AddAuthenticator_Response {
optional bytes shared_secret = 1;
optional fixed64 serial_number = 2;
optional string revocation_code = 3;
optional string uri = 4;
optional uint64 server_time = 5;
optional string account_name = 6;
optional string token_gid = 7;
optional bytes identity_secret = 8;
optional bytes secret_1 = 9;
optional int32 status = 10;
optional string phone_number_hint = 11;
optional int32 confirm_type = 12;
}
message CTwoFactor_SendEmail_Request {
optional fixed64 steamid = 1;
optional uint32 email_type = 2;
optional bool include_activation_code = 3;
}
message CTwoFactor_SendEmail_Response {
}
message CTwoFactor_FinalizeAddAuthenticator_Request {
optional fixed64 steamid = 1;
optional string authenticator_code = 2;
optional uint64 authenticator_time = 3;
optional string activation_code = 4;
repeated string http_headers = 5;
optional bool validate_sms_code = 6;
}
message CTwoFactor_FinalizeAddAuthenticator_Response {
optional bool success = 1;
optional uint64 server_time = 3;
optional int32 status = 4;
}
message CTwoFactor_UpdateTokenVersion_Request {
optional fixed64 steamid = 1;
optional uint32 version = 2;
optional bytes signature = 3;
}
message CTwoFactor_UpdateTokenVersion_Response {
}
message CTwoFactor_RemoveAuthenticator_Request {
optional string revocation_code = 2;
optional uint32 revocation_reason = 5;
optional uint32 steamguard_scheme = 6;
optional bool remove_all_steamguard_cookies = 7;
}
message CTwoFactor_RemoveAuthenticator_Response {
optional bool success = 1;
optional uint64 server_time = 3;
optional uint32 revocation_attempts_remaining = 5;
}
message CTwoFactor_RemoveAuthenticatorViaChallengeStart_Request {
}
message CTwoFactor_RemoveAuthenticatorViaChallengeStart_Response {
optional bool success = 1;
}
message CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Request {
optional string sms_code = 1;
optional bool generate_new_token = 2;
optional uint32 version = 3 [default = 1];
}
message CRemoveAuthenticatorViaChallengeContinue_Replacement_Token {
optional bytes shared_secret = 1;
optional fixed64 serial_number = 2;
optional string revocation_code = 3;
optional string uri = 4;
optional uint64 server_time = 5;
optional string account_name = 6;
optional string token_gid = 7;
optional bytes identity_secret = 8;
optional bytes secret_1 = 9;
optional int32 status = 10;
optional uint32 steamguard_scheme = 11;
optional fixed64 steamid = 12;
}
message CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Response {
optional bool success = 1;
optional .CRemoveAuthenticatorViaChallengeContinue_Replacement_Token replacement_token = 2;
}
service TwoFactor {
rpc QueryTime (.CTwoFactor_Time_Request) returns (.CTwoFactor_Time_Response);
rpc QueryStatus (.CTwoFactor_Status_Request) returns (.CTwoFactor_Status_Response);
rpc AddAuthenticator (.CTwoFactor_AddAuthenticator_Request) returns (.CTwoFactor_AddAuthenticator_Response);
rpc SendEmail (.CTwoFactor_SendEmail_Request) returns (.CTwoFactor_SendEmail_Response);
rpc FinalizeAddAuthenticator (.CTwoFactor_FinalizeAddAuthenticator_Request) returns (.CTwoFactor_FinalizeAddAuthenticator_Response);
rpc UpdateTokenVersion (.CTwoFactor_UpdateTokenVersion_Request) returns (.CTwoFactor_UpdateTokenVersion_Response);
rpc RemoveAuthenticator (.CTwoFactor_RemoveAuthenticator_Request) returns (.CTwoFactor_RemoveAuthenticator_Response);
rpc RemoveAuthenticatorViaChallengeStart (.CTwoFactor_RemoveAuthenticatorViaChallengeStart_Request) returns (.CTwoFactor_RemoveAuthenticatorViaChallengeStart_Response);
rpc RemoveAuthenticatorViaChallengeContinue (.CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Request) returns (.CTwoFactor_RemoveAuthenticatorViaChallengeContinue_Response);
}

View File

@@ -0,0 +1,45 @@
import "google/protobuf/descriptor.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
extend .google.protobuf.MessageOptions {
optional string message_description = 51000;
optional bool force_emit_message = 50026 [default = false];
}
extend .google.protobuf.FieldOptions {
optional string description = 50000;
}
extend .google.protobuf.ServiceOptions {
optional string service_description = 50000;
optional .EProtoExecutionSite service_execution_site = 50008 [default = k_EProtoExecutionSiteUnknown];
optional .EProtoServiceType service_type = 50025 [default = k_EProtoServiceTypeSteamMessages];
optional bool force_emit_service = 50026 [default = false];
}
extend .google.protobuf.MethodOptions {
optional string method_description = 50000;
}
extend .google.protobuf.EnumOptions {
optional string enum_description = 50000;
}
extend .google.protobuf.EnumValueOptions {
optional string enum_value_description = 50000;
}
enum EProtoExecutionSite {
k_EProtoExecutionSiteUnknown = 0;
k_EProtoExecutionSiteSteamClient = 2;
}
enum EProtoServiceType {
k_EProtoServiceTypeSteamMessages = 0;
k_EProtoServiceTypeVRGamepadUIMessages = 1;
}
message NoResponse {
}

View File

@@ -0,0 +1,51 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CMsgTest_MessageToClient_Request {
optional string some_text = 1;
}
message CMsgTest_MessageToClient_Response {
optional string some_text = 1;
}
message CMsgTest_NotifyClient_Notification {
optional string some_text = 1;
}
message CMsgTest_MessageToServer_Request {
optional string some_text = 1;
}
message CMsgTest_MessageToServer_Response {
optional string some_text = 1;
}
message CMsgTest_NotifyServer_Notification {
optional string some_text = 1;
}
message CMsgTest_NoBody_Request {
}
message CMsgTest_CallClient_Response {
optional int32 testvalue = 1;
}
service TestSteamClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc MessageToClient (.CMsgTest_MessageToClient_Request) returns (.CMsgTest_MessageToClient_Response);
rpc NotifyClient (.CMsgTest_NotifyClient_Notification) returns (.NoResponse);
}
service TestServerFromClient {
rpc MessageToServer (.CMsgTest_MessageToServer_Request) returns (.CMsgTest_MessageToServer_Response);
rpc NotifyServer (.CMsgTest_NotifyServer_Notification) returns (.NoResponse);
}
service TestExternalPrivilege {
rpc CallClient (.CMsgTest_NoBody_Request) returns (.CMsgTest_CallClient_Response);
}

View File

@@ -0,0 +1,211 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
enum EInternalAccountType {
k_EInternalSteamAccountType = 1;
k_EInternalClanType = 2;
k_EInternalAppType = 3;
k_EInternalBroadcastChannelType = 4;
}
enum EExternalAccountType {
k_EExternalNone = 0;
k_EExternalSteamAccount = 1;
k_EExternalGoogleAccount = 2;
k_EExternalFacebookAccount = 3;
k_EExternalTwitterAccount = 4;
k_EExternalTwitchAccount = 5;
k_EExternalYouTubeChannelAccount = 6;
k_EExternalFacebookPage = 7;
}
message CUserAccount_GetAvailableValveDiscountPromotions_Request {
optional string country_code = 1;
}
message CUserAccount_GetAvailableValveDiscountPromotions_Response {
message ValveDiscountPromotionDetails {
optional uint32 promotionid = 1;
optional string promotion_description = 2;
optional int64 minimum_cart_amount = 3;
optional int64 minimum_cart_amount_for_display = 4;
optional int64 discount_amount = 5;
optional int32 currency_code = 6;
optional int32 available_use_count = 7;
optional int32 promotional_discount_type = 8;
optional int32 loyalty_reward_id = 9;
optional string localized_name_token = 10;
optional int32 max_use_count = 11;
}
repeated .CUserAccount_GetAvailableValveDiscountPromotions_Response.ValveDiscountPromotionDetails promotions = 1;
}
message CUserAccount_GetClientWalletDetails_Request {
optional bool include_balance_in_usd = 1;
optional int32 wallet_region = 2 [default = 1];
optional bool include_formatted_balance = 3;
}
message CUserAccount_GetWalletDetails_Response {
optional bool has_wallet = 1;
optional string user_country_code = 2;
optional string wallet_country_code = 3;
optional string wallet_state = 4;
optional int64 balance = 5;
optional int64 delayed_balance = 6;
optional int32 currency_code = 7;
optional uint32 time_most_recent_txn = 8;
optional uint64 most_recent_txnid = 9;
optional int64 balance_in_usd = 10;
optional int64 delayed_balance_in_usd = 11;
optional bool has_wallet_in_other_regions = 12;
repeated int32 other_regions = 13;
optional string formatted_balance = 14;
optional string formatted_delayed_balance = 15;
optional int32 delayed_balance_available_min_time = 16;
optional int32 delayed_balance_available_max_time = 17;
optional int32 delayed_balance_newest_source = 18;
}
message CUserAccount_GetAccountLinkStatus_Request {
}
message CUserAccount_GetAccountLinkStatus_Response {
optional uint32 pwid = 1;
optional uint32 identity_verification = 2;
optional bool performed_age_verification = 3;
}
message CUserAccount_CancelLicenseForApp_Request {
optional uint32 appid = 1;
}
message CUserAccount_CancelLicenseForApp_Response {
}
message CUserAccount_GetUserCountry_Request {
optional fixed64 steamid = 1;
}
message CUserAccount_GetUserCountry_Response {
optional string country = 1;
}
message CUserAccount_CreateFriendInviteToken_Request {
optional uint32 invite_limit = 1;
optional uint32 invite_duration = 2;
optional string invite_note = 3;
}
message CUserAccount_CreateFriendInviteToken_Response {
optional string invite_token = 1;
optional uint64 invite_limit = 2;
optional uint64 invite_duration = 3;
optional fixed32 time_created = 4;
optional bool valid = 5;
}
message CUserAccount_GetFriendInviteTokens_Request {
}
message CUserAccount_GetFriendInviteTokens_Response {
repeated .CUserAccount_CreateFriendInviteToken_Response tokens = 1;
}
message CUserAccount_ViewFriendInviteToken_Request {
optional fixed64 steamid = 1;
optional string invite_token = 2;
}
message CUserAccount_ViewFriendInviteToken_Response {
optional bool valid = 1;
optional uint64 steamid = 2;
optional uint64 invite_duration = 3;
}
message CUserAccount_RedeemFriendInviteToken_Request {
optional fixed64 steamid = 1;
optional string invite_token = 2;
}
message CUserAccount_RedeemFriendInviteToken_Response {
}
message CUserAccount_RevokeFriendInviteToken_Request {
optional string invite_token = 1;
}
message CUserAccount_RevokeFriendInviteToken_Response {
}
message CUserAccount_RegisterCompatTool_Request {
optional uint32 compat_tool = 1;
}
message CUserAccount_RegisterCompatTool_Response {
}
message CAccountLinking_GetLinkedAccountInfo_Request {
optional .EInternalAccountType account_type = 1 [default = k_EInternalSteamAccountType];
optional uint64 account_id = 2;
optional .EExternalAccountType filter = 3 [default = k_EExternalNone];
optional bool return_access_token = 4;
}
message CAccountLinking_GetLinkedAccountInfo_Response {
message CExternalAccountTuple_Response {
optional .EExternalAccountType external_type = 1 [default = k_EExternalNone];
optional string external_id = 2;
optional string external_user_name = 3;
optional string external_url = 4;
optional string access_token = 5;
optional string access_token_secret = 6;
optional bool is_valid = 7;
}
repeated .CAccountLinking_GetLinkedAccountInfo_Response.CExternalAccountTuple_Response external_accounts = 1;
}
message CEmbeddedClient_AuthorizeCurrentDevice_Request {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional string device_info = 3;
optional uint32 deviceid = 4;
}
message CEmbeddedClient_Token {
optional fixed64 steamid = 1;
optional bytes client_token = 2;
optional uint32 expiry = 3;
optional uint32 deviceid = 4;
}
message CEmbeddedClient_AuthorizeDevice_Response {
optional uint32 result = 1;
optional .CEmbeddedClient_Token token = 2;
}
service UserAccount {
rpc GetAvailableValveDiscountPromotions (.CUserAccount_GetAvailableValveDiscountPromotions_Request) returns (.CUserAccount_GetAvailableValveDiscountPromotions_Response);
rpc GetClientWalletDetails (.CUserAccount_GetClientWalletDetails_Request) returns (.CUserAccount_GetWalletDetails_Response);
rpc GetAccountLinkStatus (.CUserAccount_GetAccountLinkStatus_Request) returns (.CUserAccount_GetAccountLinkStatus_Response);
rpc CancelLicenseForApp (.CUserAccount_CancelLicenseForApp_Request) returns (.CUserAccount_CancelLicenseForApp_Response);
rpc GetUserCountry (.CUserAccount_GetUserCountry_Request) returns (.CUserAccount_GetUserCountry_Response);
rpc CreateFriendInviteToken (.CUserAccount_CreateFriendInviteToken_Request) returns (.CUserAccount_CreateFriendInviteToken_Response);
rpc GetFriendInviteTokens (.CUserAccount_GetFriendInviteTokens_Request) returns (.CUserAccount_GetFriendInviteTokens_Response);
rpc ViewFriendInviteToken (.CUserAccount_ViewFriendInviteToken_Request) returns (.CUserAccount_ViewFriendInviteToken_Response);
rpc RedeemFriendInviteToken (.CUserAccount_RedeemFriendInviteToken_Request) returns (.CUserAccount_RedeemFriendInviteToken_Response);
rpc RevokeFriendInviteToken (.CUserAccount_RevokeFriendInviteToken_Request) returns (.CUserAccount_RevokeFriendInviteToken_Response);
rpc RegisterCompatTool (.CUserAccount_RegisterCompatTool_Request) returns (.CUserAccount_RegisterCompatTool_Response);
}
service AccountLinking {
rpc GetLinkedAccountInfo (.CAccountLinking_GetLinkedAccountInfo_Request) returns (.CAccountLinking_GetLinkedAccountInfo_Response);
}
service EmbeddedClient {
rpc AuthorizeCurrentDevice (.CEmbeddedClient_AuthorizeCurrentDevice_Request) returns (.CEmbeddedClient_AuthorizeDevice_Response);
}

View File

@@ -0,0 +1,37 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CFileVerification_SignatureCheck_Request {
optional fixed64 steamid = 1;
optional uint32 appid = 2;
optional uint64 file_size = 3;
optional uint32 file_timestamp = 4;
optional uint32 file_timestamp2 = 5;
optional uint32 signature_result = 6;
optional string filename = 7;
optional uint32 client_package_version = 8;
optional bytes sha1hash = 9;
}
message CFileVerification_SignatureCheck_Response {
optional bool deny_operation = 1;
}
message CFileVerification_SteamServiceCheck_Request {
optional uint32 service_status = 2;
optional uint32 client_package_version = 3;
optional uint32 launcher_type = 4;
optional uint32 os_type = 5;
optional uint32 service_repair = 6;
}
message CFileVerification_SteamServiceCheck_Response {
optional bool attempt_repair = 1;
}
service FileVerification {
rpc SignatureCheck (.CFileVerification_SignatureCheck_Request) returns (.CFileVerification_SignatureCheck_Response);
rpc SteamServiceCheck (.CFileVerification_SteamServiceCheck_Request) returns (.CFileVerification_SteamServiceCheck_Response);
}

View File

@@ -0,0 +1,68 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CVideo_ClientGetVideoURL_Request {
optional uint64 video_id = 1;
optional uint32 client_cellid = 2;
}
message CVideo_ClientGetVideoURL_Response {
optional uint64 video_id = 1;
optional string video_url = 2;
}
message VideoBookmark {
optional uint32 app_id = 1;
optional uint32 playback_position_in_seconds = 2;
optional uint64 video_track_id = 3;
optional uint64 audio_track_id = 4;
optional uint64 timedtext_track_id = 5;
optional uint32 last_modified = 6;
optional bool hide_from_watch_history = 7 [default = false];
optional bool hide_from_library = 8 [default = false];
}
message CVideo_SetVideoBookmark_Notification {
repeated .VideoBookmark bookmarks = 1;
}
message CVideo_GetVideoBookmarks_Request {
repeated uint32 appids = 1;
optional uint32 updated_since = 2;
}
message CVideo_GetVideoBookmarks_Response {
repeated .VideoBookmark bookmarks = 1;
}
message CVideo_UnlockedH264_Notification {
optional bytes encryption_key = 1;
}
message CFovasVideo_ClientGetOPFSettings_Request {
optional uint32 app_id = 1;
optional uint32 client_cellid = 2;
}
message CFovasVideo_ClientGetOPFSettings_Response {
optional uint32 app_id = 1;
optional string opf_settings = 2;
}
service Video {
rpc ClientGetVideoURL (.CVideo_ClientGetVideoURL_Request) returns (.CVideo_ClientGetVideoURL_Response);
rpc SetVideoBookmark (.CVideo_SetVideoBookmark_Notification) returns (.NoResponse);
rpc GetVideoBookmarks (.CVideo_GetVideoBookmarks_Request) returns (.CVideo_GetVideoBookmarks_Response);
}
service VideoClient {
option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
rpc NotifyUnlockedH264 (.CVideo_UnlockedH264_Notification) returns (.NoResponse);
}
service FovasVideo {
rpc ClientGetOPFSettings (.CFovasVideo_ClientGetOPFSettings_Request) returns (.CFovasVideo_ClientGetOPFSettings_Response);
}

View File

@@ -0,0 +1,138 @@
enum EInputMode {
k_EInputModeUnknown = 0;
k_EInputModeMouse = 1;
k_EInputModeController = 2;
k_EInputModeMouseAndController = 3;
}
enum EMouseMode {
k_EMouseModeUnknown = 0;
k_EMouseModeRelativeCursor = 1;
k_EMouseModeAbsoluteCursor = 2;
k_EMouseModeTouch = 3;
k_EMouseModeRelative = 4;
}
enum EControllerElementType {
k_EControllerElementTypeNone = -1;
k_EControllerElementTypeThumb = 0;
k_EControllerElementTypeButtonSteam = 1;
k_EControllerElementTypeJoystickLeft = 2;
k_EControllerElementTypeButtonJoystickLeft = 3;
k_EControllerElementTypeJoystickRight = 4;
k_EControllerElementTypeButtonJoystickRight = 5;
k_EControllerElementTypeDPad = 6;
k_EControllerElementTypeButtonA = 7;
k_EControllerElementTypeButtonB = 8;
k_EControllerElementTypeButtonX = 9;
k_EControllerElementTypeButtonY = 10;
k_EControllerElementTypeButtonSelect = 11;
k_EControllerElementTypeButtonStart = 12;
k_EControllerElementTypeButtonTriggerLeft = 13;
k_EControllerElementTypeButtonTriggerRight = 14;
k_EControllerElementTypeButtonBumperLeft = 15;
k_EControllerElementTypeButtonBumperRight = 16;
k_EControllerElementTypeButtonMacro0 = 17;
k_EControllerElementTypeButtonMacro1 = 18;
k_EControllerElementTypeButtonMacro2 = 19;
k_EControllerElementTypeButtonMacro3 = 20;
k_EControllerElementTypeButtonMacro4 = 21;
k_EControllerElementTypeButtonMacro5 = 22;
k_EControllerElementTypeButtonMacro6 = 23;
k_EControllerElementTypeButtonMacro7 = 24;
k_EControllerElementTypeTrackpadCenter = 25;
k_EControllerElementTypeTrackpadLeft = 26;
k_EControllerElementTypeTrackpadRight = 27;
k_EControllerElementTypeKeyboard = 28;
k_EControllerElementTypeMagnifyingGlass = 29;
k_EControllerElementTypeButtonMacro1Finger = 30;
k_EControllerElementTypeButtonMacro2Finger = 31;
k_EControllerElementTypeRecordInput = 32;
k_EControllerElementTypePlaybackInput = 33;
k_EControllerElementTypePaste = 34;
k_EControllerElementTypeMax = 35;
}
message CVirtualControllerElement {
optional .EControllerElementType type = 1 [default = k_EControllerElementTypeNone];
optional bool visible = 2;
optional float x_position = 3;
optional float y_position = 4;
optional float x_scale = 5 [default = 1];
optional float y_scale = 6 [default = 1];
}
message CVirtualControllerColor {
optional float r = 1 [default = 1];
optional float g = 2 [default = 1];
optional float b = 3 [default = 1];
optional float a = 4 [default = 1];
}
message CVirtualControllerLayout {
optional int32 layout_version = 1;
optional int32 actionset_id = 2;
repeated .CVirtualControllerElement elements = 4;
optional .CVirtualControllerColor color = 5;
}
message CVirtualControllerLayouts {
repeated .CVirtualControllerLayout layouts = 1;
optional .EInputMode input_mode = 2 [default = k_EInputModeController];
optional .EMouseMode mouse_mode = 3 [default = k_EMouseModeUnknown];
optional float trackpad_sensitivity = 4 [default = 1];
optional bool pinch_zoom_enabled = 5 [default = false];
optional float pinch_zoom_x = 6 [default = 0];
optional float pinch_zoom_y = 7 [default = 0];
optional float pinch_zoom_scale = 8 [default = 1];
optional bool shaken = 9;
optional bool mouse_offscreen = 10;
}
message CVirtualControllerConfig {
message Control {
optional string name = 1;
optional string icon = 2;
optional int32 input_source = 3;
optional int32 input_mode = 4;
optional int32 input_element = 5;
optional int32 output_gamepad = 6;
optional int32 output_keyboard = 7;
optional int32 output_mouse = 8;
optional string icon_foreground = 9;
optional string icon_background = 10;
optional bool input_toggle = 11;
optional int32 input_activate_stick_or_trackpad = 12;
optional int32 activation_type = 13;
optional int32 long_press_ms = 14;
optional int32 double_press_ms = 15;
}
message ActionSet {
optional int32 id = 1;
optional int32 parent_id = 2;
optional string name = 3;
repeated .CVirtualControllerConfig.Control controls = 4;
}
optional string name = 1;
repeated .CVirtualControllerConfig.ActionSet actionsets = 2;
optional .EMouseMode default_mouse_mode = 3 [default = k_EMouseModeAbsoluteCursor];
}
message CVirtualControllerLayoutPackage {
optional uint32 appid = 1;
optional uint64 creator = 2;
optional uint32 initial_revision = 3;
optional uint32 saved_revision = 4;
optional .CVirtualControllerConfig config = 5;
optional .CVirtualControllerLayouts layouts = 6;
}
message CVirtualControllerGlobalConfig {
optional bool feedback_enabled = 1;
optional bool gyroscope_enabled = 2 [default = true];
optional bool auto_fade_enabled = 3 [default = true];
optional bool rumble_enabled = 4 [default = true];
optional bool shake_fade_enabled = 5;
}

View File

@@ -0,0 +1,19 @@
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";
option cc_generic_services = true;
message CWorkshop_GetEULAStatus_Request {
optional uint32 appid = 1;
}
message CWorkshop_GetEULAStatus_Response {
optional uint32 version = 1;
optional uint32 timestamp_action = 2;
optional bool accepted = 3;
optional bool needs_action = 4;
}
service Workshop {
rpc GetEULAStatus (.CWorkshop_GetEULAStatus_Request) returns (.CWorkshop_GetEULAStatus_Response);
}

View File

@@ -0,0 +1,177 @@
import "steamnetworkingsockets_messages_certs.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum ESteamNetworkingSocketsCipher {
k_ESteamNetworkingSocketsCipher_INVALID = 0;
k_ESteamNetworkingSocketsCipher_NULL = 1;
k_ESteamNetworkingSocketsCipher_AES_256_GCM = 2;
}
message CMsgSteamDatagramSessionCryptInfo {
enum EKeyType {
INVALID = 0;
CURVE25519 = 1;
}
optional .CMsgSteamDatagramSessionCryptInfo.EKeyType key_type = 1 [default = INVALID];
optional bytes key_data = 2;
optional fixed64 nonce = 3;
optional uint32 protocol_version = 4;
repeated .ESteamNetworkingSocketsCipher ciphers = 5;
}
message CMsgSteamDatagramSessionCryptInfoSigned {
optional bytes info = 1;
optional bytes signature = 2;
}
message CMsgSteamDatagramDiagnostic {
optional uint32 severity = 1;
optional string text = 2;
}
message CMsgSteamDatagramLinkInstantaneousStats {
optional uint32 out_packets_per_sec_x10 = 1;
optional uint32 out_bytes_per_sec = 2;
optional uint32 in_packets_per_sec_x10 = 3;
optional uint32 in_bytes_per_sec = 4;
optional uint32 ping_ms = 5;
optional uint32 packets_dropped_pct = 6;
optional uint32 packets_weird_sequence_pct = 7;
optional uint32 peak_jitter_usec = 8;
}
message CMsgSteamDatagramLinkLifetimeStats {
optional uint32 connected_seconds = 2;
optional uint64 packets_sent = 3;
optional uint64 kb_sent = 4;
optional uint64 packets_recv = 5;
optional uint64 kb_recv = 6;
optional uint64 packets_recv_sequenced = 7;
optional uint64 packets_recv_dropped = 8;
optional uint64 packets_recv_out_of_order = 9;
optional uint64 packets_recv_out_of_order_corrected = 15;
optional uint64 packets_recv_duplicate = 10;
optional uint64 packets_recv_lurch = 11;
repeated uint64 multipath_packets_recv_sequenced = 12;
repeated uint64 multipath_packets_recv_later = 13;
optional uint32 multipath_send_enabled = 14;
optional uint32 quality_histogram_100 = 21;
optional uint32 quality_histogram_99 = 22;
optional uint32 quality_histogram_97 = 23;
optional uint32 quality_histogram_95 = 24;
optional uint32 quality_histogram_90 = 25;
optional uint32 quality_histogram_75 = 26;
optional uint32 quality_histogram_50 = 27;
optional uint32 quality_histogram_1 = 28;
optional uint32 quality_histogram_dead = 29;
optional uint32 quality_ntile_2nd = 30;
optional uint32 quality_ntile_5th = 31;
optional uint32 quality_ntile_25th = 32;
optional uint32 quality_ntile_50th = 33;
optional uint32 ping_histogram_25 = 41;
optional uint32 ping_histogram_50 = 42;
optional uint32 ping_histogram_75 = 43;
optional uint32 ping_histogram_100 = 44;
optional uint32 ping_histogram_125 = 45;
optional uint32 ping_histogram_150 = 46;
optional uint32 ping_histogram_200 = 47;
optional uint32 ping_histogram_300 = 48;
optional uint32 ping_histogram_max = 49;
optional uint32 ping_ntile_5th = 50;
optional uint32 ping_ntile_50th = 51;
optional uint32 ping_ntile_75th = 52;
optional uint32 ping_ntile_95th = 53;
optional uint32 ping_ntile_98th = 54;
optional uint32 jitter_histogram_negligible = 61;
optional uint32 jitter_histogram_1 = 62;
optional uint32 jitter_histogram_2 = 63;
optional uint32 jitter_histogram_5 = 64;
optional uint32 jitter_histogram_10 = 65;
optional uint32 jitter_histogram_20 = 66;
}
message CMsgSteamDatagramConnectionQuality {
optional .CMsgSteamDatagramLinkInstantaneousStats instantaneous = 1;
optional .CMsgSteamDatagramLinkLifetimeStats lifetime = 2;
}
message CMsgICECandidate {
optional string candidate = 3;
}
message CMsgICERendezvous {
message Auth {
optional string pwd_frag = 1;
}
optional .CMsgICERendezvous.Auth auth = 2;
optional .CMsgICECandidate add_candidate = 1;
}
message CMsgSteamNetworkingP2PRendezvous {
message ConnectRequest {
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
optional .CMsgSteamDatagramCertificateSigned cert = 7;
optional uint32 to_virtual_port = 9;
optional uint32 from_virtual_port = 10;
optional string from_fakeip = 11;
}
message ConnectOK {
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
optional .CMsgSteamDatagramCertificateSigned cert = 6;
}
message ConnectionClosed {
optional string debug = 5;
optional uint32 reason_code = 6;
}
message ReliableMessage {
optional .CMsgICERendezvous ice = 1;
}
message ApplicationMessage {
optional bytes data = 1;
optional uint64 msg_num = 2;
optional uint32 flags = 3;
optional uint32 lane_idx = 4;
}
optional string from_identity = 8;
optional fixed32 from_connection_id = 9;
optional string to_identity = 10;
optional fixed32 to_connection_id = 1;
optional bytes sdr_routes = 2;
optional uint32 ack_peer_routes_revision = 3;
optional bool ice_enabled = 7;
optional bytes hosted_server_ticket = 14;
optional .CMsgSteamNetworkingP2PRendezvous.ConnectRequest connect_request = 4;
optional .CMsgSteamNetworkingP2PRendezvous.ConnectOK connect_ok = 5;
optional .CMsgSteamNetworkingP2PRendezvous.ConnectionClosed connection_closed = 6;
optional uint32 ack_reliable_msg = 11;
optional uint32 first_reliable_msg = 12;
repeated .CMsgSteamNetworkingP2PRendezvous.ReliableMessage reliable_messages = 13;
repeated .CMsgSteamNetworkingP2PRendezvous.ApplicationMessage application_messages = 15;
}
message CMsgSteamNetworkingICESessionSummary {
optional uint32 failure_reason_code = 7;
optional uint32 local_candidate_types = 1;
optional uint32 remote_candidate_types = 2;
optional uint32 initial_route_kind = 3;
optional uint32 initial_ping = 4;
optional uint32 initial_score = 6;
optional uint32 negotiation_ms = 5;
optional uint32 best_route_kind = 16;
optional uint32 best_ping = 17;
optional uint32 best_score = 18;
optional uint32 best_time = 19;
optional uint32 selected_seconds = 12;
optional uint32 user_settings = 13;
optional uint32 ice_enable_var = 14;
optional uint32 local_candidate_types_allowed = 15;
}

View File

@@ -0,0 +1,38 @@
option optimize_for = SPEED;
option cc_generic_services = false;
message CMsgSteamNetworkingIdentityLegacyBinary {
optional fixed64 steam_id = 16;
optional bytes generic_bytes = 2;
optional string generic_string = 3;
optional bytes ipv6_and_port = 4;
}
message CMsgSteamDatagramCertificate {
enum EKeyType {
INVALID = 0;
ED25519 = 1;
}
optional .CMsgSteamDatagramCertificate.EKeyType key_type = 1 [default = INVALID];
optional bytes key_data = 2;
optional fixed64 legacy_steam_id = 4;
optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 11;
optional string identity_string = 12;
repeated fixed32 gameserver_datacenter_ids = 5;
optional fixed32 time_created = 8;
optional fixed32 time_expiry = 9;
repeated uint32 app_ids = 10;
repeated string ip_addresses = 13;
}
message CMsgSteamDatagramCertificateSigned {
optional bytes cert = 4;
optional fixed64 ca_key_id = 5;
optional bytes ca_signature = 6;
optional bytes private_key_data = 1;
}
message CMsgSteamDatagramCertificateRequest {
optional .CMsgSteamDatagramCertificate cert = 1;
}

View File

@@ -0,0 +1,75 @@
import "steamnetworkingsockets_messages_certs.proto";
import "steamnetworkingsockets_messages.proto";
option optimize_for = SPEED;
option cc_generic_services = false;
enum ESteamNetworkingUDPMsgID {
k_ESteamNetworkingUDPMsg_ChallengeRequest = 32;
k_ESteamNetworkingUDPMsg_ChallengeReply = 33;
k_ESteamNetworkingUDPMsg_ConnectRequest = 34;
k_ESteamNetworkingUDPMsg_ConnectOK = 35;
k_ESteamNetworkingUDPMsg_ConnectionClosed = 36;
k_ESteamNetworkingUDPMsg_NoConnection = 37;
}
message CMsgSteamSockets_UDP_ChallengeRequest {
optional fixed32 connection_id = 1;
optional fixed64 my_timestamp = 3;
optional uint32 protocol_version = 4;
}
message CMsgSteamSockets_UDP_ChallengeReply {
optional fixed32 connection_id = 1;
optional fixed64 challenge = 2;
optional fixed64 your_timestamp = 3;
optional uint32 protocol_version = 4;
}
message CMsgSteamSockets_UDP_ConnectRequest {
optional fixed32 client_connection_id = 1;
optional fixed64 challenge = 2;
optional fixed64 my_timestamp = 5;
optional uint32 ping_est_ms = 6;
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 7;
optional .CMsgSteamDatagramCertificateSigned cert = 4;
optional uint32 legacy_protocol_version = 8;
optional string identity_string = 10;
optional fixed64 legacy_client_steam_id = 3;
optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 9;
}
message CMsgSteamSockets_UDP_ConnectOK {
optional fixed32 client_connection_id = 1;
optional fixed32 server_connection_id = 5;
optional fixed64 your_timestamp = 3;
optional uint32 delay_time_usec = 4;
optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 7;
optional .CMsgSteamDatagramCertificateSigned cert = 8;
optional string identity_string = 11;
optional fixed64 legacy_server_steam_id = 2;
optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_identity_binary = 10;
}
message CMsgSteamSockets_UDP_ConnectionClosed {
optional fixed32 to_connection_id = 4;
optional fixed32 from_connection_id = 5;
optional string debug = 2;
optional uint32 reason_code = 3;
}
message CMsgSteamSockets_UDP_NoConnection {
optional fixed32 from_connection_id = 2;
optional fixed32 to_connection_id = 3;
}
message CMsgSteamSockets_UDP_Stats {
enum Flags {
ACK_REQUEST_E2E = 2;
ACK_REQUEST_IMMEDIATE = 4;
NOT_PRIMARY_TRANSPORT_E2E = 16;
}
optional .CMsgSteamDatagramConnectionQuality stats = 1;
optional uint32 flags = 3;
}

View File

@@ -0,0 +1,29 @@
import "steammessages_base.proto";
import "webuimessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
message CAchievements_GetInfo_Request {
optional uint64 gameid = 1;
}
message CAchievements_GetInfo_Response {
message Info {
optional string id = 1;
optional string name = 2;
optional string desc = 3;
optional string image_url_achieved = 4;
optional string image_url_not_achieved = 5;
optional bool achieved = 6;
optional uint32 unlock_time = 7;
}
repeated .CAchievements_GetInfo_Response.Info achievements = 1;
}
service Achievements {
option (webui_service_execution_site) = k_EClientExecutionSiteClientdll;
rpc GetInfo (.CAchievements_GetInfo_Request) returns (.CAchievements_GetInfo_Response);
}

View File

@@ -0,0 +1,24 @@
import "enums.proto";
import "steammessages_base.proto";
import "google/protobuf/descriptor.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
extend .google.protobuf.ServiceOptions {
optional .EClientExecutionSite webui_service_execution_site = 70000 [default = k_EClientExecutionSiteSteamUI];
}
extend .google.protobuf.MethodOptions {
optional .EClientExecutionSite webui_method_execution_site = 70000 [default = k_EClientExecutionSiteInvalid];
}
enum EClientExecutionSite {
k_EClientExecutionSiteInvalid = 0;
k_EClientExecutionSiteSteamUI = 1;
k_EClientExecutionSiteClientdll = 2;
k_EClientExecutionSiteAny = 3;
}
message WebUINoResponse {
}

View File

@@ -0,0 +1,138 @@
import "enums.proto";
import "steammessages_base.proto";
import "webuimessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
message CBluetoothManager_GetState_Request {
}
message CMsgBluetoothManagerAdapterInfo {
optional uint32 id = 1;
}
message CMsgBluetoothManagerDeviceInfo {
optional uint32 id = 1;
optional bool should_hide_hint = 2;
optional .EBluetoothDeviceType etype = 3 [default = k_BluetoothDeviceType_Invalid];
optional bool is_connected = 4;
optional bool is_paired = 5;
optional int32 strength_raw = 6;
}
message CBluetoothManager_GetState_Response {
optional bool is_service_available = 1;
optional bool is_enabled = 2;
optional bool is_discovering = 3;
repeated .CMsgBluetoothManagerAdapterInfo adapters = 4;
repeated .CMsgBluetoothManagerDeviceInfo devices = 5;
}
message CBluetoothManager_GetAdapterDetails_Request {
optional uint32 id = 1;
}
message CMsgBluetoothManagerAdapterDetails {
optional uint32 id = 1 [default = 0];
optional string mac = 2;
optional string name = 3;
optional bool is_enabled = 4;
optional bool is_discovering = 5;
}
message CBluetoothManager_GetAdapterDetails_Response {
optional .CMsgBluetoothManagerAdapterDetails adapter = 1;
}
message CBluetoothManager_GetDeviceDetails_Request {
optional uint32 id = 1;
}
message CMsgBluetoothManagerDeviceDetails {
optional uint32 id = 1 [default = 0];
optional uint32 adapter_id = 2 [default = 0];
optional .EBluetoothDeviceType etype = 3 [default = k_BluetoothDeviceType_Invalid];
optional string mac = 4;
optional string name = 5;
optional bool is_connected = 6;
optional bool is_paired = 7;
optional bool is_pairing = 8;
optional bool wake_allowed = 9;
optional bool wake_allowed_supported = 10;
optional int32 battery_percent = 11;
optional bool operation_in_progress = 12;
}
message CBluetoothManager_GetDeviceDetails_Response {
optional .CMsgBluetoothManagerDeviceDetails device = 1;
}
message CBluetoothManager_StateChanged_Notification {
}
message CBluetoothManager_SetDiscovering_Request {
optional bool enabled = 1;
}
message CBluetoothManager_SetDiscovering_Response {
}
message CBluetoothManager_Pair_Request {
optional uint32 device = 1;
}
message CBluetoothManager_Pair_Response {
}
message CBluetoothManager_CancelPair_Request {
optional uint32 device = 1;
}
message CBluetoothManager_CancelPair_Response {
}
message CBluetoothManager_Forget_Request {
optional uint32 device = 1;
}
message CBluetoothManager_Forget_Response {
}
message CBluetoothManager_Connect_Request {
optional uint32 device = 1;
}
message CBluetoothManager_Connect_Response {
}
message CBluetoothManager_Disconnect_Request {
optional uint32 device = 1;
}
message CBluetoothManager_Disconnect_Response {
}
message CBluetoothManager_SetWakeAllowed_Request {
optional uint32 device = 1;
optional bool allowed = 2;
}
message CBluetoothManager_SetWakeAllowed_Response {
}
service BluetoothManager {
option (webui_service_execution_site) = k_EClientExecutionSiteSteamUI;
rpc GetState (.CBluetoothManager_GetState_Request) returns (.CBluetoothManager_GetState_Response);
rpc GetAdapterDetails (.CBluetoothManager_GetAdapterDetails_Request) returns (.CBluetoothManager_GetAdapterDetails_Response);
rpc GetDeviceDetails (.CBluetoothManager_GetDeviceDetails_Request) returns (.CBluetoothManager_GetDeviceDetails_Response);
rpc NotifyStateChanged (.CBluetoothManager_StateChanged_Notification) returns (.WebUINoResponse);
rpc SetDiscovering (.CBluetoothManager_SetDiscovering_Request) returns (.CBluetoothManager_SetDiscovering_Response);
rpc Pair (.CBluetoothManager_Pair_Request) returns (.CBluetoothManager_Pair_Response);
rpc CancelPair (.CBluetoothManager_CancelPair_Request) returns (.CBluetoothManager_CancelPair_Response);
rpc Forget (.CBluetoothManager_Forget_Request) returns (.CBluetoothManager_Forget_Response);
rpc Connect (.CBluetoothManager_Connect_Request) returns (.CBluetoothManager_Connect_Response);
rpc Disconnect (.CBluetoothManager_Disconnect_Request) returns (.CBluetoothManager_Disconnect_Response);
rpc SetWakeAllowed (.CBluetoothManager_SetWakeAllowed_Request) returns (.CBluetoothManager_SetWakeAllowed_Response);
}

View File

@@ -0,0 +1,21 @@
import "steammessages_base.proto";
import "webuimessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
message CGameNotes_UploadImage_Request {
optional string file_prefix = 1;
optional string mime_type = 2;
optional bytes data = 3;
}
message CGameNotes_UploadImage_Response {
optional string filename = 1;
}
service GameNotes {
option (webui_service_execution_site) = k_EClientExecutionSiteSteamUI;
rpc UploadImage (.CGameNotes_UploadImage_Request) returns (.CGameNotes_UploadImage_Response);
}

View File

@@ -0,0 +1,585 @@
import "enums.proto";
import "steammessages_base.proto";
import "webuimessages_base.proto";
import "webuimessages_gamerecordingfiles.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
enum ETimelineEntryType {
k_ETimelineEntryType_Invalid = 0;
k_ETimelineEntryType_GameMode = 1;
k_ETimelineEntryType_Event = 2;
k_ETimelineEntryType_StateDescription = 3;
k_ETimelineEntryType_Achievement = 4;
k_ETimelineEntryType_UserMarker = 5;
k_ETimelineEntryType_Screenshot = 6;
k_ETimelineEntryType_Error = 7;
k_ETimelineEntryType_Tag = 8;
k_ETimelineEntryType_GamePhase = 9;
}
enum EPhaseResultType {
k_EPhaseResultType_Automatic = 1;
k_EPhaseResultType_Blank = 2;
k_EPhaseResultType_API = 3;
}
enum ETimelineChangeNotificationType {
k_ETimelineChangeNotificationType_Started = 1;
k_ETimelineChangeNotificationType_Stopped = 2;
k_ETimelineChangeNotificationType_Deleted = 3;
k_ETimelineChangeNotificationType_RecordingStarted = 4;
k_ETimelineChangeNotificationType_RecordingStopped = 5;
k_ETimelineChangeNotificationType_RecordingUpdated = 6;
}
enum ERecordingSessionChangeNotificationType {
k_ERecordingSessionChangeNotificationType_Started = 1;
k_ERecordingSessionChangeNotificationType_Stopped = 2;
k_ERecordingSessionChangeNotificationType_Deleted = 3;
k_ERecordingSessionChangeNotificationType_Updated = 4;
}
enum EDiskSpaceType {
k_eDiskSpaceType_Recording = 0;
k_eDiskSpaceType_Clip = 1;
}
enum EThumbnailTimePrecision {
k_ePrecise = 0;
k_eLoose = 1;
}
enum EThumbnailFormat {
k_eJPEG = 1;
k_eRGB = 2;
}
message CGameRecording_GetActiveTimelineApps_Request {
}
message CGameRecording_GetActiveTimelineApps_Response {
message App {
optional uint64 game_id = 1;
optional uint32 most_recent_start_time = 2;
optional .EGameRecordingType recording_type = 3 [default = k_EGameRecordingType_Unknown];
optional double video_duration_seconds = 4;
optional double timeline_duration_seconds = 5;
optional bool is_active = 6;
optional uint64 file_size = 7;
}
repeated .CGameRecording_GetActiveTimelineApps_Response.App apps = 1;
}
message CGameRecording_GetTimelinesForApp_Request {
optional uint64 game_id = 1;
}
message CGameRecording_GetTimelinesForApp_Response {
repeated .CGameRecordingTimelineMetadata timelines = 1;
}
message CGameRecording_GetTimelinesForClip_Request {
optional string clip_id = 1;
}
message CGameRecording_GetTimelinesForClip_Response {
optional uint64 game_id = 1;
repeated .CGameRecordingTimelineMetadata timelines = 2;
optional uint64 first_timeline_start_offset_ms = 3;
}
message CGameRecording_QueryPhases_Request {
message Tag {
optional string group = 1;
optional string name = 2;
}
optional uint32 page = 1;
optional uint32 count = 2;
optional uint64 filter_gameid = 10;
optional string filter_search_string = 11;
repeated .CGameRecording_QueryPhases_Request.Tag filter_tags = 12;
optional string filter_phase_id = 13;
}
message CGameRecording_QueryPhases_Response {
message Phase {
message BackgroundRecording {
optional string timeline_id = 1;
optional uint64 offset = 2;
optional uint64 duration_ms = 3;
}
optional uint64 game_id = 1;
optional uint32 date_recorded = 5;
optional uint64 duration_ms = 6;
repeated .CTimelineTag tags = 7;
repeated .CTimelineTag contained_tags = 8;
optional .CGameRecording_QueryPhases_Response.Phase.BackgroundRecording background_recording = 9;
repeated string clip_ids = 10;
optional .EPhaseResultType type = 11 [default = k_EPhaseResultType_Automatic];
optional uint64 start_ms = 12;
repeated uint32 screenshots = 13;
optional bool active = 14;
optional string phase_id = 15;
repeated .CTimelineEntry significant_events = 16;
repeated .CPhaseAttribute attributes = 17;
}
repeated .CGameRecording_QueryPhases_Response.Phase phases = 1;
optional uint32 total_count = 2;
}
message CGameRecording_GetTags_Request {
optional uint64 game_id = 1;
}
message CGameRecording_GetTags_Response {
repeated .CTimelineTag tags = 1;
}
message CGameRecording_GetEnoughDiskSpace_Request {
}
message CGameRecording_GetEnoughDiskSpace_Response {
optional bool enough_space = 1;
}
message CGameRecording_GetAvailableDiskSpace_Request {
}
message CGameRecording_GetAvailableDiskSpace_Response {
optional double size = 1;
}
message CGameRecording_TimelineChanged_Notification {
optional .ETimelineChangeNotificationType notification_type = 1 [default = k_ETimelineChangeNotificationType_Started];
optional string timeline_id = 2;
optional uint64 game_id = 3;
optional uint32 start_time = 4;
optional uint64 duration_ms = 5;
}
message CGameRecording_RecordingSessionChanged_Notification {
optional .ERecordingSessionChangeNotificationType notification_type = 1 [default = k_ERecordingSessionChangeNotificationType_Started];
optional string timeline_id = 2;
optional uint64 game_id = 4;
optional string session_id = 5;
optional uint64 start_offset = 6;
optional uint64 duration_ms = 7;
optional .EGameRecordingType recording_type = 8 [default = k_EGameRecordingType_Unknown];
}
message CTimelineEntry {
optional string timeline_id = 1;
optional uint64 entry_id = 2;
optional uint64 time = 3;
optional .ETimelineEntryType type = 4 [default = k_ETimelineEntryType_Invalid];
optional int32 game_mode = 5;
optional string range_title = 7;
optional uint64 range_duration = 8;
optional int32 range_possible_clip = 9;
optional string timestamp_title = 10;
optional string marker_icon = 11;
optional string marker_description = 13;
optional int32 marker_priority = 14;
optional uint32 screenshot_handle = 15;
optional string achievement_name = 16;
repeated .CTimelineTag tag = 17;
optional string phase_id = 18;
repeated .CPhaseAttribute attributes = 19;
}
message CGameRecording_TimelineEntryChanged_Notification {
optional .CTimelineEntry entry = 1;
optional fixed64 game_id = 2;
}
message CGameRecording_LowDiskSpace_Notification {
}
message CGameRecording_PostGameHighlightsChanged_Notification {
optional uint64 game_id = 1;
}
message CGameRecording_OpenOverlayToGamePhase_Notification {
optional uint64 game_id = 1;
optional string phase_id = 2;
}
message CGameRecording_OpenOverlayToTimelineEvent_Notification {
optional uint64 game_id = 1;
optional uint64 entry_id = 2;
}
message CGameRecording_PhaseListChanged_Notification {
}
message CGameRecording_ClipSummary {
optional string clip_id = 1;
optional uint64 game_id = 2;
optional uint64 duration_ms = 3;
optional uint32 date_recorded = 4;
optional string start_timeline_id = 5;
optional uint64 start_offset_ms = 6;
optional uint64 published_file_id = 7;
optional uint64 file_size = 8;
optional string name = 9;
optional uint32 date_clipped = 10;
optional bool temporary = 11;
optional string original_device = 12;
optional uint32 original_gaming_device_type = 13;
optional uint32 date_downloaded = 14;
optional string thumbnail_url = 15;
optional uint32 thumbnail_width = 16;
optional uint32 thumbnail_height = 17;
}
message CGameRecording_SaveClip_Request {
message Position {
optional string timeline_id = 1;
optional uint64 offset_ms = 2;
}
optional uint64 game_id = 1;
optional .CGameRecording_SaveClip_Request.Position start = 2;
optional .CGameRecording_SaveClip_Request.Position end = 3;
optional string name = 4;
optional string src_clip_id = 5;
optional bool temporary = 6;
}
message CGameRecording_SaveClip_Response {
optional .CGameRecording_ClipSummary summary = 1;
}
message CGameRecording_DeleteClip_Request {
optional string clip_id = 1;
}
message CGameRecording_DeleteClip_Response {
}
message CGameRecording_ExportClip_Settings {
optional int32 bitrate_kbps = 1;
optional int32 width = 2;
optional int32 height = 3;
optional int32 frames_per_second = 4;
}
message CGameRecording_ExportClip_Request {
optional string clip_id = 1;
optional string export_mp4_path = 2;
optional .CGameRecording_ExportClip_Settings settings = 3;
}
message CGameRecording_ExportClip_Response {
}
message CGameRecording_TakeScreenshot_Request {
optional fixed64 game_id = 1;
optional string timeline_id = 2;
optional uint64 timeline_offset_ms = 3;
}
message CGameRecording_TakeScreenshot_Response {
optional fixed64 screenshot_id = 1;
}
message CGameRecording_UploadClipToSteam_Request {
optional string clip_id = 1;
optional string title = 2;
optional string desc = 3;
optional int32 visibility = 4;
}
message CGameRecording_UploadClipToSteam_Response {
optional .CGameRecording_ClipSummary summary = 1;
}
message CGameRecording_ZipClip_Request {
optional string clip_id = 1;
}
message CGameRecording_ZipClip_Response {
optional string zip_path = 1;
}
message CGameRecording_GetClips_Request {
optional uint64 game_id = 1;
optional uint32 created_after = 2;
optional bool include_temporary = 3;
}
message CGameRecording_GetClips_Response {
repeated .CGameRecording_ClipSummary clip = 1;
}
message CGameRecording_GetAndTrimPostGameHighlights_Request {
optional uint64 game_id = 1;
optional uint32 created_after = 2;
}
message CGameRecording_GetAndTrimPostGameHighlights_Response {
repeated .CGameRecordingTimelineEvent events = 1;
}
message CGameRecording_UserAddTimelineEntry_Request {
optional uint64 game_id = 1;
optional .CTimelineEntry entry = 2;
optional string clip_id = 3;
}
message CGameRecording_UserAddTimelineEntry_Response {
optional uint64 entry_id = 1;
}
message CGameRecording_UserUpdateTimelineEntry_Request {
optional uint64 game_id = 1;
optional .CTimelineEntry entry = 2;
optional string clip_id = 3;
}
message CGameRecording_UserUpdateTimelineEntry_Response {
}
message CGameRecording_UserRemoveTimelineEntry_Request {
optional uint64 game_id = 1;
optional string timeline_id = 2;
optional uint64 entry_id = 3;
optional string clip_id = 4;
}
message CGameRecording_UserRemoveTimelineEntry_Response {
}
message CGameRecording_ManuallyDeleteRecordingsForApps_Request {
repeated uint64 game_ids = 1;
}
message CGameRecording_ManuallyDeleteRecordingsForApps_Response {
}
message CGameRecording_GetTotalDiskSpaceUsage_Request {
optional string folder_path = 1;
optional .EDiskSpaceType type = 2 [default = k_eDiskSpaceType_Recording];
}
message CGameRecording_GetTotalDiskSpaceUsage_Response {
optional uint64 size = 1;
}
message CGameRecording_GetThumbnails_Request {
optional string recording_id = 1;
optional string clip_id = 3;
optional string timeline_id = 7;
repeated int64 start_offset_us = 4;
optional uint32 major_axis = 5 [default = 512];
optional .EThumbnailTimePrecision time_precision = 6 [default = k_ePrecise];
optional .EThumbnailFormat format = 8 [default = k_eJPEG];
}
message CGameRecording_GetThumbnails_Response {
message Thumbnail {
optional bytes image_data = 1;
optional uint32 width = 2;
optional uint32 height = 3;
}
repeated .CGameRecording_GetThumbnails_Response.Thumbnail thumbnails = 1;
}
message CGameRecording_StartRecording_Request {
optional uint64 game_id = 1;
}
message CGameRecording_StartRecording_Response {
}
message CGameRecording_StopRecording_Request {
optional uint64 game_id = 1;
}
message CGameRecording_StopRecording_Response {
optional .CGameRecording_ClipSummary summary = 1;
}
message CGameRecording_GetRecordingSize_Request {
optional uint64 game_id = 1;
}
message CGameRecording_GetRecordingSize_Response {
optional uint64 file_size = 1;
}
message CGameRecording_CleanupBackgroundRecordings_Request {
}
message CGameRecording_CleanupBackgroundRecordings_Response {
}
message CGameRecording_GetPlatformCapabilities_Request {
}
message CGameRecording_GetPlatformCapabilities_Response {
optional bool per_process_audio_capture = 1;
}
message CGameRecording_ClipCreated_Notification {
optional .CGameRecording_ClipSummary summary = 1;
}
message CGameRecording_ClipDeleted_Notification {
optional string clip_id = 1;
optional uint64 game_id = 2;
}
message CGameRecording_ExportProgress_Notification {
optional float progress = 1;
optional string clip_id = 2;
optional int32 eresult = 3;
}
message CGameRecording_PerGameSettings {
optional fixed64 gameid = 1;
optional bool enabled = 2;
optional int32 minutes = 3;
optional int32 bitrate = 4;
}
message CGameRecording_GetPerGameSettings_Request {
}
message CGameRecording_GetPerGameSettings_Response {
repeated .CGameRecording_PerGameSettings settings = 1;
}
message CGameRecording_SetPerGameSettings_Request {
optional .CGameRecording_PerGameSettings game_settings = 1;
}
message CGameRecording_SetPerGameSettings_Response {
}
message CGameRecording_DeletePerGameSettings_Request {
optional fixed64 gameid = 1;
}
message CGameRecording_DeletePerGameSettings_Response {
}
message CGameRecording_UploadProgress_Notification {
optional float progress = 1;
optional string clip_id = 2;
optional int32 eresult = 3;
}
message CGameRecording_SwitchBackgroundRecordingGame_Request {
optional uint64 game_id = 1;
}
message CGameRecording_SwitchBackgroundRecordingGame_Response {
}
message CGameRecordingDebug_AddTimelineHighlightMarker_Request {
optional uint32 appid = 1;
optional string icon = 2;
optional string title = 3;
optional string desc = 4;
}
message CGameRecordingDebug_AddTimelineHighlightMarker_Response {
}
message CGameRecordingDebug_AddTimelineTimestamp_Request {
optional uint32 appid = 1;
optional string title = 2;
}
message CGameRecordingDebug_AddTimelineTimestamp_Response {
}
message CGameRecordingDebug_AddTimelineRangeStart_Request {
optional uint32 appid = 1;
optional string id = 2;
optional string title = 3;
}
message CGameRecordingDebug_AddTimelineRangeStart_Response {
}
message CGameRecordingDebug_AddTimelineRangeEnd_Request {
optional uint32 appid = 1;
optional string id = 2;
}
message CGameRecordingDebug_AddTimelineRangeEnd_Response {
}
message CGameRecordingDebug_SetTimelineGameMode_Request {
optional uint32 appid = 1;
optional uint32 mode = 2;
}
message CGameRecordingDebug_SetTimelineGameMode_Response {
}
service GameRecording {
option (webui_service_execution_site) = k_EClientExecutionSiteSteamUI;
rpc GetActiveTimelineApps (.CGameRecording_GetActiveTimelineApps_Request) returns (.CGameRecording_GetActiveTimelineApps_Response);
rpc GetTimelinesForApp (.CGameRecording_GetTimelinesForApp_Request) returns (.CGameRecording_GetTimelinesForApp_Response);
rpc GetTimelinesForClip (.CGameRecording_GetTimelinesForClip_Request) returns (.CGameRecording_GetTimelinesForClip_Response);
rpc QueryPhases (.CGameRecording_QueryPhases_Request) returns (.CGameRecording_QueryPhases_Response);
rpc GetTags (.CGameRecording_GetTags_Request) returns (.CGameRecording_GetTags_Response);
rpc GetEnoughDiskSpace (.CGameRecording_GetEnoughDiskSpace_Request) returns (.CGameRecording_GetEnoughDiskSpace_Response);
rpc GetAvailableDiskSpace (.CGameRecording_GetAvailableDiskSpace_Request) returns (.CGameRecording_GetAvailableDiskSpace_Response);
rpc SaveClip (.CGameRecording_SaveClip_Request) returns (.CGameRecording_SaveClip_Response);
rpc DeleteClip (.CGameRecording_DeleteClip_Request) returns (.CGameRecording_DeleteClip_Response);
rpc GetClips (.CGameRecording_GetClips_Request) returns (.CGameRecording_GetClips_Response);
rpc UploadClipToSteam (.CGameRecording_UploadClipToSteam_Request) returns (.CGameRecording_UploadClipToSteam_Response);
rpc ExportClip (.CGameRecording_ExportClip_Request) returns (.CGameRecording_ExportClip_Response);
rpc TakeScreenshot (.CGameRecording_TakeScreenshot_Request) returns (.CGameRecording_TakeScreenshot_Response);
rpc ZipClip (.CGameRecording_ZipClip_Request) returns (.CGameRecording_ZipClip_Response);
rpc StartRecording (.CGameRecording_StartRecording_Request) returns (.CGameRecording_StartRecording_Response);
rpc StopRecording (.CGameRecording_StopRecording_Request) returns (.CGameRecording_StopRecording_Response);
rpc GetBackgroundRecordingFileSize (.CGameRecording_GetRecordingSize_Request) returns (.CGameRecording_GetRecordingSize_Response);
rpc CleanupBackgroundRecordings (.CGameRecording_CleanupBackgroundRecordings_Request) returns (.CGameRecording_CleanupBackgroundRecordings_Response);
rpc GetAndTrimPostGameHighlights (.CGameRecording_GetAndTrimPostGameHighlights_Request) returns (.CGameRecording_GetAndTrimPostGameHighlights_Response);
rpc GetThumbnails (.CGameRecording_GetThumbnails_Request) returns (.CGameRecording_GetThumbnails_Response);
rpc GetPlatformCapabilities (.CGameRecording_GetPlatformCapabilities_Request) returns (.CGameRecording_GetPlatformCapabilities_Response);
rpc NotifyTimelineChanged (.CGameRecording_TimelineChanged_Notification) returns (.WebUINoResponse);
rpc NotifyRecordingSessionChanged (.CGameRecording_RecordingSessionChanged_Notification) returns (.WebUINoResponse);
rpc NotifyTimelineEntryChanged (.CGameRecording_TimelineEntryChanged_Notification) returns (.WebUINoResponse);
rpc NotifyClipCreated (.CGameRecording_ClipCreated_Notification) returns (.WebUINoResponse);
rpc NotifyClipDeleted (.CGameRecording_ClipDeleted_Notification) returns (.WebUINoResponse);
rpc NotifyExportProgress (.CGameRecording_ExportProgress_Notification) returns (.WebUINoResponse);
rpc NotifyUploadProgress (.CGameRecording_UploadProgress_Notification) returns (.WebUINoResponse);
rpc NotifyLowDiskSpace (.CGameRecording_LowDiskSpace_Notification) returns (.WebUINoResponse);
rpc NotifyPostGameHighlightsChanged (.CGameRecording_PostGameHighlightsChanged_Notification) returns (.WebUINoResponse);
rpc NotifyOpenOverlayToGamePhase (.CGameRecording_OpenOverlayToGamePhase_Notification) returns (.WebUINoResponse);
rpc NotifyOpenOverlayToTimelineEvent (.CGameRecording_OpenOverlayToTimelineEvent_Notification) returns (.WebUINoResponse);
rpc NotifyPhaseListChanged (.CGameRecording_PhaseListChanged_Notification) returns (.WebUINoResponse);
rpc GetPerGameSettings (.CGameRecording_GetPerGameSettings_Request) returns (.CGameRecording_GetPerGameSettings_Response);
rpc SetPerGameSettings (.CGameRecording_SetPerGameSettings_Request) returns (.CGameRecording_SetPerGameSettings_Response);
rpc DeletePerGameSettings (.CGameRecording_DeletePerGameSettings_Request) returns (.CGameRecording_DeletePerGameSettings_Response);
rpc UserAddTimelineEntry (.CGameRecording_UserAddTimelineEntry_Request) returns (.CGameRecording_UserAddTimelineEntry_Response);
rpc UserUpdateTimelineEntry (.CGameRecording_UserUpdateTimelineEntry_Request) returns (.CGameRecording_UserUpdateTimelineEntry_Response);
rpc UserRemoveTimelineEntry (.CGameRecording_UserRemoveTimelineEntry_Request) returns (.CGameRecording_UserRemoveTimelineEntry_Response);
rpc ManuallyDeleteRecordingsForApps (.CGameRecording_ManuallyDeleteRecordingsForApps_Request) returns (.CGameRecording_ManuallyDeleteRecordingsForApps_Response);
rpc GetTotalDiskSpaceUsage (.CGameRecording_GetTotalDiskSpaceUsage_Request) returns (.CGameRecording_GetTotalDiskSpaceUsage_Response);
rpc SwitchBackgroundRecordingGame (.CGameRecording_SwitchBackgroundRecordingGame_Request) returns (.CGameRecording_SwitchBackgroundRecordingGame_Response);
}
service GameRecordingDebug {
option (webui_service_execution_site) = k_EClientExecutionSiteSteamUI;
rpc AddTimelineHighlightMarker (.CGameRecordingDebug_AddTimelineHighlightMarker_Request) returns (.CGameRecordingDebug_AddTimelineHighlightMarker_Response);
rpc AddTimelineTimestamp (.CGameRecordingDebug_AddTimelineTimestamp_Request) returns (.CGameRecordingDebug_AddTimelineTimestamp_Response);
rpc AddTimelineRangeStart (.CGameRecordingDebug_AddTimelineRangeStart_Request) returns (.CGameRecordingDebug_AddTimelineRangeStart_Response);
rpc AddTimelineRangeEnd (.CGameRecordingDebug_AddTimelineRangeEnd_Request) returns (.CGameRecordingDebug_AddTimelineRangeEnd_Response);
rpc SetTimelineGameMode (.CGameRecordingDebug_SetTimelineGameMode_Request) returns (.CGameRecordingDebug_SetTimelineGameMode_Response);
}

View File

@@ -0,0 +1,118 @@
import "enums.proto";
import "steammessages_base.proto";
import "webuimessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
message CGameRecordingFile {
repeated .CGameRecordingTimelineMetadata timelines = 1;
repeated .CGameRecordingPostGameSummary postgame_events = 2;
repeated string temporary_clips = 3;
repeated .CGameRecordingTag tags = 4;
}
message CGameRecordingClipFile {
repeated .CGameRecordingTimelineMetadata timelines = 1;
optional uint64 first_timeline_start_offset_ms = 2;
optional uint32 date_recorded = 3;
optional uint64 game_id = 4;
optional fixed64 published_file_id = 5;
optional uint64 size_in_bytes = 6;
optional string name = 7;
optional bool temporary = 8;
optional string original_device = 9;
optional uint32 original_gaming_device_type = 10;
optional uint32 date_downloaded = 11;
optional uint32 thumbnail_width = 12;
optional uint32 thumbnail_height = 13;
repeated .CGameRecordingTag tags = 14;
repeated .CGameRecordingPhase phases = 15;
}
message CGameRecordingTimelineMetadata {
message Recording {
optional string recording_id = 1;
optional uint64 start_offset_ms = 2;
optional uint64 duration_ms = 3;
optional .EGameRecordingType recording_type = 4 [default = k_EGameRecordingType_Unknown];
optional bool delete_on_cleanup = 5;
optional uint64 video_manager_clip_id = 6;
optional uint64 video_manager_video_id = 7;
optional string cdn_manifest_url = 8;
optional uint64 file_size = 9;
optional uint64 recording_zero_timeline_offset_ms = 10;
}
optional string timeline_id = 1;
optional uint64 game_id = 2;
optional uint32 date_recorded = 3;
optional uint64 duration_ms = 4;
repeated .CGameRecordingTimelineMetadata.Recording recordings = 5;
repeated .CGameRecordingPhase phases = 6;
repeated .CGameRecordingTimelineEvent significant_events = 7;
}
message CGameRecordingPostGameSummary {
optional uint64 game_id = 1;
repeated .CGameRecordingTimelineEvent events = 2;
}
message CGameRecordingTimelineEvent {
optional uint64 game_id = 1;
optional uint32 rt_created = 2;
optional int32 possible_clip = 3;
optional string timeline_id = 4;
optional uint64 entry_id = 5;
optional uint64 timeline_offset_ms = 6;
optional uint64 duration_ms = 7;
optional string marker_icon = 8;
optional string marker_title = 9;
optional bool user_marker = 10;
}
message CGameRecordingTag {
message Timeline {
optional string clip_id = 1;
optional string timeline_id = 2;
optional uint64 offset_ms = 3;
}
optional uint64 game_id = 1;
optional .CTimelineTag tag = 2;
repeated .CGameRecordingTag.Timeline references = 3;
}
message CGameRecordingTagInstance {
optional string timeline_id = 1;
optional uint64 entry_id = 2;
optional uint64 timeline_offset_ms = 3;
optional uint64 duration_ms = 4;
}
message CGameRecordingPhase {
message Tag {
optional string name = 1;
optional string group = 2;
}
optional string phase_id = 4;
optional uint64 duration_ms = 5;
repeated .CGameRecordingPhase.Tag tags = 6;
repeated .CGameRecordingPhase.Tag contained_tags = 7;
optional uint64 background_timeline_offset = 8;
repeated .CPhaseAttribute attributes = 9;
}
message CTimelineTag {
optional string name = 1;
optional string group = 2;
optional string icon = 3;
optional uint32 priority = 4;
}
message CPhaseAttribute {
optional string group = 1;
optional string value = 2;
optional uint32 priority = 3;
}

View File

@@ -0,0 +1,64 @@
import "enums.proto";
import "steammessages_base.proto";
import "webuimessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
message CMsgDisplayInfo {
optional string make = 1;
optional string model = 2;
optional string connector_name = 3;
repeated int32 supported_refresh_rates = 4;
repeated int32 supported_frame_rates = 5;
optional bool is_external = 6;
optional bool is_hdr_capable = 7;
optional bool is_vrr_capable = 8;
}
message CMsgGamescopeState {
optional bool is_service_available = 1;
optional bool is_reshade_supported = 2;
optional bool is_app_hdr_enabled = 3;
optional bool is_app_refresh_rate_supported = 4;
optional .CMsgDisplayInfo active_display_info = 5;
optional bool is_app_refresh_rate_capable = 6;
optional bool is_refresh_rate_switching_supported = 7;
optional bool is_refresh_rate_switching_restricted = 8;
optional bool is_hdr_visualization_supported = 9;
optional bool is_mura_correction_supported = 10;
}
message CGamescope_GetState_Request {
}
message CGamescope_GetState_Response {
optional .CMsgGamescopeState state = 1;
}
message CGamescope_StateChanged_Notification {
}
message CGamescope_SetBlurParams_Request {
optional .EGamescopeBlurMode mode = 1 [default = k_EGamescopeBlurMode_Disabled];
optional int32 radius = 2;
optional int32 fade_duration_ms = 3;
}
message CGamescope_SetBlurParams_Response {
}
message CGamescope_ReArmMuraCalibration_Request {
}
message CGamescope_ReArmMuraCalibration_Response {
}
service Gamescope {
option (webui_service_execution_site) = k_EClientExecutionSiteSteamUI;
rpc GetState (.CGamescope_GetState_Request) returns (.CGamescope_GetState_Response);
rpc NotifyStateChanged (.CGamescope_StateChanged_Notification) returns (.WebUINoResponse);
rpc SetBlurParams (.CGamescope_SetBlurParams_Request) returns (.CGamescope_SetBlurParams_Response);
rpc ReArmMuraCalibration (.CGamescope_ReArmMuraCalibration_Request) returns (.CGamescope_ReArmMuraCalibration_Response);
}

View File

@@ -0,0 +1,32 @@
import "enums.proto";
import "steammessages_base.proto";
import "webuimessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
message CSharedJSContext_GetDesiredSteamUIWindows_Request {
}
message CMsgSteamUIBrowserWindow {
optional int32 id = 1;
optional int32 pid = 2;
optional int32 browser_id = 3;
optional int32 window_type = 4;
optional int32 x = 5;
optional int32 y = 6;
optional uint64 appid = 7;
optional uint64 parent_window_handle = 8;
optional string app_name = 9;
optional bool gamepadui_via_gamescope = 10;
}
message CSharedJSContext_GetDesiredSteamUIWindows_Response {
repeated .CMsgSteamUIBrowserWindow windows = 1;
}
service SharedJSContext {
option (webui_service_execution_site) = k_EClientExecutionSiteSteamUI;
rpc GetDesiredSteamUIWindows (.CSharedJSContext_GetDesiredSteamUIWindows_Request) returns (.CSharedJSContext_GetDesiredSteamUIWindows_Response);
}

View File

@@ -0,0 +1,47 @@
import "steammessages_base.proto";
import "webuimessages_base.proto";
option optimize_for = SPEED;
option cc_generic_services = true;
message CSteamEngine_UpdateTextFilterDictionary_Notification {
required string language = 1;
required string type = 2;
}
message CSteamEngine_GetTextFilterDictionary_Request {
required string language = 1;
required string type = 2;
}
message CSteamEngine_GetTextFilterDictionary_Response {
optional string dictionary = 1;
}
message CSteamEngine_TextFilterDictionaryChanged_Notification {
required string language = 1;
required string type = 2;
}
message CSteamEngine_GetGameIDForPID_Request {
optional uint32 pid = 1;
}
message CSteamEngine_GetGameIDForPID_Response {
optional uint64 gameid = 1;
}
message CSteamEngine_SetOverlayEscapeKeyHandling_Notification {
required uint64 gameid = 1;
required bool should_handle = 2;
}
service SteamEngine {
option (webui_service_execution_site) = k_EClientExecutionSiteClientdll;
rpc UpdateTextFilterDictionary (.CSteamEngine_UpdateTextFilterDictionary_Notification) returns (.WebUINoResponse);
rpc GetTextFilterDictionary (.CSteamEngine_GetTextFilterDictionary_Request) returns (.CSteamEngine_GetTextFilterDictionary_Response);
rpc NotifyTextFilterDictionaryChanged (.CSteamEngine_TextFilterDictionaryChanged_Notification) returns (.WebUINoResponse);
rpc GetGameIDForPID (.CSteamEngine_GetGameIDForPID_Request) returns (.CSteamEngine_GetGameIDForPID_Response);
rpc SetOverlayEscapeKeyHandling (.CSteamEngine_SetOverlayEscapeKeyHandling_Notification) returns (.WebUINoResponse);
}

Some files were not shown because too many files have changed in this diff Show More