import "steammessages.proto"; option optimize_for = SPEED; option cc_generic_services = false; enum PartnerAccountType { PARTNER_NONE = 0; PARTNER_PERFECT_WORLD = 1; PARTNER_NEXON = 2; } 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; } message CMsgSOIDOwner { optional uint32 type = 1; optional uint64 id = 2; } message CMsgSOSingleObject { optional fixed64 owner = 1; 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 { optional int32 type_id = 1; optional bytes object_data = 2; } optional fixed64 owner = 1; repeated .CMsgSOMultipleObjects.SingleObject objects = 2; optional fixed64 version = 3; optional .CMsgSOIDOwner owner_soid = 6; optional uint32 service_id = 7; } message CMsgSOCacheSubscribed { message SubscribedType { optional int32 type_id = 1; repeated bytes object_data = 2; } optional fixed64 owner = 1; 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 fixed64 owner = 1; } message CMsgSOCacheSubscriptionCheck { optional fixed64 owner = 1; 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 fixed64 owner = 1; 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 { optional uint32 dir_index = 1; optional string machine_name = 3; optional string process_name = 4; repeated uint32 type_instances = 5; } message CGCToGCMsgMasterAck_Response { optional int32 eresult = 1 [default = 2]; } 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; } message CMsgGCToGCIncrementRecruitmentLevel { optional fixed64 steamid = 1; } message CMsgSOCacheHaveVersion { optional .CMsgSOIDOwner soid = 1; optional fixed64 version = 2; optional uint32 service_id = 3; } 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 = 2; optional fixed64 sync_version = 3; repeated .CMsgGCToGCSOCacheSubscribe.CMsgHaveVersions have_versions = 4; } message CMsgGCToGCSOCacheUnsubscribe { optional fixed64 subscriber = 1; optional fixed64 unsubscribe_from = 2; } message CMsgGCClientPing { }