1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2025-07-18 17:38:16 +08:00

Add/update protos missed in last commit

This commit is contained in:
Nicholas Hastings
2025-02-15 13:08:33 -05:00
parent 29424222e8
commit 20501fd043
9 changed files with 2353 additions and 522 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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.";
}
}

View File

@ -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;
}

View File

@ -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 {
}