Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion protobuf_list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/e
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_base.proto
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_clientserver.proto
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_clientserver_2.proto
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_clientserver_login.proto
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_clientserver_friends.proto
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_clientserver_login.proto
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_broadcast.steamclient.proto
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_chat.steamclient.proto
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_cloud.steamclient.proto
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_credentials.steamclient.proto
https://raw.githubusercontent.com/SteamDatabase/SteamTracking/master/Protobufs/steammessages_datapublisher.steamclient.proto
Expand Down
15 changes: 15 additions & 0 deletions protobufs/content_manifest.proto
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,18 @@ message ContentManifestSignature {
optional bytes signature = 1;
}

message ContentDeltaChunks {
message DeltaChunk {
optional bytes sha_source = 1;
optional bytes sha_target = 2;
optional uint32 size_original = 3;
optional uint32 patch_method = 4;
optional bytes chunk = 5;
}

optional uint32 depot_id = 1;
optional uint64 manifest_id_source = 2;
optional uint64 manifest_id_target = 3;
repeated .ContentDeltaChunks.DeltaChunk deltaChunks = 4;
}

6 changes: 6 additions & 0 deletions protobufs/steammessages_base.proto
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ message CMsgProtoBufHeader {
optional uint32 webapi_key_id = 25;
optional bool is_from_external_source = 26;
repeated uint32 forward_to_sysid = 27;
optional uint32 cm_sysid = 28;
}

message CMsgMulti {
Expand Down Expand Up @@ -110,3 +111,8 @@ message CCuratorPreferences {
optional bool show_broadcast = 14;
}

message CLocalizationToken {
optional uint32 language = 1;
optional string localized_string = 2;
}

45 changes: 43 additions & 2 deletions protobufs/steammessages_broadcast.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@ import "steammessages_unified_base.proto";

option py_generic_services = true;

enum EBroadcastWatchLocation {
k_EBroadcastWatchLocation_Invalid = 0;
k_EBroadcastWatchLocation_SteamTV_Tab = 1;
k_EBroadcastWatchLocation_SteamTV_WatchParty = 2;
k_EBroadcastWatchLocation_Chat_Tab = 3;
k_EBroadcastWatchLocation_Chat_WatchParty = 4;
k_EBroadcastWatchLocation_CommunityPage = 5;
k_EBroadcastWatchLocation_StoreAppPage = 6;
k_EBroadcastWatchLocation_InGame = 7;
}

message CBroadcast_BeginBroadcastSession_Request {
optional int32 permission = 1;
optional uint64 gameid = 2;
Expand All @@ -18,6 +29,7 @@ message CBroadcast_BeginBroadcastSession_Response {
optional string thumbnail_upload_address = 2 [(description) = "Http address to upload the thumbnail data."];
optional string thumbnail_upload_token = 3 [(description) = "token to authorize as broadcaster to upload content to the relay."];
optional uint32 thumbnail_interval_seconds = 4 [(description) = "how many seconds between thumbnails"];
optional uint32 heartbeat_interval_seconds = 5 [(description) = "how many seconds between session heartbeats"];
}

message CBroadcast_EndBroadcastSession_Request {
Expand All @@ -32,6 +44,7 @@ message CBroadcast_StartBroadcastUpload_Request {
optional uint32 cellid = 2;
optional bool as_rtmp = 3;
optional uint32 delay_seconds = 4;
optional uint64 rtmp_token = 5 [default = 0, (description) = "Only set during RTMP uploads; secret key from the user."];
}

message CBroadcast_StartBroadcastUpload_Response {
Expand All @@ -53,6 +66,7 @@ message CBroadcast_WatchBroadcast_Request {
optional fixed64 viewer_token = 3 [(description) = "viewer token received from last WatchRequest call, from browser storage."];
optional uint32 client_ip = 4;
optional uint32 client_cell = 5;
optional .EBroadcastWatchLocation watch_location = 6 [default = k_EBroadcastWatchLocation_Invalid];
}

message CBroadcast_WatchBroadcast_Response {
Expand Down Expand Up @@ -82,11 +96,26 @@ message CBroadcast_WatchBroadcast_Response {
optional int32 seconds_delay = 9;
optional fixed64 viewer_token = 10;
optional string hls_m3u8_master_url = 11;
optional int32 heartbeat_interval = 12;
optional string thumbnail_url = 13;
}

message CBroadcast_HeartbeatBroadcast_Notification {
optional fixed64 steamid = 1 [(description) = "broadcaster steamID."];
optional fixed64 broadcast_id = 2 [(description) = "broadcast session ID."];
optional fixed64 viewer_token = 3 [(description) = "viewer token received from last WatchRequest call, from browser storage."];
optional uint32 representation = 4 [(description) = "video stream representation watching"];
}

message CBroadcast_StopWatchingBroadcast_Notification {
optional fixed64 steamid = 1 [(description) = "broadcaster steamID."];
optional fixed64 broadcast_id = 2 [(description) = "broadcast session ID."];
optional fixed64 viewer_token = 3 [(description) = "viewer token received from last WatchRequest call, from browser storage."];
}

message CBroadcast_GetBroadcastStatus_Request {
optional fixed64 steamid = 1;
optional fixed64 broadcast_id = 2;
optional fixed64 steamid = 1 [(description) = "broadcaster steamID."];
optional fixed64 broadcast_id = 2 [(description) = "broadcast session ID to proof that user is allowed to see details."];
}

message CBroadcast_GetBroadcastStatus_Response {
Expand All @@ -97,6 +126,10 @@ message CBroadcast_GetBroadcastStatus_Response {
optional bool is_rtmp = 5;
optional int32 seconds_delay = 6;
optional bool is_publisher = 7;
optional string thumbnail_url = 8;
optional int32 update_interval = 9;
optional bool is_uploading = 10;
optional uint32 duration = 11;
}

message CBroadcast_GetBroadcastThumbnail_Request {
Expand All @@ -107,6 +140,7 @@ message CBroadcast_GetBroadcastThumbnail_Request {
message CBroadcast_GetBroadcastThumbnail_Response {
optional string thumbnail_url = 1;
optional int32 update_interval = 2;
optional int32 num_viewers = 3;
}

message CBroadcast_InviteToBroadcast_Request {
Expand Down Expand Up @@ -155,6 +189,7 @@ message CBroadcast_PostChatMessage_Response {
optional string persona_name = 1;
optional bool in_game = 2;
optional int32 result = 3;
optional int32 cooldown_time_seconds = 4;
}

message CBroadcast_MuteBroadcastChatUser_Request {
Expand Down Expand Up @@ -248,6 +283,12 @@ service Broadcast {
rpc WatchBroadcast (.CBroadcast_WatchBroadcast_Request) returns (.CBroadcast_WatchBroadcast_Response) {
option (method_description) = "Request from viewer to watch a broadcast";
}
rpc HeartbeatBroadcast (.CBroadcast_HeartbeatBroadcast_Notification) returns (.NoResponse) {
option (method_description) = "Notify directory that user is still watching.";
}
rpc StopWatchingBroadcast (.CBroadcast_StopWatchingBroadcast_Notification) returns (.NoResponse) {
option (method_description) = "Request to immediately stop watching a broadcast. Optional Method, if not called, viewer will time out.";
}
rpc GetBroadcastStatus (.CBroadcast_GetBroadcastStatus_Request) returns (.CBroadcast_GetBroadcastStatus_Response) {
option (method_description) = "Request from viewer about broadcast details";
}
Expand Down
Loading