From 20501fd04318c80415d8e5585b2ada233dc72d32 Mon Sep 17 00:00:00 2001 From: Nicholas Hastings Date: Sat, 15 Feb 2025 13:08:33 -0500 Subject: [PATCH] Add/update protos missed in last commit --- game/shared/econ/econ_gcmessages.proto | 1216 ++++++++++++++--- game/shared/econ/econ_shared_enums.proto | 37 + gcsdk/gcsdk_gcmessages.proto | 374 +++-- gcsdk/gcsystemmsgs.proto | 233 +--- gcsdk/steammessages.proto | 79 +- gcsdk/steammessages_int.proto | 484 +++++++ ...eammessages_steamlearn.steamworkssdk.proto | 405 ++++++ ...mmessages_unified_base.steamworkssdk.proto | 30 + .../networksystem_protomessages.proto | 17 + 9 files changed, 2353 insertions(+), 522 deletions(-) create mode 100644 game/shared/econ/econ_shared_enums.proto create mode 100644 gcsdk/steammessages_int.proto create mode 100644 gcsdk/steammessages_steamlearn.steamworkssdk.proto create mode 100644 gcsdk/steammessages_unified_base.steamworkssdk.proto create mode 100644 networksystem/networksystem_protomessages.proto diff --git a/game/shared/econ/econ_gcmessages.proto b/game/shared/econ/econ_gcmessages.proto index e8922896..67a515f7 100644 --- a/game/shared/econ/econ_gcmessages.proto +++ b/game/shared/econ/econ_gcmessages.proto @@ -1,235 +1,1077 @@ import "steammessages.proto"; +import "econ_shared_enums.proto"; +import "gcsdk_gcmessages.proto"; +import "base_gcmessages.proto"; enum EGCItemMsg { k_EMsgGCBase = 1000; k_EMsgGCSetItemPosition = 1001; - k_EMsgGCCraft = 1002; - k_EMsgGCCraftResponse = 1003; + k_EMsgClientToGCPackBundle = 1002; + k_EMsgClientToGCPackBundleResponse = 1003; k_EMsgGCDelete = 1004; k_EMsgGCVerifyCacheSubscription = 1005; - k_EMsgGCNameItem = 1006; - k_EMsgGCUnlockCrate = 1007; - k_EMsgGCUnlockCrateResponse = 1008; + k_EMsgClientToGCNameItem = 1006; k_EMsgGCPaintItem = 1009; k_EMsgGCPaintItemResponse = 1010; - k_EMsgGCGoldenWrenchBroadcast = 1011; - k_EMsgGCMOTDRequest = 1012; - k_EMsgGCMOTDRequestResponse = 1013; - k_EMsgGCAddItemToSocket_DEPRECATED = 1014; - k_EMsgGCAddItemToSocketResponse_DEPRECATED = 1015; - k_EMsgGCAddSocketToBaseItem_DEPRECATED = 1016; - k_EMsgGCAddSocketToItem_DEPRECATED = 1017; - k_EMsgGCAddSocketToItemResponse_DEPRECATED = 1018; k_EMsgGCNameBaseItem = 1019; k_EMsgGCNameBaseItemResponse = 1020; - k_EMsgGCRemoveSocketItem_DEPRECATED = 1021; - k_EMsgGCRemoveSocketItemResponse_DEPRECATED = 1022; - k_EMsgGCCustomizeItemTexture = 1023; - k_EMsgGCCustomizeItemTextureResponse = 1024; k_EMsgGCUseItemRequest = 1025; k_EMsgGCUseItemResponse = 1026; - k_EMsgGCGiftedItems_DEPRECATED = 1027; - k_EMsgGCRemoveItemName = 1030; - k_EMsgGCRemoveItemPaint = 1031; - k_EMsgGCGiftWrapItem = 1032; - k_EMsgGCGiftWrapItemResponse = 1033; - k_EMsgGCDeliverGift = 1034; - k_EMsgGCDeliverGiftResponseGiver = 1035; - k_EMsgGCDeliverGiftResponseReceiver = 1036; + k_EMsgGCGiftedItems = 1027; k_EMsgGCUnwrapGiftRequest = 1037; k_EMsgGCUnwrapGiftResponse = 1038; - k_EMsgGCSetItemStyle = 1039; - k_EMsgGCUsedClaimCodeItem = 1040; k_EMsgGCSortItems = 1041; - k_EMsgGC_RevolvingLootList_DEPRECATED = 1042; - k_EMsgGCLookupAccount = 1043; - k_EMsgGCLookupAccountResponse = 1044; - k_EMsgGCLookupAccountName = 1045; - k_EMsgGCLookupAccountNameResponse = 1046; - k_EMsgGCUpdateItemSchema = 1049; - k_EMsgGCRemoveCustomTexture = 1051; - k_EMsgGCRemoveCustomTextureResponse = 1052; - k_EMsgGCRemoveMakersMark = 1053; - k_EMsgGCRemoveMakersMarkResponse = 1054; - k_EMsgGCRemoveUniqueCraftIndex = 1055; - k_EMsgGCRemoveUniqueCraftIndexResponse = 1056; - k_EMsgGCSaxxyBroadcast = 1057; k_EMsgGCBackpackSortFinished = 1058; k_EMsgGCAdjustItemEquippedState = 1059; - k_EMsgGCCollectItem = 1061; - k_EMsgGCItemAcknowledged__DEPRECATED = 1062; - k_EMsgGC_ReportAbuse = 1065; - k_EMsgGC_ReportAbuseResponse = 1066; - k_EMsgGCNameItemNotification = 1068; - k_EMsgGCApplyConsumableEffects = 1069; - k_EMsgGCConsumableExhausted = 1070; - k_EMsgGCShowItemsPickedUp = 1071; - k_EMsgGCClientDisplayNotification = 1072; + k_EMsgGCItemAcknowledged = 1062; + k_EMsgClientToGCNameItemResponse = 1068; k_EMsgGCApplyStrangePart = 1073; - k_EMsgGC_IncrementKillCountAttribute = 1074; - k_EMsgGC_IncrementKillCountResponse = 1075; k_EMsgGCApplyPennantUpgrade = 1076; k_EMsgGCSetItemPositions = 1077; k_EMsgGCApplyEggEssence = 1078; k_EMsgGCNameEggEssenceResponse = 1079; - k_EMsgGCPaintKitItem = 1080; - k_EMsgGCPaintKitBaseItem = 1081; - k_EMsgGCPaintKitItemResponse = 1082; - k_EMsgGCGiftedItems = 1083; - k_EMsgGCUnlockItemStyle = 1084; - k_EMsgGCUnlockItemStyleResponse = 1085; - k_EMsgGCApplySticker = 1086; - k_EMsgGCItemAcknowledged = 1087; - k_EMsgGCStatTrakSwap = 1088; - k_EMsgGCUserTrackTimePlayedConsecutively = 1089; - k_EMsgGCItemCustomizationNotification = 1090; - k_EMsgGCModifyItemAttribute = 1091; - k_EMsgGCCasketItemAdd = 1092; - k_EMsgGCCasketItemExtract = 1093; - k_EMsgGCCasketItemLoadContents = 1094; - k_EMsgGCTradingBase = 1500; - k_EMsgGCTrading_InitiateTradeRequest = 1501; - k_EMsgGCTrading_InitiateTradeResponse = 1502; - k_EMsgGCTrading_StartSession = 1503; - k_EMsgGCTrading_SetItem = 1504; - k_EMsgGCTrading_RemoveItem = 1505; - k_EMsgGCTrading_UpdateTradeInfo = 1506; - k_EMsgGCTrading_SetReadiness = 1507; - k_EMsgGCTrading_ReadinessResponse = 1508; - k_EMsgGCTrading_SessionClosed = 1509; - k_EMsgGCTrading_CancelSession = 1510; - k_EMsgGCTrading_TradeChatMsg = 1511; - k_EMsgGCTrading_ConfirmOffer = 1512; - k_EMsgGCTrading_TradeTypingChatMsg = 1513; - k_EMsgGCServerBrowser_FavoriteServer = 1601; - k_EMsgGCServerBrowser_BlacklistServer = 1602; - k_EMsgGCServerRentalsBase = 1700; - k_EMsgGCItemPreviewCheckStatus = 1701; - k_EMsgGCItemPreviewStatusResponse = 1702; - k_EMsgGCItemPreviewRequest = 1703; - k_EMsgGCItemPreviewRequestResponse = 1704; - k_EMsgGCItemPreviewExpire = 1705; - k_EMsgGCItemPreviewExpireNotification = 1706; - k_EMsgGCItemPreviewItemBoughtNotification = 1707; + k_EMsgGCExtractGems = 1086; + k_EMsgGCAddSocket = 1087; + k_EMsgGCAddItemToSocket = 1088; + k_EMsgGCAddItemToSocketResponse = 1089; + k_EMsgGCAddSocketResponse = 1090; + k_EMsgGCResetStrangeGemCount = 1091; + k_EMsgGCRequestCrateItems = 1092; + k_EMsgGCRequestCrateItemsResponse = 1093; + k_EMsgGCExtractGemsResponse = 1094; + k_EMsgGCResetStrangeGemCountResponse = 1095; + k_EMsgGCServerUseItemRequest = 1103; + k_EMsgGCAddGiftItem = 1104; + k_EMsgSQLGCToGCRevokeUntrustedGift = 1105; + k_EMsgClientToGCRemoveItemGifterAttributes = 1109; + k_EMsgClientToGCRemoveItemName = 1110; + k_EMsgClientToGCRemoveItemDescription = 1111; + k_EMsgClientToGCRemoveItemAttributeResponse = 1112; k_EMsgGCDev_NewItemRequest = 2001; k_EMsgGCDev_NewItemRequestResponse = 2002; - k_EMsgGCDev_PaintKitDropItem = 2003; - k_EMsgGCDev_SchemaReservationRequest = 2004; - k_EMsgGCStoreGetUserData = 2500; - k_EMsgGCStoreGetUserDataResponse = 2501; - k_EMsgGCStorePurchaseInit_DEPRECATED = 2502; - k_EMsgGCStorePurchaseInitResponse_DEPRECATED = 2503; + k_EMsgGCDev_UnlockAllItemStylesRequest = 2003; + k_EMsgGCDev_UnlockAllItemStylesResponse = 2004; k_EMsgGCStorePurchaseFinalize = 2504; k_EMsgGCStorePurchaseFinalizeResponse = 2505; k_EMsgGCStorePurchaseCancel = 2506; k_EMsgGCStorePurchaseCancelResponse = 2507; - k_EMsgGCStorePurchaseQueryTxn = 2508; - k_EMsgGCStorePurchaseQueryTxnResponse = 2509; k_EMsgGCStorePurchaseInit = 2510; k_EMsgGCStorePurchaseInitResponse = 2511; - k_EMsgGCBannedWordListRequest = 2512; - k_EMsgGCBannedWordListResponse = 2513; - k_EMsgGCToGCBannedWordListBroadcast = 2514; k_EMsgGCToGCBannedWordListUpdated = 2515; k_EMsgGCToGCDirtySDOCache = 2516; - k_EMsgGCToGCDirtyMultipleSDOCache = 2517; k_EMsgGCToGCUpdateSQLKeyValue = 2518; - k_EMsgGCToGCIsTrustedServer = 2519; - k_EMsgGCToGCIsTrustedServerResponse = 2520; k_EMsgGCToGCBroadcastConsoleCommand = 2521; k_EMsgGCServerVersionUpdated = 2522; + k_EMsgGCApplyAutograph = 2523; k_EMsgGCToGCWebAPIAccountChanged = 2524; - k_EMsgGCRequestAnnouncements = 2525; - k_EMsgGCRequestAnnouncementsResponse = 2526; - k_EMsgGCRequestPassportItemGrant = 2527; k_EMsgGCClientVersionUpdated = 2528; - k_EMsgGCAdjustItemEquippedStateMulti = 2529; - k_EMsgGCRecurringSubscriptionStatus = 2530; - k_EMsgGCAdjustEquipSlotsManual = 2531; - k_EMsgGCAdjustEquipSlotsShuffle = 2532; - k_EMsgGCNameItemAndEquip = 2533; - k_EMsgGCOpenCrate = 2534; - k_EMsgGCAcknowledgeRentalExpiration = 2535; + k_EMsgGCToGCUpdateWelcomeMsg = 2529; + k_EMsgGCToGCPlayerStrangeCountAdjustments = 2535; + k_EMsgGCRequestStoreSalesData = 2536; + k_EMsgGCRequestStoreSalesDataResponse = 2537; + k_EMsgGCRequestStoreSalesDataUpToDateResponse = 2538; + k_EMsgGCToGCPingRequest = 2539; + k_EMsgGCToGCPingResponse = 2540; + k_EMsgGCToGCGetUserSessionServer = 2541; + k_EMsgGCToGCGetUserSessionServerResponse = 2542; + k_EMsgGCToGCGetUserServerMembers = 2543; + k_EMsgGCToGCGetUserServerMembersResponse = 2544; + k_EMsgGCToGCCanUseDropRateBonus = 2547; + k_EMsgSQLAddDropRateBonus = 2548; + k_EMsgGCToGCRefreshSOCache = 2549; + k_EMsgGCToGCGrantAccountRolledItems = 2554; + k_EMsgGCToGCGrantSelfMadeItemToAccount = 2555; + k_EMsgGCStatueCraft = 2561; + k_EMsgGCRedeemCode = 2562; + k_EMsgGCRedeemCodeResponse = 2563; + k_EMsgGCToGCItemConsumptionRollback = 2564; + k_EMsgClientToGCWrapAndDeliverGift = 2565; + k_EMsgClientToGCWrapAndDeliverGiftResponse = 2566; + k_EMsgClientToGCUnpackBundleResponse = 2567; + k_EMsgGCToClientStoreTransactionCompleted = 2568; + k_EMsgClientToGCEquipItems = 2569; + k_EMsgClientToGCEquipItemsResponse = 2570; + k_EMsgClientToGCUnlockItemStyle = 2571; + k_EMsgClientToGCUnlockItemStyleResponse = 2572; + k_EMsgClientToGCSetItemInventoryCategory = 2573; + k_EMsgClientToGCUnlockCrate = 2574; + k_EMsgClientToGCUnlockCrateResponse = 2575; + k_EMsgClientToGCUnpackBundle = 2576; + k_EMsgClientToGCSetItemStyle = 2577; + k_EMsgClientToGCSetItemStyleResponse = 2578; + k_EMsgSQLGCToGCGrantBackpackSlots = 2580; + k_EMsgClientToGCLookupAccountName = 2581; + k_EMsgClientToGCLookupAccountNameResponse = 2582; + k_EMsgClientToGCCreateStaticRecipe = 2584; + k_EMsgClientToGCCreateStaticRecipeResponse = 2585; + k_EMsgGCToGCStoreProcessCDKeyTransaction = 2586; + k_EMsgGCToGCStoreProcessCDKeyTransactionResponse = 2587; + k_EMsgGCToGCStoreProcessSettlement = 2588; + k_EMsgGCToGCStoreProcessSettlementResponse = 2589; + k_EMsgGCToGCConsoleOutput = 2590; + k_EMsgGCToClientItemAges = 2591; + k_EMsgGCToGCInternalTestMsg = 2592; + k_EMsgGCToGCClientServerVersionsUpdated = 2593; + k_EMsgGCUseMultipleItemsRequest = 2594; + k_EMsgGCGetAccountSubscriptionItem = 2595; + k_EMsgGCGetAccountSubscriptionItemResponse = 2596; + k_EMsgGCToGCBroadcastMessageFromSub = 2598; + k_EMsgGCToClientCurrencyPricePoints = 2599; + k_EMsgGCToGCAddSubscriptionTime = 2600; + k_EMsgGCToGCFlushSteamInventoryCache = 2601; + k_EMsgGCRequestCrateEscalationLevel = 2602; + k_EMsgGCRequestCrateEscalationLevelResponse = 2603; + k_EMsgGCToGCUpdateSubscriptionItems = 2604; + k_EMsgGCToGCSelfPing = 2605; + k_EMsgGCToGCGetInfuxIntervalStats = 2606; + k_EMsgGCToGCGetInfuxIntervalStatsResponse = 2607; + k_EMsgGCToGCPurchaseSucceeded = 2608; + k_EMsgClientToGCGetLimitedItemPurchaseQuantity = 2609; + k_EMsgClientToGCGetLimitedItemPurchaseQuantityResponse = 2610; + k_EMsgGCToGCBetaDeleteItems = 2611; + k_EMsgClientToGCGetInFlightItemCharges = 2612; + k_EMsgClientToGCGetInFlightItemChargesResponse = 2613; + k_EMsgGCToClientInFlightChargesUpdated = 2614; + k_EMsgClientToGCPurchaseChargeCostItems = 2615; + k_EMsgClientToGCPurchaseChargeCostItemsResponse = 2616; + k_EMsgClientToGCCancelUnfinalizedTransactions = 2617; + k_EMsgClientToGCCancelUnfinalizedTransactionsResponse = 2618; } -enum EGCMsgResponse { - k_EGCMsgResponseOK = 0; - k_EGCMsgResponseDenied = 1; - k_EGCMsgResponseServerError = 2; - k_EGCMsgResponseTimeout = 3; - k_EGCMsgResponseInvalid = 4; - k_EGCMsgResponseNoMatch = 5; - k_EGCMsgResponseUnknownError = 6; - k_EGCMsgResponseNotLoggedOn = 7; - k_EGCMsgFailedToCreate = 8; - k_EGCMsgLimitExceeded = 9; - k_EGCMsgCommitUnfinalized = 10; +enum EGCMsgInitiateTradeResponse { + k_EGCMsgInitiateTradeResponse_Accepted = 0; + k_EGCMsgInitiateTradeResponse_Declined = 1; + k_EGCMsgInitiateTradeResponse_VAC_Banned_Initiator = 2; + k_EGCMsgInitiateTradeResponse_VAC_Banned_Target = 3; + k_EGCMsgInitiateTradeResponse_Target_Already_Trading = 4; + k_EGCMsgInitiateTradeResponse_Disabled = 5; + k_EGCMsgInitiateTradeResponse_NotLoggedIn = 6; + k_EGCMsgInitiateTradeResponse_Cancel = 7; + k_EGCMsgInitiateTradeResponse_TooSoon = 8; + k_EGCMsgInitiateTradeResponse_TooSoonPenalty = 9; + k_EGCMsgInitiateTradeResponse_Trade_Banned_Initiator = 10; + k_EGCMsgInitiateTradeResponse_Trade_Banned_Target = 11; + k_EGCMsgInitiateTradeResponse_Free_Account_Initiator_DEPRECATED = 12; + k_EGCMsgInitiateTradeResponse_Shared_Account_Initiator = 13; + k_EGCMsgInitiateTradeResponse_Service_Unavailable = 14; + k_EGCMsgInitiateTradeResponse_Target_Blocked = 15; + k_EGCMsgInitiateTradeResponse_NeedVerifiedEmail = 16; + k_EGCMsgInitiateTradeResponse_NeedSteamGuard = 17; + k_EGCMsgInitiateTradeResponse_SteamGuardDuration = 18; + k_EGCMsgInitiateTradeResponse_TheyCannotTrade = 19; + k_EGCMsgInitiateTradeResponse_Recent_Password_Reset = 20; + k_EGCMsgInitiateTradeResponse_Using_New_Device = 21; + k_EGCMsgInitiateTradeResponse_Sent_Invalid_Cookie = 22; + k_EGCMsgInitiateTradeResponse_TooRecentFriend = 23; + k_EGCMsgInitiateTradeResponse_WalledFundsNotTrusted = 24; } -enum EUnlockStyle { - k_UnlockStyle_Succeeded = 0; - k_UnlockStyle_Failed_PreReq = 1; - k_UnlockStyle_Failed_CantAfford = 2; - k_UnlockStyle_Failed_CantCommit = 3; - k_UnlockStyle_Failed_CantLockCache = 4; - k_UnlockStyle_Failed_CantAffordAttrib = 5; -} - -enum EGCItemCustomizationNotification { - k_EGCItemCustomizationNotification_NameItem = 1006; - k_EGCItemCustomizationNotification_UnlockCrate = 1007; - k_EGCItemCustomizationNotification_XRayItemReveal = 1008; - k_EGCItemCustomizationNotification_XRayItemClaim = 1009; - k_EGCItemCustomizationNotification_CasketTooFull = 1011; - k_EGCItemCustomizationNotification_CasketContents = 1012; - k_EGCItemCustomizationNotification_CasketAdded = 1013; - k_EGCItemCustomizationNotification_CasketRemoved = 1014; - k_EGCItemCustomizationNotification_CasketInvFull = 1015; - k_EGCItemCustomizationNotification_NameBaseItem = 1019; - k_EGCItemCustomizationNotification_RemoveItemName = 1030; - k_EGCItemCustomizationNotification_RemoveSticker = 1053; - k_EGCItemCustomizationNotification_ApplySticker = 1086; - k_EGCItemCustomizationNotification_StatTrakSwap = 1088; - k_EGCItemCustomizationNotification_RemovePatch = 1089; - k_EGCItemCustomizationNotification_ApplyPatch = 1090; - k_EGCItemCustomizationNotification_ApplyKeychain = 1091; - k_EGCItemCustomizationNotification_RemoveKeychain = 1092; - k_EGCItemCustomizationNotification_ActivateFanToken = 9178; - k_EGCItemCustomizationNotification_ActivateOperationCoin = 9179; - k_EGCItemCustomizationNotification_GraffitiUnseal = 9185; - k_EGCItemCustomizationNotification_GenerateSouvenir = 9204; - k_EGCItemCustomizationNotification_ClientRedeemMissionReward = 9209; - k_EGCItemCustomizationNotification_ClientRedeemFreeReward = 9219; - k_EGCItemCustomizationNotification_XpShopUseTicket = 9221; - k_EGCItemCustomizationNotification_XpShopAckTracks = 9222; -} - -message CMsgGCGiftedItems { - optional uint32 accountid = 1; - optional uint32 giftdefindex = 2; - optional uint32 max_gifts_possible = 3; - optional uint32 num_eligible_recipients = 4; - repeated uint32 recipients_accountids = 5; -} - -message CMsgGCDev_SchemaReservationRequest { - optional string schema_typename = 1; - optional string instance_name = 2; - optional uint64 context = 3; - optional uint64 id = 4; -} - -message CMsgCasketItem { - optional uint64 casket_item_id = 1; +message CMsgApplyAutograph { + optional uint64 autograph_item_id = 1; optional uint64 item_item_id = 2; } -message CMsgGCUserTrackTimePlayedConsecutively { - optional uint32 state = 1; +message CMsgAdjustItemEquippedState { + optional uint64 item_id = 1; + optional uint32 new_class = 2; + optional uint32 new_slot = 3; + optional uint32 style_index = 4 [default = 255]; } -message CMsgGCItemCustomizationNotification { - repeated uint64 item_id = 1; - optional uint32 request = 2; - repeated uint64 extra_data = 3; +message CMsgEconPlayerStrangeCountAdjustment { + message CStrangeCountAdjustment { + optional uint32 event_type = 1; + optional uint64 item_id = 2; + optional uint32 adjustment = 3; + } + + optional uint32 account_id = 1; + repeated .CMsgEconPlayerStrangeCountAdjustment.CStrangeCountAdjustment strange_count_adjustments = 2; + optional bool turbo_mode = 3; +} + +message CMsgCraftingResponse { + repeated uint64 item_ids = 1; +} + +message CMsgGCRequestStoreSalesData { + optional uint32 version = 1; + optional uint32 currency = 2; +} + +message CMsgGCRequestStoreSalesDataResponse { + message Price { + optional uint32 item_def = 1; + optional uint32 price = 2; + } + + repeated .CMsgGCRequestStoreSalesDataResponse.Price sale_price = 1; + optional uint32 version = 2; + optional uint32 expiration_time = 3; +} + +message CMsgGCRequestStoreSalesDataUpToDateResponse { + optional uint32 version = 1; + optional uint32 expiration_time = 2; +} + +message CMsgGCToGCPingRequest { +} + +message CMsgGCToGCPingResponse { +} + +message CMsgGCToGCGetUserSessionServer { + optional uint32 account_id = 1; +} + +message CMsgGCToGCGetUserSessionServerResponse { + optional fixed64 server_steam_id = 1; + optional bool is_online = 2; +} + +message CMsgGCToGCGetUserServerMembers { + optional uint32 account_id = 1; + optional uint32 max_spectators = 2; +} + +message CMsgGCToGCGetUserServerMembersResponse { + repeated uint32 member_account_id = 1; +} + +message CMsgLookupMultipleAccountNames { + repeated uint32 accountids = 1 [packed = true]; +} + +message CMsgLookupMultipleAccountNamesResponse { + message Account { + optional uint32 accountid = 1; + optional string persona = 2; + } + + repeated .CMsgLookupMultipleAccountNamesResponse.Account accounts = 1; +} + +message CMsgRequestCrateItems { + optional uint32 crate_item_def = 1; +} + +message CMsgRequestCrateItemsResponse { + enum EResult { + k_Succeeded = 0; + k_Failed = 1; + } + + optional uint32 response = 1; + repeated uint32 item_defs = 2; + repeated uint32 peek_item_defs = 3; + repeated .CSOEconItem peek_items = 4; +} + +message CMsgRequestCrateEscalationLevel { + optional uint32 crate_item_def = 1; +} + +message CMsgRequestCrateEscalationLevelResponse { + enum EResult { + k_Succeeded = 0; + k_Failed = 1; + } + + optional uint32 response = 1; + optional uint32 escalation_level0 = 2; + optional uint32 escalation_level1 = 3; + optional uint32 escalation_level2 = 4; + optional uint32 escalation_level3 = 5; +} + +message CMsgGCToGCCanUseDropRateBonus { + optional uint32 account_id = 1; + optional float drop_rate_bonus = 2; + optional uint32 booster_type = 3; + optional uint32 exclusive_item_def = 4; + optional bool allow_equal_rate = 5; +} + +message CMsgSQLAddDropRateBonus { + optional uint32 account_id = 1; + optional uint64 item_id = 2; + optional uint32 item_def = 3; + optional float drop_rate_bonus = 4; + optional uint32 booster_type = 5; + optional uint32 seconds_duration = 6; + optional uint32 end_time_stamp = 7; +} + +message CMsgSQLUpgradeBattleBooster { + optional uint32 account_id = 1; + optional uint32 item_def = 2; + optional float bonus_to_add = 3; + optional uint32 booster_type = 4; +} + +message CMsgGCToGCRefreshSOCache { + optional uint32 account_id = 1; + optional bool reload = 2; +} + +message CMsgGCToGCAddSubscriptionTime { + optional uint32 account_id = 1; + repeated uint32 matching_subscription_def_indexes = 2; + optional uint32 additional_seconds = 3; +} + +message CMsgGCToGCGrantAccountRolledItems { + message Item { + message DynamicAttribute { + optional string name = 1; + optional uint32 value_uint32 = 2; + optional float value_float = 3; + optional string value_string = 4; + } + + message AdditionalAuditEntry { + optional uint32 owner_account_id = 1; + optional uint32 audit_action = 2; + optional uint64 audit_data = 3; + } + + optional uint32 item_def = 1; + repeated string loot_lists = 2; + optional bool ignore_limit = 3; + optional uint32 origin = 4; + repeated .CMsgGCToGCGrantAccountRolledItems.Item.DynamicAttribute dynamic_attributes = 5; + repeated .CMsgGCToGCGrantAccountRolledItems.Item.AdditionalAuditEntry additional_audit_entries = 6; + optional uint32 inventory_token = 7; + optional int32 quality = 8 [default = -1]; + } + + optional uint32 account_id = 1; + repeated .CMsgGCToGCGrantAccountRolledItems.Item items = 2; + optional uint32 audit_action = 3; + optional uint64 audit_data = 4; +} + +message CMsgGCToGCBetaDeleteItems { + optional uint32 account_id = 1; + repeated uint64 item_ids = 2; + repeated uint32 item_defs = 3; +} + +message CMsgGCToGCGrantSelfMadeItemToAccount { + optional uint32 item_def_index = 1; + optional uint32 accountid = 2; +} + +message CMsgUseItem { + optional uint64 item_id = 1; + optional fixed64 target_steam_id = 2; + repeated uint32 gift__potential_targets = 3; + optional uint32 duel__class_lock = 4; + optional uint64 initiator_steam_id = 5; + optional bool itempack__ack_immediately = 6; +} + +message CMsgServerUseItem { + optional uint32 initiator_account_id = 1; + optional .CMsgUseItem use_item_msg = 2; +} + +message CMsgUseMultipleItems { + repeated uint64 item_ids = 1; +} + +message CGCStoreRechargeRedirect_LineItem { + optional uint32 item_def_id = 1; + optional uint32 quantity = 2; +} + +message CMsgGCEconSQLWorkItemEmbeddedRollbackData { + optional uint32 account_id = 1; + optional uint64 deleted_item_id = 2; + optional uint32 old_audit_action = 3; + optional uint32 new_audit_action = 4; + optional uint32 expected_audit_action = 5; +} + +message CMsgCraftStatue { + optional uint32 heroid = 1; + optional string sequencename = 2; + optional float cycle = 3; + optional string description = 4; + optional uint32 pedestal_itemdef = 5; + optional uint64 toolid = 6; +} + +message CMsgRedeemCode { + optional string code = 1; +} + +message CMsgRedeemCodeResponse { + enum EResultCode { + k_Succeeded = 0; + k_Failed_CodeNotFound = 1; + k_Failed_CodeAlreadyUsed = 2; + k_Failed_OtherError = 3; + } + + optional uint32 response = 1; + optional uint64 item_id = 2; +} + +message CMsgDevNewItemRequest { + optional string item_def_name = 3; + optional string loot_list_name = 4; + repeated string attr_def_name = 5; + repeated string attr_value = 6; + optional uint32 item_quality = 7; +} + +message CMsgDevNewItemRequestResponse { + optional bool success = 1; +} + +message CMsgDevUnlockAllItemStyles { + optional uint64 item_id = 1; +} + +message CMsgDevUnlockAllItemStylesResponse { + optional bool success = 1; +} + +message CMsgGCGetAccountSubscriptionItem { + optional uint32 account_id = 1; +} + +message CMsgGCGetAccountSubscriptionItemResponse { + optional uint32 def_index = 1; +} + +message CMsgGCAddGiftItem { + optional uint32 gifter_account_id = 1; + optional uint32 receiver_account_id = 2; + optional .CSOEconItem wrapped_item = 3; + optional string gift_message = 4; + optional bool is_wallet_cash_trusted = 5; +} + +message CMsgClientToGCWrapAndDeliverGift { + optional uint64 item_id = 1; + optional uint32 give_to_account_id = 2; + optional string gift_message = 3; +} + +message CMsgSQLGCToGCRevokeUntrustedGift { + optional uint32 account_id = 1; + optional uint64 sent_item_id = 4; +} + +message CMsgClientToGCWrapAndDeliverGiftResponse { + optional .EGCMsgResponse response = 1 [default = k_EGCMsgResponseOK]; + optional uint32 gifting_charge_uses = 2; + optional int32 gifting_charge_max = 3; + optional uint32 gifting_uses = 4; + optional int32 gifting_max = 5; + optional uint32 gifting_window_hours = 6; + optional .EGCMsgInitiateTradeResponse trade_restriction = 7 [default = k_EGCMsgInitiateTradeResponse_Accepted]; +} + +message CMsgClientToGCUnwrapGift { + optional uint64 item_id = 1; +} + +message CMsgClientToGCGetGiftPermissions { +} + +message CMsgClientToGCGetGiftPermissionsResponse { + message FriendPermission { + optional uint32 account_id = 1; + optional .EGCMsgInitiateTradeResponse permission = 2 [default = k_EGCMsgInitiateTradeResponse_Accepted]; + } + + optional bool is_unlimited = 1; + optional bool has_two_factor = 3; + optional .EGCMsgInitiateTradeResponse sender_permission = 6 [default = k_EGCMsgInitiateTradeResponse_Accepted]; + optional uint32 friendship_age_requirement = 7; + optional uint32 friendship_age_requirement_two_factor = 8; + repeated .CMsgClientToGCGetGiftPermissionsResponse.FriendPermission friend_permissions = 9; +} + +message CMsgClientToGCUnpackBundle { + optional uint64 item_id = 1; +} + +message CMsgClientToGCUnpackBundleResponse { + enum EUnpackBundle { + k_UnpackBundle_Succeeded = 0; + k_UnpackBundle_Failed_ItemIsNotBundle = 1; + k_UnpackBundle_Failed_UnableToCreateContainedItem = 2; + k_UnpackBundle_Failed_SOCacheError = 3; + k_UnpackBundle_Failed_ItemIsInvalid = 4; + k_UnpackBundle_Failed_BadItemQuantity = 5; + k_UnpackBundle_Failed_UnableToDeleteItem = 6; + } + + repeated uint64 unpacked_item_ids = 1; + optional .CMsgClientToGCUnpackBundleResponse.EUnpackBundle response = 2 [default = k_UnpackBundle_Succeeded]; + repeated uint32 unpacked_item_def_indexes = 3; +} + +message CMsgClientToGCPackBundle { + repeated uint64 item_ids = 1; + optional uint32 bundle_item_def_index = 2; +} + +message CMsgClientToGCPackBundleResponse { + enum EPackBundle { + k_PackBundle_Succeeded = 0; + k_PackBundle_Failed_InternalError = 1; + k_PackBundle_Failed_ItemIsNotBundle = 2; + k_PackBundle_Failed_SOCacheError = 3; + k_PackBundle_Failed_ItemIsInvalid = 4; + k_PackBundle_Failed_BadItemQuantity = 5; + k_PackBundle_Failed_UnableToDeleteItem = 6; + k_PackBundle_Failed_BundleCannotBePacked = 7; + k_PackBundle_Failed_ItemIsUntradeable = 8; + k_PackBundle_Failed_ItemIsEquipped = 9; + k_PackBundle_Failed_ItemHasGems = 10; + k_PackBundle_Failed_ItemMixedQuality = 11; + k_PackBundle_Failed_ItemInvalidQuality = 12; + k_PackBundle_Failed_ItemIsNonEconomy = 13; + k_PackBundle_Failed_Disabled = 14; + } + + optional uint64 item_id = 1; + optional .CMsgClientToGCPackBundleResponse.EPackBundle response = 2 [default = k_PackBundle_Succeeded]; +} + +message CMsgGCToClientStoreTransactionCompleted { + optional uint64 txn_id = 1; + repeated uint64 item_ids = 2; +} + +message CMsgClientToGCEquipItems { + repeated .CMsgAdjustItemEquippedState equips = 1; +} + +message CMsgClientToGCEquipItemsResponse { + optional fixed64 so_cache_version_id = 1; +} + +message CMsgClientToGCSetItemStyle { + optional uint64 item_id = 1; + optional uint32 style_index = 2 [default = 255]; +} + +message CMsgClientToGCSetItemStyleResponse { + enum ESetStyle { + k_SetStyle_Succeeded = 0; + k_SetStyle_Failed = 1; + k_SetStyle_Failed_StyleIsLocked = 2; + } + + optional .CMsgClientToGCSetItemStyleResponse.ESetStyle response = 1 [default = k_SetStyle_Succeeded]; +} + +message CMsgClientToGCUnlockItemStyle { + optional uint64 item_to_unlock = 1; + optional uint32 style_index = 2 [default = 255]; + repeated uint64 consumable_item_ids = 3; +} + +message CMsgClientToGCUnlockItemStyleResponse { + enum EUnlockStyle { + k_UnlockStyle_Succeeded = 0; + k_UnlockStyle_Failed_PreReq = 1; + k_UnlockStyle_Failed_CantAfford = 2; + k_UnlockStyle_Failed_CantCommit = 3; + k_UnlockStyle_Failed_CantLockCache = 4; + k_UnlockStyle_Failed_CantAffordAttrib = 5; + k_UnlockStyle_Failed_CantAffordGem = 6; + k_UnlockStyle_Failed_NoCompendiumLevel = 7; + k_UnlockStyle_Failed_AlreadyUnlocked = 8; + k_UnlockStyle_Failed_OtherError = 9; + k_UnlockStyle_Failed_ItemIsInvalid = 10; + k_UnlockStyle_Failed_ToolIsInvalid = 11; + } + + optional .CMsgClientToGCUnlockItemStyleResponse.EUnlockStyle response = 1 [default = k_UnlockStyle_Succeeded]; + optional uint64 item_id = 2; + optional uint32 style_index = 3 [default = 255]; + optional uint32 style_prereq = 4 [default = 255]; +} + +message CMsgClientToGCSetItemInventoryCategory { + repeated uint64 item_ids = 1; + optional uint32 set_to_value = 2; + optional uint32 remove_categories = 3; + optional uint32 add_categories = 4; +} + +message CMsgClientToGCUnlockCrate { + optional uint64 crate_item_id = 1; + optional uint64 key_item_id = 2; +} + +message CMsgClientToGCUnlockCrateResponse { + message Item { + optional uint64 item_id = 1; + optional uint32 def_index = 2; + } + + optional .EGCMsgResponse result = 1 [default = k_EGCMsgResponseOK]; + repeated .CMsgClientToGCUnlockCrateResponse.Item granted_items = 2; +} + +message CMsgClientToGCRemoveItemAttribute { + optional uint64 item_id = 1; +} + +message CMsgClientToGCRemoveItemAttributeResponse { + enum ERemoveItemAttribute { + k_RemoveItemAttribute_Succeeded = 0; + k_RemoveItemAttribute_Failed = 1; + k_RemoveItemAttribute_Failed_ItemIsInvalid = 2; + k_RemoveItemAttribute_Failed_AttributeCannotBeRemoved = 3; + k_RemoveItemAttribute_Failed_AttributeDoesntExist = 4; + } + + optional .CMsgClientToGCRemoveItemAttributeResponse.ERemoveItemAttribute response = 1 [default = k_RemoveItemAttribute_Succeeded]; + optional uint64 item_id = 2; +} + +message CMsgClientToGCNameItem { + optional uint64 subject_item_id = 1; + optional uint64 tool_item_id = 2; + optional string name = 3; +} + +message CMsgClientToGCNameItemResponse { + enum ENameItem { + k_NameItem_Succeeded = 0; + k_NameItem_Failed = 1; + k_NameItem_Failed_ToolIsInvalid = 2; + k_NameItem_Failed_ItemIsInvalid = 3; + k_NameItem_Failed_NameIsInvalid = 4; + } + + optional .CMsgClientToGCNameItemResponse.ENameItem response = 1 [default = k_NameItem_Succeeded]; + optional uint64 item_id = 2; +} + +message CMsgGCSetItemPosition { + optional uint64 item_id = 1; + optional uint32 new_position = 2; +} + +message CAttribute_ItemDynamicRecipeComponent { + optional uint32 item_def = 1; + optional uint32 item_quality = 2; + optional uint32 item_flags = 3; + optional string attributes_string = 4; + optional uint32 item_count = 5; + optional uint32 items_fulfilled = 6; + optional uint32 item_rarity = 7; + optional string lootlist = 8; + optional uint64 fulfilled_item_id = 9; + optional uint32 associated_item_def = 10; +} + +message CProtoItemSocket { + optional uint64 item_id = 1; + optional uint32 attr_def_index = 2; + optional uint32 required_type = 3; + optional string required_hero = 4; + optional uint32 gem_def_index = 5; + optional bool not_tradable = 6; + optional string required_item_slot = 7; +} + +message CProtoItemSocket_Empty { + optional .CProtoItemSocket socket = 1; +} + +message CProtoItemSocket_Effect { + optional .CProtoItemSocket socket = 1; + optional uint32 effect = 2; +} + +message CProtoItemSocket_Color { + optional .CProtoItemSocket socket = 1; + optional uint32 red = 2; + optional uint32 green = 3; + optional uint32 blue = 4; +} + +message CProtoItemSocket_Strange { + optional .CProtoItemSocket socket = 1; + optional uint32 strange_type = 2; + optional uint32 strange_value = 3; +} + +message CProtoItemSocket_Strange_DESERIALIZE_FROM_STRING_ONLY { + optional .CProtoItemSocket socket = 1; + optional uint32 strange_type = 2; + optional uint32 strange_value = 3; + optional uint32 ability_effect = 4; +} + +message CProtoItemSocket_Spectator { + optional .CProtoItemSocket socket = 1; + optional uint32 games_viewed = 2; + optional uint32 corporation_id = 3; + optional uint32 league_id = 4; + optional uint32 team_id = 5; +} + +message CProtoItemSocket_AssetModifier { + optional .CProtoItemSocket socket = 1; + optional uint32 asset_modifier = 2; +} + +message CProtoItemSocket_AssetModifier_DESERIALIZE_FROM_STRING_ONLY { + optional .CProtoItemSocket socket = 1; + optional uint32 asset_modifier = 2; + optional uint32 anim_modifier = 3; + optional uint32 ability_effect = 4; +} + +message CProtoItemSocket_Autograph { + optional .CProtoItemSocket socket = 1; + optional string autograph = 2; + optional uint32 autograph_id = 3; + optional uint32 autograph_score = 4; +} + +message CProtoItemSocket_StaticVisuals { + optional .CProtoItemSocket socket = 1; +} + +message CAttribute_String { + optional string value = 1; +} + +message CWorkshop_GetItemDailyRevenue_Request { + optional uint32 appid = 1; + optional uint32 item_id = 2; + optional uint32 date_start = 3; + optional uint32 date_end = 4; +} + +message CWorkshop_GetItemDailyRevenue_Response { + message CountryDailyRevenue { + optional string country_code = 1; + optional uint32 date = 2; + optional int64 revenue_usd = 3; + optional int32 units = 4; + } + + repeated .CWorkshop_GetItemDailyRevenue_Response.CountryDailyRevenue country_revenue = 1; +} + +message CWorkshop_GetPackageDailyRevenue_Request { + optional uint32 packageid = 1; + optional uint32 date_start = 2; + optional uint32 date_end = 3; +} + +message CWorkshop_GetPackageDailyRevenue_Response { + message CountryDailyRevenue { + optional string country_code = 1; + optional uint32 date = 2; + optional int64 revenue_usd = 3; + optional int32 units = 4; + } + + repeated .CWorkshop_GetPackageDailyRevenue_Response.CountryDailyRevenue country_revenue = 1; +} + +message CMsgSQLGCToGCGrantBackpackSlots { + optional uint32 account_id = 1; + optional uint32 add_slots = 2; +} + +message CMsgClientToGCLookupAccountName { + optional uint32 account_id = 1; +} + +message CMsgClientToGCLookupAccountNameResponse { + optional uint32 account_id = 1; + optional string account_name = 2; +} + +message CMsgClientToGCCreateStaticRecipe { + message Item { + optional uint64 item_id = 1; + optional uint32 slot_id = 2; + } + + repeated .CMsgClientToGCCreateStaticRecipe.Item items = 1; + optional uint32 recipe_def_index = 2; +} + +message CMsgClientToGCCreateStaticRecipeResponse { + message OutputItem { + optional uint32 def_index = 1; + optional uint64 item_id = 2; + optional uint32 slot_id = 3; + } + + message InputError { + optional uint32 slot_id = 1; + optional .CMsgClientToGCCreateStaticRecipeResponse.EResponse error = 2 [default = eResponse_Success]; + } + + message AdditionalOutput { + optional uint32 slot_id = 1; + optional uint64 value = 2; + } + + enum EResponse { + eResponse_Success = 0; + eResponse_OfferingDisabled = 1; + eResponse_InvalidItems = 2; + eResponse_InternalError = 3; + eResponse_MissingLeague = 4; + eResponse_MissingEvent = 5; + } + + optional .CMsgClientToGCCreateStaticRecipeResponse.EResponse response = 1 [default = eResponse_Success]; + repeated .CMsgClientToGCCreateStaticRecipeResponse.OutputItem output_items = 2; + repeated .CMsgClientToGCCreateStaticRecipeResponse.InputError input_errors = 3; + repeated .CMsgClientToGCCreateStaticRecipeResponse.AdditionalOutput additional_outputs = 4; +} + +message CMsgProcessTransactionOrder { + message Item { + optional uint32 item_def_index = 1; + optional uint32 item_price = 2; + optional uint32 quantity = 3; + optional string category_desc = 4; + optional uint32 store_purchase_type = 5; + optional uint64 source_reference_id = 6; + optional int32 parent_stack_index = 7; + optional bool default_price = 8; + optional bool is_user_facing = 9; + optional int32 price_index = 11; + } + + optional uint64 txn_id = 1; + optional uint64 steam_txn_id = 2; + optional uint64 partner_txn_id = 3; + optional fixed64 steam_id = 4; + optional uint32 time_stamp = 5; + optional uint64 watermark = 6; + optional int32 purchase_report_status = 7; + optional uint32 currency = 8; + repeated .CMsgProcessTransactionOrder.Item items = 9; +} + +message CMsgGCToGCStoreProcessCDKeyTransaction { + optional .CMsgProcessTransactionOrder order = 1; + optional uint32 reason_code = 2; + optional uint32 partner = 3; +} + +message CMsgGCToGCStoreProcessCDKeyTransactionResponse { + optional bool success = 1; +} + +message CMsgGCToGCStoreProcessSettlement { + optional .CMsgProcessTransactionOrder order = 1; +} + +message CMsgGCToGCStoreProcessSettlementResponse { + optional bool success = 1; +} + +message CMsgGCToGCBroadcastConsoleCommand { + optional string con_command = 1; + optional bool report_output = 2; + optional int32 sending_gc = 3 [default = -1]; + optional string output_initiator = 4; + optional string sender_source = 5; +} + +message CMsgGCToGCConsoleOutput { + message OutputLine { + optional string text = 1; + optional uint32 spew_level = 2; + } + + optional string initiator = 1; + optional int32 sending_gc = 2 [default = -1]; + repeated .CMsgGCToGCConsoleOutput.OutputLine msgs = 3; + optional bool is_last_for_source_job = 4; +} + +message CMsgItemAges { + message MaxItemIDTimestamp { + optional uint32 timestamp = 1; + optional uint64 max_item_id = 2; + } + + repeated .CMsgItemAges.MaxItemIDTimestamp max_item_id_timestamps = 1; +} + +message CMsgGCToGCInternalTestMsg { + optional int32 sending_gc = 1 [default = -1]; + optional fixed64 sender_id = 2; + optional uint32 context = 3; + optional uint32 message_id = 4; + optional bytes message_body = 5; + optional fixed64 job_id_source = 6; + optional fixed64 job_id_target = 7; +} + +message CMsgGCToGCClientServerVersionsUpdated { + optional uint32 client_min_allowed_version = 1; + optional uint32 client_active_version = 2; + optional uint32 server_active_version = 3; + optional uint32 server_deployed_version = 4; + optional uint32 what_changed = 5; +} + +message CMsgGCToGCBroadcastMessageFromSub { + optional uint32 msg_id = 1; + optional bytes serialized_msg = 2; + repeated uint32 account_id_list = 3 [packed = true]; + repeated fixed64 steam_id_list = 4 [packed = true]; +} + +message CMsgGCToClientCurrencyPricePoints { + message Currency { + optional uint32 currency_id = 1; + repeated uint64 currency_price = 2 [packed = true]; + } + + repeated uint64 price_key = 1 [packed = true]; + repeated .CMsgGCToClientCurrencyPricePoints.Currency currencies = 2; +} + +message CMsgBannedWordList { + optional uint32 version = 1; + repeated string banned_words = 2; +} + +message CMsgGCToGCFlushSteamInventoryCache { + message Key { + optional uint64 steamid = 1; + optional uint64 contextid = 2; + } + + repeated .CMsgGCToGCFlushSteamInventoryCache.Key keys = 1; +} + +message CMsgGCToGCUpdateSubscriptionItems { + optional uint32 account_id = 1; + optional bool always_notify = 2; +} + +message CMsgGCToGCSelfPing { + optional uint32 sample_id = 1; +} + +message CMsgGCToGCGetInfuxIntervalStats { +} + +message CMsgGCToGCGetInfuxIntervalStatsResponse { + repeated fixed32 stat_ids = 1 [packed = true]; + repeated uint64 stat_total = 2 [packed = true]; + repeated uint32 stat_samples = 3 [packed = true]; + repeated uint32 stat_max = 4 [packed = true]; + optional uint32 sample_duration_ms = 5; +} + +message CMsgGCToGCPurchaseSucceeded { +} + +message CMsgClientToGCGetLimitedItemPurchaseQuantity { + optional uint32 item_def = 1; +} + +message CMsgClientToGCGetLimitedItemPurchaseQuantityResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidItemDef = 5; + k_eItemDefNotLimited = 6; + } + + optional .CMsgClientToGCGetLimitedItemPurchaseQuantityResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 quantity_purchased = 2; +} + +message CMsgClientToGCGetInFlightItemCharges { + optional uint32 item_def = 1; +} + +message CMsgClientToGCGetInFlightItemChargesResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidItemDef = 5; + } + + optional .CMsgClientToGCGetInFlightItemChargesResponse.EResponse result = 1 [default = k_eInternalError]; + optional uint32 charges_in_flight = 2; +} + +message CMsgClientToGCPurchaseChargeCostItems { + message Item { + optional uint32 item_def_index = 1; + optional uint32 quantity = 2; + optional uint64 source_reference_id = 3; + optional int32 price_index = 4; + } + + repeated .CMsgClientToGCPurchaseChargeCostItems.Item items = 1; + optional uint32 currency = 2; +} + +message CMsgClientToGCPurchaseChargeCostItemsResponse { + enum EResponse { + k_eInternalError = 0; + k_eSuccess = 1; + k_eTooBusy = 2; + k_eDisabled = 3; + k_eTimeout = 4; + k_eInvalidParam = 5; + k_eInvalidPrice = 6; + k_eInsufficientCharges = 7; + k_eLimitedItem = 8; + k_eMissingPrereq = 10; + } + + optional .CMsgClientToGCPurchaseChargeCostItemsResponse.EResponse result = 1 [default = k_eInternalError]; + repeated uint64 item_ids = 2; +} + +message CMsgGCToClientInFlightChargesUpdated { + message ItemCharges { + optional uint32 item_def = 1; + optional uint32 charges_in_flight = 2; + } + + repeated .CMsgGCToClientInFlightChargesUpdated.ItemCharges in_flight_charges = 2; +} + +message CMsgClientToGCCancelUnfinalizedTransactions { + optional uint32 unused = 1; +} + +message CMsgClientToGCCancelUnfinalizedTransactionsResponse { + optional uint32 result = 1; +} + +message CMsgGCToGCUpdateWelcomeMsg { + optional bool server = 1; + optional .CExtraMsgBlock new_msg = 2; + optional bool broadcast = 3; } diff --git a/game/shared/econ/econ_shared_enums.proto b/game/shared/econ/econ_shared_enums.proto new file mode 100644 index 00000000..df342062 --- /dev/null +++ b/game/shared/econ/econ_shared_enums.proto @@ -0,0 +1,37 @@ +enum EGCEconBaseMsg { + k_EMsgGCGenericResult = 2579; +} + +enum EGCMsgResponse { + k_EGCMsgResponseOK = 0; + k_EGCMsgResponseDenied = 1; + k_EGCMsgResponseServerError = 2; + k_EGCMsgResponseTimeout = 3; + k_EGCMsgResponseInvalid = 4; + k_EGCMsgResponseNoMatch = 5; + k_EGCMsgResponseUnknownError = 6; + k_EGCMsgResponseNotLoggedOn = 7; + k_EGCMsgFailedToCreate = 8; +} + +enum EGCMsgUseItemResponse { + k_EGCMsgUseItemResponse_ItemUsed = 0; + k_EGCMsgUseItemResponse_GiftNoOtherPlayers = 1; + k_EGCMsgUseItemResponse_ServerError = 2; + k_EGCMsgUseItemResponse_MiniGameAlreadyStarted = 3; + k_EGCMsgUseItemResponse_ItemUsed_ItemsGranted = 4; + k_EGCMsgUseItemResponse_DropRateBonusAlreadyGranted = 5; + k_EGCMsgUseItemResponse_NotInLowPriorityPool = 6; + k_EGCMsgUseItemResponse_NotHighEnoughLevel = 7; + k_EGCMsgUseItemResponse_EventNotActive = 8; + k_EGCMsgUseItemResponse_ItemUsed_EventPointsGranted = 9; + k_EGCMsgUseItemResponse_MissingRequirement = 10; + k_EGCMsgUseItemResponse_EmoticonUnlock_NoNew = 11; + k_EGCMsgUseItemResponse_EmoticonUnlock_Complete = 12; + k_EGCMsgUseItemResponse_ItemUsed_Compendium = 13; +} + +message CMsgGenericResult { + optional uint32 eresult = 1 [default = 2]; + optional string debug_message = 2; +} diff --git a/gcsdk/gcsdk_gcmessages.proto b/gcsdk/gcsdk_gcmessages.proto index 69b75e03..0f4915ed 100644 --- a/gcsdk/gcsdk_gcmessages.proto +++ b/gcsdk/gcsdk_gcmessages.proto @@ -1,10 +1,16 @@ +import "valveextensions.proto"; import "steammessages.proto"; +import "steammessages_steamlearn.steamworkssdk.proto"; -enum GCClientLauncherType { - GCClientLauncherType_DEFAULT = 0; - GCClientLauncherType_PERFECTWORLD = 1; - GCClientLauncherType_STEAMCHINA = 2; - GCClientLauncherType_SOURCE2 = 3; +enum ESourceEngine { + k_ESE_Source1 = 0; + k_ESE_Source2 = 1; +} + +enum PartnerAccountType { + PARTNER_NONE = 0; + PARTNER_PERFECT_WORLD = 1; + PARTNER_INVALID = 3; } enum GCConnectionStatus { @@ -13,6 +19,47 @@ enum GCConnectionStatus { GCConnectionStatus_NO_SESSION = 2; GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 3; GCConnectionStatus_NO_STEAM = 4; + GCConnectionStatus_SUSPENDED = 5; + GCConnectionStatus_STEAM_GOING_DOWN = 6; +} + +message CExtraMsgBlock { + optional uint32 msg_type = 1; + optional bytes contents = 2 [(debugprint_visibility) = k_EProtoDebugVisibility_Never]; + optional uint64 msg_key = 3; + optional bool is_compressed = 4; +} + +message CMsgSteamLearnServerInfo { + message ProjectInfo { + optional uint32 project_id = 1; + optional uint32 snapshot_published_version = 2; + optional uint32 inference_published_version = 3; + optional uint32 snapshot_percentage = 6; + optional bool snapshot_enabled = 7; + } + + optional .CMsgSteamLearnAccessTokens access_tokens = 4; + repeated .CMsgSteamLearnServerInfo.ProjectInfo project_infos = 5; +} + +message CMsgGCAssertJobData { + optional string message_type = 1; + optional bytes message_data = 2; +} + +message CMsgGCConCommand { + optional string command = 1; +} + +message CMsgSDOAssert { + message Request { + repeated uint64 key = 1; + optional string requesting_job = 2; + } + + optional int32 sdo_type = 1; + repeated .CMsgSDOAssert.Request requests = 2; } message CMsgSOIDOwner { @@ -25,6 +72,7 @@ message CMsgSOSingleObject { optional bytes object_data = 3; optional fixed64 version = 4; optional .CMsgSOIDOwner owner_soid = 5; + optional uint32 service_id = 6; } message CMsgSOMultipleObjects { @@ -38,7 +86,10 @@ message CMsgSOMultipleObjects { repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2; optional fixed64 version = 3; + repeated .CMsgSOMultipleObjects.SingleObject objects_added = 4; + repeated .CMsgSOMultipleObjects.SingleObject objects_removed = 5; optional .CMsgSOIDOwner owner_soid = 6; + optional uint32 service_id = 7; } message CMsgSOCacheSubscribed { @@ -50,6 +101,17 @@ message CMsgSOCacheSubscribed { repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2; optional fixed64 version = 3; optional .CMsgSOIDOwner owner_soid = 4; + optional uint32 service_id = 5; + repeated uint32 service_list = 6; + optional fixed64 sync_version = 7; +} + +message CMsgSOCacheSubscribedUpToDate { + optional fixed64 version = 1; + optional .CMsgSOIDOwner owner_soid = 2; + optional uint32 service_id = 3; + repeated uint32 service_list = 4; + optional fixed64 sync_version = 5; } message CMsgSOCacheUnsubscribed { @@ -59,6 +121,9 @@ message CMsgSOCacheUnsubscribed { message CMsgSOCacheSubscriptionCheck { optional fixed64 version = 2; optional .CMsgSOIDOwner owner_soid = 3; + optional uint32 service_id = 4; + repeated uint32 service_list = 5; + optional fixed64 sync_version = 6; } message CMsgSOCacheSubscriptionRefresh { @@ -69,55 +134,53 @@ message CMsgSOCacheVersion { optional fixed64 version = 1; } -message CMsgAccountDetails { - optional bool valid = 1; - optional string account_name = 2; - optional bool public_profile = 4; - optional bool public_inventory = 5; - optional bool vac_banned = 6; - optional bool cyber_cafe = 7; - optional bool school_account = 8; - optional bool free_trial_account = 9; - optional bool subscribed = 10; - optional bool low_violence = 11; - optional bool limited = 12; - optional bool trusted = 13; - optional uint32 package = 14; - optional fixed32 time_cached = 15; - optional bool account_locked = 16; - optional bool community_banned = 17; - optional bool trade_banned = 18; - optional bool eligible_for_community_market = 19; -} - message CMsgGCMultiplexMessage { optional uint32 msgtype = 1; optional bytes payload = 2; repeated fixed64 steamids = 3; - optional bool replytogc = 4; } -message CMsgGCMultiplexMessage_Response { - optional uint32 msgtype = 1; +message CMsgGCToGCSubGCStarting { + optional int32 dir_index = 1 [default = -1]; } message CGCToGCMsgMasterAck { - optional uint32 dir_index = 1; - optional uint32 gc_type = 2; + message Process { + optional int32 dir_index = 1 [default = -1]; + repeated uint32 type_instances = 2; + } + + optional int32 dir_index = 1 [default = -1]; + optional string machine_name = 3; + optional string process_name = 4; + repeated .CGCToGCMsgMasterAck.Process directory = 6; } message CGCToGCMsgMasterAck_Response { optional int32 eresult = 1 [default = 2]; } +message CMsgGCToGCUniverseStartup { + optional bool is_initial_startup = 1; +} + +message CMsgGCToGCUniverseStartupResponse { + optional int32 eresult = 1; +} + message CGCToGCMsgMasterStartupComplete { + message GCInfo { + optional int32 dir_index = 1 [default = -1]; + optional string machine_name = 2; + } + + repeated .CGCToGCMsgMasterStartupComplete.GCInfo gc_info = 1; } message CGCToGCMsgRouted { optional uint32 msg_type = 1; optional fixed64 sender_id = 2; optional bytes net_message = 3; - optional uint32 ip = 4; } message CGCToGCMsgRoutedReply { @@ -125,45 +188,58 @@ message CGCToGCMsgRoutedReply { optional bytes net_message = 2; } -message CMsgGCUpdateSessionIP { - optional fixed64 steamid = 1; - optional fixed32 ip = 2; +message CMsgGCUpdateSubGCSessionInfo { + message CMsgUpdate { + optional fixed64 steamid = 1; + optional fixed32 ip = 2; + optional bool trusted = 3; + } + + repeated .CMsgGCUpdateSubGCSessionInfo.CMsgUpdate updates = 1; } -message CMsgGCRequestSessionIP { +message CMsgGCRequestSubGCSessionInfo { optional fixed64 steamid = 1; } -message CMsgGCRequestSessionIPResponse { +message CMsgGCRequestSubGCSessionInfoResponse { optional fixed32 ip = 1; + optional bool trusted = 2; + optional uint32 port = 3; + optional bool success = 4; } message CMsgSOCacheHaveVersion { optional .CMsgSOIDOwner soid = 1; optional fixed64 version = 2; + optional uint32 service_id = 3; + optional uint32 cached_file_version = 4; } message CMsgClientHello { optional uint32 version = 1; repeated .CMsgSOCacheHaveVersion socache_have_versions = 2; optional uint32 client_session_need = 3; - optional uint32 client_launcher = 4; - optional uint32 partner_srcid = 5; - optional uint32 partner_accountid = 6; - optional uint32 partner_accountflags = 7; - optional uint32 partner_accountbalance = 8; - optional uint32 steam_launcher = 9; -} - -message CMsgServerHello { - optional uint32 version = 1; - repeated .CMsgSOCacheHaveVersion socache_have_versions = 2; - optional uint32 legacy_client_session_need = 3; - optional uint32 client_launcher = 4; - optional bytes legacy_steamdatagram_routing = 6; - optional uint32 required_internal_addr = 7; + optional .PartnerAccountType client_launcher = 4 [default = PARTNER_NONE]; + optional string secret_key = 5; + optional uint32 client_language = 6; + optional .ESourceEngine engine = 7 [default = k_ESE_Source1]; optional bytes steamdatagram_login = 8; - optional uint32 socache_control = 9; + optional uint32 platform_id = 9; + optional bytes game_msg = 10; + optional int32 os_type = 11; + optional uint32 render_system = 12; + optional uint32 render_system_req = 13; + optional uint32 screen_width = 14; + optional uint32 screen_height = 15; + optional uint32 screen_refresh = 16; + optional uint32 render_width = 17; + optional uint32 render_height = 18; + optional uint32 swap_width = 19; + optional uint32 swap_height = 20; + optional bool is_steam_china = 22; + optional bool is_steam_china_client = 24; + optional string platform_name = 23; } message CMsgClientWelcome { @@ -178,12 +254,17 @@ message CMsgClientWelcome { repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3; repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4; optional .CMsgClientWelcome.Location location = 5; - optional bytes game_data2 = 6; - optional uint32 rtime32_gc_welcome_timestamp = 7; - optional uint32 currency = 8; - optional uint32 balance = 9; - optional string balance_url = 10; - optional string txn_country_code = 11; + optional uint32 gc_socache_file_version = 9; + optional string txn_country_code = 10; + optional bytes game_data2 = 11; + optional uint32 rtime32_gc_welcome_timestamp = 12; + optional uint32 currency = 13; + optional uint32 balance = 14; + optional string balance_url = 15; + optional bool has_accepted_china_ssa = 16; + optional bool is_banned_steam_china = 17; + optional .CExtraMsgBlock additional_welcome_msgs = 18; + optional .CMsgSteamLearnServerInfo steam_learn_server_info = 20; } message CMsgConnectionStatus { @@ -195,11 +276,55 @@ message CMsgConnectionStatus { optional int32 estimated_wait_seconds_remaining = 6; } +message CMsgGCToGCSOCacheSubscribe { + message CMsgHaveVersions { + optional uint32 service_id = 1; + optional uint64 version = 2; + } + + optional fixed64 subscriber = 1; + optional fixed64 subscribe_to_id = 2; + optional fixed64 sync_version = 3; + repeated .CMsgGCToGCSOCacheSubscribe.CMsgHaveVersions have_versions = 4; + optional uint32 subscribe_to_type = 5; +} + +message CMsgGCToGCSOCacheUnsubscribe { + optional fixed64 subscriber = 1; + optional fixed64 unsubscribe_from_id = 2; + optional uint32 unsubscribe_from_type = 3; +} + +message CMsgGCClientPing { +} + +message CMsgGCToGCForwardAccountDetails { + optional fixed64 steamid = 1; + optional .CGCSystemMsg_GetAccountDetails_Response account_details = 2; + optional uint32 age_seconds = 3; +} + +message CMsgGCToGCLoadSessionSOCache { + optional uint32 account_id = 1; + optional .CMsgGCToGCForwardAccountDetails forward_account_details = 2; +} + +message CMsgGCToGCLoadSessionSOCacheResponse { +} + +message CMsgGCToGCUpdateSessionStats { + optional uint32 user_sessions = 1; + optional uint32 server_sessions = 2; + optional bool in_logon_surge = 3; +} + +message CMsgGCToClientRequestDropped { +} + message CWorkshop_PopulateItemDescriptions_Request { message SingleItemDescription { optional uint32 gameitemid = 1; optional string item_description = 2; - optional bool one_per_account = 3; } message ItemDescriptionsLanguageBlock { @@ -249,55 +374,51 @@ message CWorkshop_SetItemPaymentRules_Request { } message CWorkshop_SetItemPaymentRules_Response { + repeated string validation_errors = 1; } -message CGameServers_AggregationQuery_Request { - optional string filter = 1; - repeated string group_fields = 3; +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; } -message CGameServers_AggregationQuery_Response { - message Group { - repeated string group_values = 1; - optional uint32 servers_empty = 2; - optional uint32 servers_full = 3; - optional uint32 servers_total = 4; - optional uint32 players_humans = 5; - optional uint32 players_bots = 6; - optional uint32 player_capacity = 7; - } - - repeated .CGameServers_AggregationQuery_Response.Group groups = 1; +message CCommunity_GetClanAnnouncements_Request { + optional uint64 steamid = 1; + optional uint32 offset = 2; + optional uint32 count = 3; + optional uint32 maxchars = 4; + optional bool strip_html = 5; + repeated string required_tags = 6; + optional bool require_no_tags = 7; + repeated uint32 language_preference = 8; + optional bool hidden_only = 9; + optional bool only_gid = 10; + optional uint32 rtime_oldest_date = 11; + optional bool include_hidden = 12; + optional bool include_partner_events = 13; } -message CWorkshop_AddSpecialPayment_Request { +message CCommunity_GetClanAnnouncements_Response { + optional uint32 maxchars = 1; + optional bool strip_html = 2; + repeated .CCommunity_ClanAnnouncementInfo announcements = 3; +} + +message CBroadcast_PostGameDataFrame_Request { optional uint32 appid = 1; - optional uint32 gameitemid = 2; - optional string date = 3; - optional uint64 payment_us_usd = 4; - optional uint64 payment_row_usd = 5; -} - -message CWorkshop_AddSpecialPayment_Response { -} - -message CProductInfo_SetRichPresenceLocalization_Request { - message Token { - optional string token = 1; - optional string value = 2; - } - - message LanguageSection { - optional string language = 1; - repeated .CProductInfo_SetRichPresenceLocalization_Request.Token tokens = 2; - } - - optional uint32 appid = 1; - repeated .CProductInfo_SetRichPresenceLocalization_Request.LanguageSection languages = 2; - optional uint64 steamid = 3; -} - -message CProductInfo_SetRichPresenceLocalization_Response { + optional fixed64 steamid = 2; + optional fixed64 broadcast_id = 3; + optional bytes frame_data = 4; } message CMsgSerializedSOCache { @@ -323,3 +444,52 @@ message CMsgSerializedSOCache { repeated .CMsgSerializedSOCache.Cache caches = 2; optional uint32 gc_socache_file_version = 3; } + +message CMsgGCToClientPollConvarRequest { + optional string convar_name = 1; + optional uint32 poll_id = 2; +} + +message CMsgGCToClientPollConvarResponse { + optional uint32 poll_id = 1; + optional string convar_value = 2; +} + +message CGCMsgCompressedMsgToClient { + optional uint32 msg_id = 1; + optional bytes compressed_msg = 2; +} + +message CMsgGCToGCMasterBroadcastMessage { + optional uint32 users_per_second = 1; + optional bool send_to_users = 2; + optional bool send_to_servers = 3; + optional uint32 msg_id = 4; + optional bytes msg_data = 5; +} + +message CMsgGCToGCMasterSubscribeToCache { + optional uint32 soid_type = 1; + optional fixed64 soid_id = 2; + repeated uint32 account_ids = 3; + repeated fixed64 steam_ids = 4; +} + +message CMsgGCToGCMasterSubscribeToCacheResponse { +} + +message CMsgGCToGCMasterSubscribeToCacheAsync { + optional .CMsgGCToGCMasterSubscribeToCache subscribe_msg = 1; +} + +message CMsgGCToGCMasterUnsubscribeFromCache { + optional uint32 soid_type = 1; + optional fixed64 soid_id = 2; + repeated uint32 account_ids = 3; + repeated fixed64 steam_ids = 4; +} + +message CMsgGCToGCMasterDestroyCache { + optional uint32 soid_type = 1; + optional fixed64 soid_id = 2; +} diff --git a/gcsdk/gcsystemmsgs.proto b/gcsdk/gcsystemmsgs.proto index 8dadcb8c..cfa342c1 100644 --- a/gcsdk/gcsystemmsgs.proto +++ b/gcsdk/gcsystemmsgs.proto @@ -1,98 +1,3 @@ -enum EGCSystemMsg { - k_EGCMsgInvalid = 0; - k_EGCMsgMulti = 1; - k_EGCMsgGenericReply = 10; - k_EGCMsgSystemBase = 50; - k_EGCMsgAchievementAwarded = 51; - k_EGCMsgConCommand = 52; - k_EGCMsgStartPlaying = 53; - k_EGCMsgStopPlaying = 54; - k_EGCMsgStartGameserver = 55; - k_EGCMsgStopGameserver = 56; - k_EGCMsgWGRequest = 57; - k_EGCMsgWGResponse = 58; - k_EGCMsgGetUserGameStatsSchema = 59; - k_EGCMsgGetUserGameStatsSchemaResponse = 60; - k_EGCMsgGetUserStatsDEPRECATED = 61; - k_EGCMsgGetUserStatsResponse = 62; - k_EGCMsgAppInfoUpdated = 63; - k_EGCMsgValidateSession = 64; - k_EGCMsgValidateSessionResponse = 65; - k_EGCMsgLookupAccountFromInput = 66; - k_EGCMsgSendHTTPRequest = 67; - k_EGCMsgSendHTTPRequestResponse = 68; - k_EGCMsgPreTestSetup = 69; - k_EGCMsgRecordSupportAction = 70; - k_EGCMsgGetAccountDetails_DEPRECATED = 71; - k_EGCMsgReceiveInterAppMessage = 73; - k_EGCMsgFindAccounts = 74; - k_EGCMsgPostAlert = 75; - k_EGCMsgGetLicenses = 76; - k_EGCMsgGetUserStats = 77; - k_EGCMsgGetCommands = 78; - k_EGCMsgGetCommandsResponse = 79; - k_EGCMsgAddFreeLicense = 80; - k_EGCMsgAddFreeLicenseResponse = 81; - k_EGCMsgGetIPLocation = 82; - k_EGCMsgGetIPLocationResponse = 83; - k_EGCMsgSystemStatsSchema = 84; - k_EGCMsgGetSystemStats = 85; - k_EGCMsgGetSystemStatsResponse = 86; - k_EGCMsgSendEmail = 87; - k_EGCMsgSendEmailResponse = 88; - k_EGCMsgGetEmailTemplate = 89; - k_EGCMsgGetEmailTemplateResponse = 90; - k_EGCMsgGrantGuestPass = 91; - k_EGCMsgGrantGuestPassResponse = 92; - k_EGCMsgGetAccountDetails = 93; - k_EGCMsgGetAccountDetailsResponse = 94; - k_EGCMsgGetPersonaNames = 95; - k_EGCMsgGetPersonaNamesResponse = 96; - k_EGCMsgMultiplexMsg = 97; - k_EGCMsgMultiplexMsgResponse = 98; - k_EGCMsgWebAPIRegisterInterfaces = 101; - k_EGCMsgWebAPIJobRequest = 102; - k_EGCMsgWebAPIJobRequestHttpResponse = 104; - k_EGCMsgWebAPIJobRequestForwardResponse = 105; - k_EGCMsgMemCachedGet = 200; - k_EGCMsgMemCachedGetResponse = 201; - k_EGCMsgMemCachedSet = 202; - k_EGCMsgMemCachedDelete = 203; - k_EGCMsgMemCachedStats = 204; - k_EGCMsgMemCachedStatsResponse = 205; - k_EGCMsgMasterSetDirectory = 220; - k_EGCMsgMasterSetDirectoryResponse = 221; - k_EGCMsgMasterSetWebAPIRouting = 222; - k_EGCMsgMasterSetWebAPIRoutingResponse = 223; - k_EGCMsgMasterSetClientMsgRouting = 224; - k_EGCMsgMasterSetClientMsgRoutingResponse = 225; - k_EGCMsgSetOptions = 226; - k_EGCMsgSetOptionsResponse = 227; - k_EGCMsgSystemBase2 = 500; - k_EGCMsgGetPurchaseTrustStatus = 501; - k_EGCMsgGetPurchaseTrustStatusResponse = 502; - k_EGCMsgUpdateSession = 503; - k_EGCMsgGCAccountVacStatusChange = 504; - k_EGCMsgCheckFriendship = 505; - k_EGCMsgCheckFriendshipResponse = 506; - k_EGCMsgGetPartnerAccountLink = 507; - k_EGCMsgGetPartnerAccountLinkResponse = 508; - k_EGCMsgDPPartnerMicroTxns = 512; - k_EGCMsgDPPartnerMicroTxnsResponse = 513; - k_EGCMsgVacVerificationChange = 518; - k_EGCMsgAccountPhoneNumberChange = 519; - k_EGCMsgInviteUserToLobby = 523; - k_EGCMsgGetGamePersonalDataCategoriesRequest = 524; - k_EGCMsgGetGamePersonalDataCategoriesResponse = 525; - k_EGCMsgGetGamePersonalDataEntriesRequest = 526; - k_EGCMsgGetGamePersonalDataEntriesResponse = 527; - k_EGCMsgTerminateGamePersonalDataEntriesRequest = 528; - k_EGCMsgTerminateGamePersonalDataEntriesResponse = 529; - k_EGCMsgRecurringSubscriptionStatusChange = 530; - k_EGCMsgDirectServiceMethod = 531; - k_EGCMsgDirectServiceMethodResponse = 532; -} - enum ESOMsg { k_ESOMsg_Create = 21; k_ESOMsg_Update = 22; @@ -100,144 +5,22 @@ enum ESOMsg { k_ESOMsg_CacheSubscribed = 24; k_ESOMsg_CacheUnsubscribed = 25; k_ESOMsg_UpdateMultiple = 26; - k_ESOMsg_CacheSubscriptionCheck = 27; k_ESOMsg_CacheSubscriptionRefresh = 28; + k_ESOMsg_CacheSubscribedUpToDate = 29; } enum EGCBaseClientMsg { + k_EMsgGCPingRequest = 3001; + k_EMsgGCPingResponse = 3002; + k_EMsgGCToClientPollConvarRequest = 3003; + k_EMsgGCToClientPollConvarResponse = 3004; + k_EMsgGCCompressedMsgToClient = 3005; + k_EMsgGCCompressedMsgToClient_Legacy = 523; + k_EMsgGCToClientRequestDropped = 3006; k_EMsgGCClientWelcome = 4004; k_EMsgGCServerWelcome = 4005; k_EMsgGCClientHello = 4006; k_EMsgGCServerHello = 4007; k_EMsgGCClientConnectionStatus = 4009; k_EMsgGCServerConnectionStatus = 4010; - k_EMsgGCClientHelloPartner = 4011; - k_EMsgGCClientHelloPW = 4012; - k_EMsgGCClientHelloR2 = 4013; - k_EMsgGCClientHelloR3 = 4014; - k_EMsgGCClientHelloR4 = 4015; -} - -enum EGCToGCMsg { - k_EGCToGCMsgMasterAck = 150; - k_EGCToGCMsgMasterAckResponse = 151; - k_EGCToGCMsgRouted = 152; - k_EGCToGCMsgRoutedReply = 153; - k_EMsgUpdateSessionIP = 154; - k_EMsgRequestSessionIP = 155; - k_EMsgRequestSessionIPResponse = 156; - k_EGCToGCMsgMasterStartupComplete = 157; -} - -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; -} - -enum ECommunityItemAttribute { - k_ECommunityItemAttribute_Invalid = 0; - k_ECommunityItemAttribute_CardBorder = 1; - k_ECommunityItemAttribute_Level = 2; - k_ECommunityItemAttribute_IssueNumber = 3; - k_ECommunityItemAttribute_TradableTime = 4; - k_ECommunityItemAttribute_StorePackageID = 5; - k_ECommunityItemAttribute_CommunityItemAppID = 6; - k_ECommunityItemAttribute_CommunityItemType = 7; - k_ECommunityItemAttribute_ProfileModiferEnabled = 8; - k_ECommunityItemAttribute_ExpiryTime = 9; -} - -message CMsgGCHVacVerificationChange { - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional bool is_verified = 3; -} - -message CMsgGCHAccountPhoneNumberChange { - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional uint64 phone_id = 3; - optional bool is_verified = 4; - optional bool is_identifying = 5; -} - -message CMsgGCHInviteUserToLobby { - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional fixed64 steamid_invited = 3; - optional fixed64 steamid_lobby = 4; -} - -message CMsgGCHRecurringSubscriptionStatusChange { - optional fixed64 steamid = 1; - optional uint32 appid = 2; - optional fixed64 agreementid = 3; - optional bool active = 4; -} - -message CQuest_PublisherAddCommunityItemsToPlayer_Request { - message Attribute { - optional uint32 attribute = 1; - optional uint64 value = 2; - } - - optional uint64 steamid = 1; - optional uint32 appid = 2; - optional uint32 match_item_type = 3; - optional uint32 match_item_class = 4; - optional string prefix_item_name = 5; - repeated .CQuest_PublisherAddCommunityItemsToPlayer_Request.Attribute attributes = 6; - optional string note = 7; -} - -message CQuest_PublisherAddCommunityItemsToPlayer_Response { - optional uint32 items_matched = 1; - optional uint32 items_granted = 2; -} - -message CCommunity_GamePersonalDataCategoryInfo { - optional string type = 1; - optional string localization_token = 2; - optional string template_file = 3; -} - -message CCommunity_GetGamePersonalDataCategories_Request { - optional uint32 appid = 1; -} - -message CCommunity_GetGamePersonalDataCategories_Response { - repeated .CCommunity_GamePersonalDataCategoryInfo categories = 1; - optional string app_assets_basename = 2; -} - -message CCommunity_GetGamePersonalDataEntries_Request { - optional uint32 appid = 1; - optional uint64 steamid = 2; - optional string type = 3; - optional string continue_token = 4; -} - -message CCommunity_GetGamePersonalDataEntries_Response { - optional uint32 gceresult = 1; - repeated string entries = 2; - optional string continue_token = 3; - optional string continue_text = 4; -} - -message CCommunity_TerminateGamePersonalDataEntries_Request { - optional uint32 appid = 1; - optional uint64 steamid = 2; -} - -message CCommunity_TerminateGamePersonalDataEntries_Response { - optional uint32 gceresult = 1; } diff --git a/gcsdk/steammessages.proto b/gcsdk/steammessages.proto index e38b64a1..17d855b6 100644 --- a/gcsdk/steammessages.proto +++ b/gcsdk/steammessages.proto @@ -9,12 +9,22 @@ extend .google.protobuf.MessageOptions { optional int32 msgpool_hard_limit = 60001 [default = 384]; } +enum EGCPlatform { + k_eGCPlatform_None = 0; + k_eGCPlatform_PC = 1; + k_eGCPlatform_Mac = 2; + k_eGCPlatform_Linux = 3; + k_eGCPlatform_Android = 4; + k_eGCPlatform_iOS = 5; +} + enum GCProtoBufMsgSrc { GCProtoBufMsgSrc_Unspecified = 0; GCProtoBufMsgSrc_FromSystem = 1; GCProtoBufMsgSrc_FromSteamID = 2; GCProtoBufMsgSrc_FromGC = 3; GCProtoBufMsgSrc_ReplySystem = 4; + GCProtoBufMsgSrc_SpoofedSteamID = 5; } message CMsgProtoBufHeader { @@ -29,17 +39,70 @@ message CMsgProtoBufHeader { optional string target_job_name = 12; optional int32 eresult = 13 [default = 2]; optional string error_message = 14; - optional uint32 ip = 15; optional .GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified]; - optional uint32 gc_dir_index_source = 201; + optional int32 gc_dir_index_source = 201 [default = -1]; } -message CChinaAgreementSessions_StartAgreementSessionInGame_Request { - optional uint32 appid = 1; - optional fixed64 steamid = 2; - optional string client_ipaddress = 3; +message CGCSystemMsg_GetAccountDetails { + option (msgpool_soft_limit) = 128; + option (msgpool_hard_limit) = 512; + + optional fixed64 steamid = 1; + optional uint32 appid = 2; } -message CChinaAgreementSessions_StartAgreementSessionInGame_Response { - optional string agreement_url = 1; +message CGCSystemMsg_GetAccountDetails_Response { + option (msgpool_soft_limit) = 128; + option (msgpool_hard_limit) = 512; + + optional uint32 eresult_deprecated = 1 [default = 2]; + optional string account_name = 2; + optional string persona_name = 3; + optional bool is_profile_created = 26; + optional bool is_profile_public = 4; + optional bool is_inventory_public = 5; + optional bool is_vac_banned = 7; + optional bool is_cyber_cafe = 8; + optional bool is_school_account = 9; + optional bool is_limited = 10; + optional bool is_subscribed = 11; + optional uint32 package = 12; + optional bool is_free_trial_account = 13; + optional uint32 free_trial_expiration = 14; + optional bool is_low_violence = 15; + optional bool is_account_locked_down = 16; + optional bool is_community_banned = 17; + optional bool is_trade_banned = 18; + optional uint32 trade_ban_expiration = 19; + optional uint32 accountid = 20; + optional uint32 suspension_end_time = 21; + optional string currency = 22; + optional uint32 steam_level = 23; + optional uint32 friend_count = 24; + optional uint32 account_creation_time = 25; + optional bool is_steamguard_enabled = 27; + optional bool is_phone_verified = 28; + optional bool is_two_factor_auth_enabled = 29; + optional uint32 two_factor_enabled_time = 30; + optional uint32 phone_verification_time = 31; + optional uint64 phone_id = 33; + optional bool is_phone_identifying = 34; + optional uint32 rt_identity_linked = 35; + optional uint32 rt_birth_date = 36; + optional string txn_country_code = 37; + optional bool has_accepted_china_ssa = 38; + optional bool is_banned_steam_china = 39; +} + +message CIPLocationInfo { + optional uint32 ip = 1; + optional float latitude = 2; + optional float longitude = 3; + optional string country = 4; + optional string state = 5; + optional string city = 6; +} + +message CGCMsgGetIPLocationResponse { + repeated .CIPLocationInfo infos = 1; } diff --git a/gcsdk/steammessages_int.proto b/gcsdk/steammessages_int.proto new file mode 100644 index 00000000..3b63bae0 --- /dev/null +++ b/gcsdk/steammessages_int.proto @@ -0,0 +1,484 @@ +import "steammessages.proto"; + +message CMsgWebAPIKey { + optional uint32 status = 1 [default = 255]; + optional uint32 account_id = 2 [default = 0]; + optional uint32 publisher_group_id = 3 [default = 0]; + optional uint32 key_id = 4; + optional string domain = 5; +} + +message CMsgHttpRequest { + message RequestHeader { + optional string name = 1; + optional string value = 2; + } + + message QueryParam { + optional string name = 1; + optional bytes value = 2; + } + + optional uint32 request_method = 1; + optional string hostname = 2; + optional string url = 3; + repeated .CMsgHttpRequest.RequestHeader headers = 4; + repeated .CMsgHttpRequest.QueryParam get_params = 5; + repeated .CMsgHttpRequest.QueryParam post_params = 6; + optional bytes body = 7; + optional uint32 absolute_timeout = 8; + optional bool use_https = 9; +} + +message CMsgWebAPIRequest { + optional string interface_name = 2; + optional string method_name = 3; + optional uint32 version = 4; + optional .CMsgWebAPIKey api_key = 5; + optional .CMsgHttpRequest request = 6; + optional uint32 routing_app_id = 7; +} + +message CMsgHttpResponse { + message ResponseHeader { + optional string name = 1; + optional string value = 2; + } + + optional uint32 status_code = 1; + repeated .CMsgHttpResponse.ResponseHeader headers = 2; + optional bytes body = 3; +} + +message CMsgAMFindAccounts { + optional uint32 search_type = 1; + optional string search_string = 2; +} + +message CMsgAMFindAccountsResponse { + repeated fixed64 steam_id = 1; +} + +message CMsgNotifyWatchdog { + optional uint32 source = 1; + optional uint32 alert_type = 2; + optional bool critical = 4; + optional uint32 time = 5; + optional uint32 appid = 6; + optional string text = 7; + optional string recipient = 12; +} + +message CMsgAMGetLicenses { + optional fixed64 steamid = 1; +} + +message CMsgPackageLicense { + optional uint32 package_id = 1; + optional uint32 time_created = 2; + optional uint32 owner_id = 3; +} + +message CMsgAMGetLicensesResponse { + repeated .CMsgPackageLicense license = 1; + optional uint32 result = 2; +} + +message CMsgGCGetCommandList { + optional uint32 app_id = 1; + optional string command_prefix = 2; +} + +message CMsgGCGetCommandListResponse { + repeated string command_name = 1; +} + +message CGCMsgMemCachedGet { + repeated string keys = 1; +} + +message CGCMsgMemCachedGetResponse { + message ValueTag { + optional bool found = 1; + optional bytes value = 2; + } + + repeated .CGCMsgMemCachedGetResponse.ValueTag values = 1; +} + +message CGCMsgMemCachedSet { + message KeyPair { + optional string name = 1; + optional bytes value = 2; + } + + repeated .CGCMsgMemCachedSet.KeyPair keys = 1; +} + +message CGCMsgMemCachedDelete { + repeated string keys = 1; +} + +message CGCMsgMemCachedStats { +} + +message CGCMsgMemCachedStatsResponse { + optional uint64 curr_connections = 1; + optional uint64 cmd_get = 2; + optional uint64 cmd_set = 3; + optional uint64 cmd_flush = 4; + optional uint64 get_hits = 5; + optional uint64 get_misses = 6; + optional uint64 delete_hits = 7; + optional uint64 delete_misses = 8; + optional uint64 bytes_read = 9; + optional uint64 bytes_written = 10; + optional uint64 limit_maxbytes = 11; + optional uint64 curr_items = 12; + optional uint64 evictions = 13; + optional uint64 bytes = 14; +} + +message CGCMsgSQLStats { + optional uint32 schema_catalog = 1; +} + +message CGCMsgSQLStatsResponse { + optional uint32 threads = 1; + optional uint32 threads_connected = 2; + optional uint32 threads_active = 3; + optional uint32 operations_submitted = 4; + optional uint32 prepared_statements_executed = 5; + optional uint32 non_prepared_statements_executed = 6; + optional uint32 deadlock_retries = 7; + optional uint32 operations_timed_out_in_queue = 8; + optional uint32 errors = 9; +} + +message CMsgAMAddFreeLicense { + optional fixed64 steamid = 1; + optional uint32 ip_public = 2; + optional uint32 packageid = 3; + optional string store_country_code = 4; +} + +message CMsgAMAddFreeLicenseResponse { + optional int32 eresult = 1 [default = 2]; + optional int32 purchase_result_detail = 2; + optional fixed64 transid = 3; +} + +message CGCMsgGetIPLocation { + repeated fixed32 ips = 1; +} + +message CGCMsgGetIPASN { + repeated fixed32 ips = 1; +} + +message CIPASNInfo { + optional fixed32 ip = 1; + optional uint32 asn = 2; +} + +message CGCMsgGetIPASNResponse { + repeated .CIPASNInfo infos = 1; +} + +message CMsgAMSendEmail { + message ReplacementToken { + optional string token_name = 1; + optional string token_value = 2; + } + + message PersonaNameReplacementToken { + optional fixed64 steamid = 1; + optional string token_name = 2; + } + + optional fixed64 steamid = 1; + optional uint32 email_msg_type = 2; + optional uint32 email_format = 3; + repeated .CMsgAMSendEmail.PersonaNameReplacementToken persona_name_tokens = 5; + optional uint32 source_gc = 6; + repeated .CMsgAMSendEmail.ReplacementToken tokens = 7; +} + +message CMsgAMSendEmailResponse { + optional uint32 eresult = 1 [default = 2]; +} + +message CMsgGCGetEmailTemplate { + optional uint32 app_id = 1; + optional uint32 email_msg_type = 2; + optional int32 email_lang = 3; + optional int32 email_format = 4; +} + +message CMsgGCGetEmailTemplateResponse { + optional uint32 eresult = 1 [default = 2]; + optional bool template_exists = 2; + optional string template = 3; +} + +message CMsgAMGrantGuestPasses2 { + optional fixed64 steam_id = 1; + optional uint32 package_id = 2; + optional int32 passes_to_grant = 3; + optional int32 days_to_expiration = 4; + optional int32 action = 5; +} + +message CMsgAMGrantGuestPasses2Response { + optional int32 eresult = 1 [default = 2]; + optional int32 passes_granted = 2 [default = 0]; +} + +message CMsgGCGetPersonaNames { + repeated fixed64 steamids = 1; +} + +message CMsgGCGetPersonaNames_Response { + message PersonaName { + optional fixed64 steamid = 1; + optional string persona_name = 2; + } + + repeated .CMsgGCGetPersonaNames_Response.PersonaName succeeded_lookups = 1; + repeated fixed64 failed_lookup_steamids = 2; +} + +message CMsgGCCheckFriendship { + optional fixed64 steamid_left = 1; + optional fixed64 steamid_right = 2; +} + +message CMsgGCCheckFriendship_Response { + optional bool success = 1; + optional bool found_friendship = 2; +} + +message CMsgGCGetAppFriendsList { + optional fixed64 steamid = 1; + optional bool include_friendship_timestamps = 2; + optional bool include_friends_with_no_play_time = 3; +} + +message CMsgGCGetAppFriendsList_Response { + optional bool success = 1; + repeated fixed64 steamids = 2; + repeated fixed32 friendship_timestamps = 3; + repeated fixed32 last_playtimes = 4; +} + +message CMsgGCMsgMasterSetDirectory { + message SubGC { + optional int32 dir_index = 1 [default = -1]; + optional string name = 2; + optional string box = 3; + optional string command_line = 4; + optional string gc_binary = 5; + } + + optional int32 master_dir_index = 1 [default = -1]; + repeated .CMsgGCMsgMasterSetDirectory.SubGC dir = 2; +} + +message CMsgGCMsgMasterSetDirectory_Response { + optional int32 eresult = 1 [default = 2]; + optional string message = 2; +} + +message CMsgGCMsgWebAPIJobRequestForwardResponse { + optional int32 dir_index = 1 [default = -1]; +} + +message CGCSystemMsg_GetPurchaseTrust_Request { + optional fixed64 steamid = 1; +} + +message CGCSystemMsg_GetPurchaseTrust_Response { + optional bool has_prior_purchase_history = 1; + optional bool has_no_recent_password_resets = 2; + optional bool is_wallet_cash_trusted = 3; + optional uint32 time_all_trusted = 4; +} + +message CMsgGCHAccountVacStatusChange { + optional fixed64 steam_id = 1; + optional uint32 app_id = 2; + optional uint32 rtime_vacban_starts = 3; + optional bool is_banned_now = 4; + optional bool is_banned_future = 5; +} + +message CMsgGCRoutingInfo { + enum RoutingMethod { + RANDOM = 0; + DISCARD = 1; + CLIENT_STEAMID = 2; + PROTOBUF_FIELD_UINT64 = 3; + WEBAPI_PARAM = 4; + WEBAPI_PARAM_STEAMID_ACCOUNTID = 5; + } + + repeated int32 dir_index = 1; + optional .CMsgGCRoutingInfo.RoutingMethod method = 2 [default = RANDOM]; + optional .CMsgGCRoutingInfo.RoutingMethod fallback = 3 [default = DISCARD]; + optional uint32 protobuf_field = 4; + optional string webapi_param = 5; +} + +message CMsgGCMsgMasterSetWebAPIRouting { + message Entry { + optional string interface_name = 1; + optional string method_name = 2; + optional .CMsgGCRoutingInfo routing = 3; + } + + repeated .CMsgGCMsgMasterSetWebAPIRouting.Entry entries = 1; +} + +message CMsgGCMsgMasterSetClientMsgRouting { + message Entry { + optional uint32 msg_type = 1; + optional .CMsgGCRoutingInfo routing = 2; + } + + repeated .CMsgGCMsgMasterSetClientMsgRouting.Entry entries = 1; +} + +message CMsgGCMsgMasterSetWebAPIRouting_Response { + optional int32 eresult = 1 [default = 2]; +} + +message CMsgGCMsgMasterSetClientMsgRouting_Response { + optional int32 eresult = 1 [default = 2]; +} + +message CMsgGCMsgSetOptions { + message MessageRange { + required uint32 low = 1; + required uint32 high = 2; + } + + enum Option { + NOTIFY_USER_SESSIONS = 0; + NOTIFY_SERVER_SESSIONS = 1; + NOTIFY_ACHIEVEMENTS = 2; + NOTIFY_VAC_ACTION = 3; + } + + enum GCSQLVersion { + GCSQL_VERSION_BASELINE = 1; + GCSQL_VERSION_BOOLTYPE = 2; + } + + repeated .CMsgGCMsgSetOptions.Option options = 1; + repeated .CMsgGCMsgSetOptions.MessageRange client_msg_ranges = 2; + optional .CMsgGCMsgSetOptions.GCSQLVersion gcsql_version = 3 [default = GCSQL_VERSION_BASELINE]; +} + +message CMsgGCHUpdateSession { + message ExtraField { + optional string name = 1; + optional string value = 2; + } + + optional fixed64 steam_id = 1; + optional uint32 app_id = 2; + optional bool online = 3; + optional fixed64 server_steam_id = 4; + optional uint32 server_addr = 5; + optional uint32 server_port = 6; + optional uint32 os_type = 7; + optional uint32 client_addr = 8; + repeated .CMsgGCHUpdateSession.ExtraField extra_fields = 9; +} + +message CMsgNotificationOfSuspiciousActivity { + message MultipleGameInstances { + optional uint32 app_instance_count = 1; + repeated fixed64 other_steamids = 2; + } + + optional fixed64 steamid = 1; + optional uint32 appid = 2; + optional .CMsgNotificationOfSuspiciousActivity.MultipleGameInstances multiple_instances = 3; +} + +message CMsgGCHVacVerificationChange { + optional fixed64 steamid = 1; + optional uint32 appid = 2; + optional bool is_verified = 3; +} + +message CMsgGCCheckClanMembership { + optional fixed64 steamid = 1; + optional uint32 clanid = 2; +} + +message CMsgGCCheckClanMembership_Response { + optional bool ismember = 1; +} + +message CMsgGCHAppCheersReceived { + message CheerTypeAmount { + optional uint32 cheer_type = 1; + optional uint32 cheer_amount = 2; + } + + message CheerTarget { + optional uint64 cheer_target = 1; + repeated .CMsgGCHAppCheersReceived.CheerTypeAmount cheer_types = 2; + } + + optional uint32 appid = 1; + repeated .CMsgGCHAppCheersReceived.CheerTarget cheer_targets = 2; +} + +message CMsgGCHAppCheersGetAllowedTypes { + optional uint32 appid = 1; + optional uint64 cheer_target = 2; +} + +message CMsgGCHAppCheersGetAllowedTypesResponse { + message CheerRemaps { + optional uint32 original_cheer_type = 1; + optional uint32 remapped_cheer_type = 2; + repeated uint32 account_ids = 3; + } + + repeated uint32 cheer_types_valid_all_users = 1; + repeated .CMsgGCHAppCheersGetAllowedTypesResponse.CheerRemaps cheer_remaps = 2; + optional uint32 cache_duration = 3; +} + +message CWorkshop_AddSpecialPayment_Request { + optional uint32 appid = 1; + optional uint32 gameitemid = 2; + optional string date = 3; + optional uint64 payment_us_usd = 4; + optional uint64 payment_row_usd = 5; +} + +message CWorkshop_AddSpecialPayment_Response { +} + +message CWorkshop_GetSpecialPayments_Request { + optional uint32 appid = 1; + optional uint32 gameitemid = 2; + optional string date = 3; +} + +message CWorkshop_GetSpecialPayments_Response { + message SpecialPayment { + optional uint32 appid = 1; + optional uint32 gameitemid = 2; + optional string date = 3; + optional uint64 net_payment_us_usd = 4; + optional uint64 net_payment_row_usd = 5; + } + + repeated .CWorkshop_GetSpecialPayments_Response.SpecialPayment special_payments = 1; +} diff --git a/gcsdk/steammessages_steamlearn.steamworkssdk.proto b/gcsdk/steammessages_steamlearn.steamworkssdk.proto new file mode 100644 index 00000000..d2341845 --- /dev/null +++ b/gcsdk/steammessages_steamlearn.steamworkssdk.proto @@ -0,0 +1,405 @@ +import "steammessages_unified_base.steamworkssdk.proto"; + +enum ESteamLearnDataType { + STEAMLEARN_DATATYPE_INVALID = 0; + STEAMLEARN_DATATYPE_INT32 = 1; + STEAMLEARN_DATATYPE_FLOAT32 = 2; + STEAMLEARN_DATATYPE_BOOL = 3; + STEAMLEARN_DATATYPE_STRING = 4; + STEAMLEARN_DATATYPE_OBJECT = 5; +} + +enum ESteammLearnRegisterDataSourceResult { + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR = 0; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_SUCCESS_CREATED = 1; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_SUCCESS_FOUND = 2; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_GENERIC = 3; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_NAME = 4; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_VERSION = 5; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_DATA_CHANGED = 6; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_DATA_INVALID = 7; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_FORBIDDEN = 8; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR_INVALID_TIMESTAMP = 9; + STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_DISABLED = 10; +} + +enum ESteamLearnCacheDataResult { + STEAMLEARN_CACHE_DATA_ERROR = 0; + STEAMLEARN_CACHE_DATA_SUCCESS = 1; + STEAMLEARN_CACHE_DATA_ERROR_UNKNOWN_DATA_SOURCE = 2; + STEAMLEARN_CACHE_DATA_ERROR_UNCACHED_DATA_SOURCE = 3; + STEAMLEARN_CACHE_DATA_ERROR_INVALID_KEYS = 4; + STEAMLEARN_CACHE_DATA_ERROR_FORBIDDEN = 5; + STEAMLEARN_CACHE_DATA_ERROR_INVALID_TIMESTAMP = 6; + STEAMLEARN_CACHE_DATA_DISABLED = 7; +} + +enum ESteamLearnSnapshotProjectResult { + STEAMLEARN_SNAPSHOT_PROJECT_ERROR = 0; + STEAMLEARN_SNAPSHOT_PROJECT_SUCCESS_STORED = 1; + STEAMLEARN_SNAPSHOT_PROJECT_SUCCESS_QUEUED = 2; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_PROJECT_ID = 3; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_UNKNOWN_DATA_SOURCE = 4; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_DATA_SOURCE_KEY = 5; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_MISSING_CACHE_DURATION = 6; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_NO_PUBLISHED_CONFIG = 7; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_FORBIDDEN = 8; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_TIMESTAMP = 9; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INTERNAL_DATA_SOURCE_ERROR = 10; + STEAMLEARN_SNAPSHOT_PROJECT_DISABLED = 11; + STEAMLEARN_SNAPSHOT_PROJECT_ERROR_INVALID_PUBLISHED_VERSION = 12; +} + +enum ESteamLearnGetAccessTokensResult { + STEAMLEARN_GET_ACCESS_TOKENS_ERROR = 0; + STEAMLEARN_GET_ACCESS_TOKENS_SUCCESS = 1; +} + +enum ESteamLearnInferenceResult { + STEAMLEARN_INFERENCE_ERROR = 0; + STEAMLEARN_INFERENCE_SUCCESS = 1; + STEAMLEARN_INFERENCE_ERROR_INVALID_PROJECT_ID = 2; + STEAMLEARN_INFERENCE_ERROR_MISSING_CACHED_SCHEMA_DATA = 3; + STEAMLEARN_INFERENCE_ERROR_NO_PUBLISHED_CONFIG = 4; + STEAMLEARN_INFERENCE_ERROR_FORBIDDEN = 5; + STEAMLEARN_INFERENCE_ERROR_INVALID_TIMESTAMP = 6; + STEAMLEARN_INFERENCE_ERROR_INVALID_PUBLISHED_VERSION = 7; + STEAMLEARN_INFERENCE_ERROR_NO_FETCH_ID_FOUND = 8; + STEAMLEARN_INFERENCE_ERROR_TOO_BUSY = 9; +} + +enum ESteamLearnInferenceMetadataResult { + STEAMLEARN_INFERENCE_METADATA_ERROR = 0; + STEAMLEARN_INFERENCE_METADATA_SUCCESS = 1; + STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_PROJECT_ID = 2; + STEAMLEARN_INFERENCE_METADATA_ERROR_NO_PUBLISHED_CONFIG = 3; + STEAMLEARN_INFERENCE_METADATA_ERROR_FORBIDDEN = 4; + STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_TIMESTAMP = 5; + STEAMLEARN_INFERENCE_METADATA_ERROR_INVALID_PUBLISHED_VERSION = 6; + STEAMLEARN_INFERENCE_METADATA_ERROR_NO_FETCH_ID_FOUND = 7; +} + +message CMsgSteamLearnDataSourceDescObject { + repeated .CMsgSteamLearnDataSourceDescElement elements = 1; +} + +message CMsgSteamLearnDataSourceDescElement { + optional string name = 1; + optional .ESteamLearnDataType data_type = 2 [default = STEAMLEARN_DATATYPE_INVALID]; + optional .CMsgSteamLearnDataSourceDescObject object = 3; + optional uint32 count = 4; +} + +message CMsgSteamLearnDataSource { + optional uint32 id = 1; + optional string name = 2; + optional uint32 version = 3; + optional string source_description = 4; + optional .CMsgSteamLearnDataSourceDescObject structure = 5; + optional uint32 structure_crc = 6; + optional uint32 cache_duration_seconds = 7; +} + +message CMsgSteamLearnDataObject { + repeated .CMsgSteamLearnDataElement elements = 1; +} + +message CMsgSteamLearnDataElement { + optional string name = 1; + repeated int32 data_int32s = 20; + repeated float data_floats = 21; + repeated bool data_bools = 22; + repeated string data_strings = 23; + repeated .CMsgSteamLearnDataObject data_objects = 24; +} + +message CMsgSteamLearnData { + optional uint32 data_source_id = 1; + repeated uint64 keys = 2; + optional .CMsgSteamLearnDataObject data_object = 3; +} + +message CMsgSteamLearnDataList { + repeated .CMsgSteamLearnData data = 1; +} + +message CMsgSteamLearn_RegisterDataSource_Request { + optional string access_token = 1; + optional .CMsgSteamLearnDataSource data_source = 3; +} + +message CMsgSteamLearn_RegisterDataSource_Response { + optional .ESteammLearnRegisterDataSourceResult result = 1 [default = STEAMLEARN_REGISTER_DATA_SOURCE_RESULT_ERROR]; + optional .CMsgSteamLearnDataSource data_source = 2; +} + +message CMsgSteamLearn_CacheData_Request { + optional string access_token = 1; + optional .CMsgSteamLearnData data = 3; +} + +message CMsgSteamLearn_CacheData_Response { + optional .ESteamLearnCacheDataResult cache_data_result = 1 [default = STEAMLEARN_CACHE_DATA_ERROR]; +} + +message CMsgSteamLearn_SnapshotProject_Request { + optional string access_token = 1; + optional uint32 project_id = 3; + optional uint32 published_version = 7; + repeated uint64 keys = 4; + repeated .CMsgSteamLearnData data = 5; + optional uint32 pending_data_limit_seconds = 6; +} + +message CMsgSteamLearn_SnapshotProject_Response { + optional .ESteamLearnSnapshotProjectResult snapshot_result = 1 [default = STEAMLEARN_SNAPSHOT_PROJECT_ERROR]; +} + +message CMsgSteamLearn_BatchOperation_Request { + repeated .CMsgSteamLearn_CacheData_Request cache_data_requests = 1; + repeated .CMsgSteamLearn_SnapshotProject_Request snapshot_requests = 2; + repeated .CMsgSteamLearn_Inference_Request inference_requests = 3; +} + +message CMsgSteamLearn_BatchOperation_Response { + repeated .CMsgSteamLearn_CacheData_Response cache_data_responses = 1; + repeated .CMsgSteamLearn_SnapshotProject_Response snapshot_responses = 2; + repeated .CMsgSteamLearn_Inference_Response inference_responses = 3; +} + +message CMsgSteamLearnAccessTokens { + message CacheDataAccessToken { + optional uint32 data_source_id = 1; + optional string access_token = 2; + } + + message SnapshotProjectAccessToken { + optional uint32 project_id = 1; + optional string access_token = 2; + } + + message InferenceAccessToken { + optional uint32 project_id = 1; + optional string access_token = 2; + } + + optional string register_data_source_access_token = 1; + repeated .CMsgSteamLearnAccessTokens.CacheDataAccessToken cache_data_access_tokens = 2; + repeated .CMsgSteamLearnAccessTokens.SnapshotProjectAccessToken snapshot_project_access_tokens = 3; + repeated .CMsgSteamLearnAccessTokens.InferenceAccessToken inference_access_tokens = 4; +} + +message CMsgSteamLearn_GetAccessTokens_Request { + optional uint32 appid = 1; +} + +message CMsgSteamLearn_GetAccessTokens_Response { + optional .ESteamLearnGetAccessTokensResult result = 1 [default = STEAMLEARN_GET_ACCESS_TOKENS_ERROR]; + optional .CMsgSteamLearnAccessTokens access_tokens = 2; +} + +message CMsgSteamLearn_Inference_Request { + optional string access_token = 1; + optional uint32 project_id = 3; + optional uint32 published_version = 4; + optional uint32 override_train_id = 5; + optional .CMsgSteamLearnDataList data = 6; + repeated float additional_data = 7; +} + +message CMsgSteamLearn_InferenceMetadata_Request { + optional string access_token = 1; + optional uint32 project_id = 3; + optional uint32 published_version = 4; + optional uint32 override_train_id = 5; +} + +message CMsgSteamLearn_InferenceMetadataBackend_Request { + optional uint32 project_id = 1; + optional uint32 fetch_id = 2; +} + +message CMsgSteamLearn_InferenceMetadata_Response { + message RowRange { + optional uint64 min_row = 1; + optional uint64 max_row = 2; + } + + message Range { + optional string data_element_path = 1; + optional float min_value = 2; + optional float max_value = 3; + } + + message StdDev { + optional string data_element_path = 1; + optional float mean = 2; + optional float std_dev = 3; + } + + message CompactTable { + message Entry { + optional uint32 value = 1; + optional uint32 mapping = 2; + optional uint64 count = 3; + } + + message MapValuesEntry { + optional uint32 key = 1; + optional .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry value = 2; + } + + message MapMappingsEntry { + optional uint32 key = 1; + optional .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.Entry value = 2; + } + + optional string name = 1; + repeated .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapValuesEntry map_values = 2; + repeated .CMsgSteamLearn_InferenceMetadata_Response.CompactTable.MapMappingsEntry map_mappings = 3; + } + + message SequenceTable { + message Entry { + repeated uint32 values = 1; + optional uint32 crc = 2; + optional uint32 count = 3; + } + + message MapValuesEntry { + optional uint32 key = 1; + optional .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry value = 2; + } + + message MapMappingsEntry { + optional string key = 1; + optional .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.Entry value = 2; + } + + optional string name = 1; + repeated .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapValuesEntry map_values = 2; + repeated .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable.MapMappingsEntry map_mappings = 3; + optional uint64 total_count = 4; + } + + message KMeans { + message Cluster { + optional float x = 1; + optional float y = 2; + optional float radius = 3; + optional float radius_75pct = 4; + optional float radius_50pct = 5; + optional float radius_25pct = 6; + } + + optional string name = 1; + repeated .CMsgSteamLearn_InferenceMetadata_Response.KMeans.Cluster clusters = 2; + } + + message SnapshotHistogram { + optional float min_value = 1; + optional float max_value = 2; + optional uint32 num_buckets = 3; + repeated uint32 bucket_counts = 4; + } + + message AppInfo { + optional string country_allow = 1; + optional string country_deny = 2; + optional bool platform_win = 3; + optional bool platform_mac = 4; + optional bool platform_linux = 5; + optional bool adult_violence = 6; + optional bool adult_sex = 7; + } + + message AppInfoEntry { + optional uint32 key = 1; + optional .CMsgSteamLearn_InferenceMetadata_Response.AppInfo value = 2; + } + + optional .ESteamLearnInferenceMetadataResult inference_metadata_result = 1 [default = STEAMLEARN_INFERENCE_METADATA_ERROR]; + optional .CMsgSteamLearn_InferenceMetadata_Response.RowRange row_range = 2; + repeated .CMsgSteamLearn_InferenceMetadata_Response.Range ranges = 3; + repeated .CMsgSteamLearn_InferenceMetadata_Response.StdDev std_devs = 4; + repeated .CMsgSteamLearn_InferenceMetadata_Response.CompactTable compact_tables = 5; + repeated .CMsgSteamLearn_InferenceMetadata_Response.SequenceTable sequence_tables = 9; + repeated .CMsgSteamLearn_InferenceMetadata_Response.KMeans kmeans = 6; + repeated .CMsgSteamLearn_InferenceMetadata_Response.AppInfoEntry app_info = 8; + optional .CMsgSteamLearn_InferenceMetadata_Response.SnapshotHistogram snapshot_histogram = 7; +} + +message CMsgSteamLearn_InferenceBackend_Response { + message Sequence { + repeated float value = 1; + } + + message RegressionOutput { + optional float value = 1; + } + + message BinaryCrossEntropyOutput { + optional float value = 1; + } + + message MutliBinaryCrossEntropyOutput { + repeated float weight = 1; + repeated float value = 2; + repeated .CMsgSteamLearn_InferenceBackend_Response.Sequence value_sequence = 3; + } + + message CategoricalCrossEntropyOutput { + repeated float weight = 1; + repeated float value = 2; + repeated .CMsgSteamLearn_InferenceBackend_Response.Sequence value_sequence = 3; + } + + message Output { + oneof ResponseType { + .CMsgSteamLearn_InferenceBackend_Response.BinaryCrossEntropyOutput binary_crossentropy = 1; + .CMsgSteamLearn_InferenceBackend_Response.CategoricalCrossEntropyOutput categorical_crossentropy = 2; + .CMsgSteamLearn_InferenceBackend_Response.MutliBinaryCrossEntropyOutput multi_binary_crossentropy = 3; + .CMsgSteamLearn_InferenceBackend_Response.RegressionOutput regression = 4; + } + } + + repeated .CMsgSteamLearn_InferenceBackend_Response.Output outputs = 1; +} + +message CMsgSteamLearn_Inference_Response { + optional .ESteamLearnInferenceResult inference_result = 1 [default = STEAMLEARN_INFERENCE_ERROR]; + optional .CMsgSteamLearn_InferenceBackend_Response backend_response = 2; + repeated uint64 keys = 3; +} + +service SteamLearn { + option (service_description) = "Service for submitting data, training, and inferencing with SteamLearn."; + + rpc RegisterDataSource (.CMsgSteamLearn_RegisterDataSource_Request) returns (.CMsgSteamLearn_RegisterDataSource_Response) { + option (method_description) = "Registers a data desc (or finds a data desc if it's already registered)."; + } + + rpc CacheData (.CMsgSteamLearn_CacheData_Request) returns (.CMsgSteamLearn_CacheData_Response) { + option (method_description) = "Updates a cached data entry."; + } + + rpc SnapshotProject (.CMsgSteamLearn_SnapshotProject_Request) returns (.CMsgSteamLearn_SnapshotProject_Response) { + option (method_description) = "Snapshots the current data for a project."; + } + + rpc BatchOperation (.CMsgSteamLearn_BatchOperation_Request) returns (.CMsgSteamLearn_BatchOperation_Response) { + option (method_description) = "Batches multiple data updates, snapshots, and inference requests into a single call"; + } + + rpc GetAccessTokens (.CMsgSteamLearn_GetAccessTokens_Request) returns (.CMsgSteamLearn_GetAccessTokens_Response) { + option (method_description) = "Gets the access tokens needed for registering data sources, submitting data to them, and snapshotting projects"; + } + + rpc Inference (.CMsgSteamLearn_Inference_Request) returns (.CMsgSteamLearn_Inference_Response) { + option (method_description) = "Inferences using supplied data, or data associated with the specified key."; + } + + rpc InferenceMetadata (.CMsgSteamLearn_InferenceMetadata_Request) returns (.CMsgSteamLearn_InferenceMetadata_Response) { + option (method_description) = "Requests the metadata that was generated from a specified fetch."; + } +} diff --git a/gcsdk/steammessages_unified_base.steamworkssdk.proto b/gcsdk/steammessages_unified_base.steamworkssdk.proto new file mode 100644 index 00000000..133820c8 --- /dev/null +++ b/gcsdk/steammessages_unified_base.steamworkssdk.proto @@ -0,0 +1,30 @@ +import "google/protobuf/descriptor.proto"; + +option optimize_for = SPEED; +option cc_generic_services = 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]; +} + +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 = 3; +} diff --git a/networksystem/networksystem_protomessages.proto b/networksystem/networksystem_protomessages.proto new file mode 100644 index 00000000..f5d2da6b --- /dev/null +++ b/networksystem/networksystem_protomessages.proto @@ -0,0 +1,17 @@ +message NetMessageSplitscreenUserChanged { + optional uint32 slot = 1; +} + +message NetMessageConnectionClosed { + optional uint32 reason = 1; +} + +message NetMessageConnectionCrashed { + optional uint32 reason = 1; +} + +message NetMessagePacketStart { +} + +message NetMessagePacketEnd { +}