package dota; import "steammessages.proto"; option optimize_for = SPEED; option cc_generic_services = false; enum ESourceEngine { k_ESE_Source1 = 0; k_ESE_Source2 = 1; } enum PartnerAccountType { PARTNER_NONE = 0; PARTNER_PERFECT_WORLD = 1; PARTNER_NEXON = 2; PARTNER_INVALID = 3; } enum GCConnectionStatus { GCConnectionStatus_HAVE_SESSION = 0; GCConnectionStatus_GC_GOING_DOWN = 1; GCConnectionStatus_NO_SESSION = 2; GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 3; GCConnectionStatus_NO_STEAM = 4; GCConnectionStatus_SUSPENDED = 5; GCConnectionStatus_STEAM_GOING_DOWN = 6; } message CMsgSHA1Digest { required fixed64 block1 = 1; required fixed64 block2 = 2; required fixed32 block3 = 3; } message CMsgSOIDOwner { optional uint32 type = 1; optional uint64 id = 2; } message CMsgSOSingleObject { optional int32 type_id = 2; optional bytes object_data = 3; optional fixed64 version = 4; optional CMsgSOIDOwner owner_soid = 5; optional uint32 service_id = 6; } message CMsgSOMultipleObjects { message SingleObject { option (msgpool_soft_limit) = 256; option (msgpool_hard_limit) = 1024; optional int32 type_id = 1; optional bytes object_data = 2; } 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 { message SubscribedType { optional int32 type_id = 1; repeated bytes object_data = 2; } 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 { optional CMsgSOIDOwner owner_soid = 2; } 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 { optional CMsgSOIDOwner owner_soid = 2; } message CMsgSOCacheVersion { optional fixed64 version = 1; } message CMsgGCMultiplexMessage { optional uint32 msgtype = 1; optional bytes payload = 2; repeated fixed64 steamids = 3; } message CGCToGCMsgMasterAck { message Process { optional uint32 dir_index = 1; repeated uint32 type_instances = 2; } optional uint32 dir_index = 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 uint32 dir_index = 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; } message CGCToGCMsgRoutedReply { optional uint32 msg_type = 1; optional bytes net_message = 2; } message CMsgGCUpdateSubGCSessionInfo { message CMsgUpdate { optional fixed64 steamid = 1; optional fixed32 ip = 2; optional bool trusted = 3; } repeated CMsgGCUpdateSubGCSessionInfo.CMsgUpdate updates = 1; } message CMsgGCRequestSubGCSessionInfo { optional fixed64 steamid = 1; } 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 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]; } message CMsgClientWelcome { message Location { optional float latitude = 1; optional float longitude = 2; optional string country = 3; } optional uint32 version = 1; optional bytes game_data = 2; repeated CMsgSOCacheSubscribed outofdate_subscribed_caches = 3; repeated CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4; optional CMsgClientWelcome.Location location = 5; optional bytes save_game_key = 6; optional fixed32 item_schema_crc = 7; optional string items_game_url = 8; optional uint32 gc_socache_file_version = 9; } message CMsgConnectionStatus { optional GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION]; optional uint32 client_session_need = 2; optional int32 queue_position = 3; optional int32 queue_size = 4; optional int32 wait_seconds = 5; 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 CMsgGCToGCLoadSessionSOCache { optional uint32 account_id = 1; } message CMsgGCToGCLoadSessionSOCacheResponse { } message CMsgGCToGCUpdateSessionStats { optional uint32 user_sessions = 1; optional uint32 server_sessions = 2; optional bool in_logon_surge = 3; } message CWorkshop_PopulateItemDescriptions_Request { message SingleItemDescription { optional uint32 gameitemid = 1; optional string item_description = 2; } message ItemDescriptionsLanguageBlock { optional string language = 1; repeated CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2; } optional uint32 appid = 1; repeated CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2; } message CWorkshop_GetContributors_Request { optional uint32 appid = 1; optional uint32 gameitemid = 2; } message CWorkshop_GetContributors_Response { repeated fixed64 contributors = 1; } message CWorkshop_SetItemPaymentRules_Request { message WorkshopItemPaymentRule { optional uint64 workshop_file_id = 1; optional float revenue_percentage = 2; optional string rule_description = 3; } message PartnerItemPaymentRule { optional uint32 account_id = 1; optional float revenue_percentage = 2; optional string rule_description = 3; } optional uint32 appid = 1; optional uint32 gameitemid = 2; repeated CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3; repeated CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4; } message CWorkshop_SetItemPaymentRules_Response { } message CBroadcast_PostGameDataFrame_Request { optional uint32 appid = 1; optional fixed64 steamid = 2; optional fixed64 broadcast_id = 3; optional bytes frame_data = 4; } message CMsgSerializedSOCache { message TypeCache { optional uint32 type = 1; repeated bytes objects = 2; optional uint32 service_id = 3; } message Cache { message Version { optional uint32 service = 1; optional uint64 version = 2; } optional uint32 type = 1; optional uint64 id = 2; repeated CMsgSerializedSOCache.Cache.Version versions = 3; repeated CMsgSerializedSOCache.TypeCache type_caches = 4; } optional uint32 file_version = 1; 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; }