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