steamutils 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/SteamClient.js +5 -0
  2. package/package.json +1 -1
  3. package/protos/base_gcmessages.proto +533 -0
  4. package/protos/clientmetrics.proto +45 -0
  5. package/protos/content_manifest.proto +62 -0
  6. package/protos/cstrike15_gcmessages.proto +1344 -0
  7. package/protos/cstrike15_usermessages.proto +597 -0
  8. package/protos/econ_gcmessages.proto +225 -0
  9. package/protos/encrypted_app_ticket.proto +10 -0
  10. package/protos/engine_gcmessages.proto +16 -0
  11. package/protos/enums.proto +285 -0
  12. package/protos/enums_clientserver.proto +1534 -0
  13. package/protos/fatdemo.proto +125 -0
  14. package/protos/gcsdk_gcmessages.proto +302 -0
  15. package/protos/gcsystemmsgs.proto +246 -0
  16. package/protos/htmlmessages.proto +993 -0
  17. package/protos/netmessages.proto +491 -0
  18. package/protos/network_connection.proto +70 -0
  19. package/protos/renderer/rendermessages.proto +893 -0
  20. package/protos/steamdatagram_messages.proto +205 -0
  21. package/protos/steamdatagram_messages_auth.proto +65 -0
  22. package/protos/steamdatagram_messages_sdr.proto +518 -0
  23. package/protos/steammessages.proto +601 -0
  24. package/protos/steammessages_accounthardware.steamclient.proto +188 -0
  25. package/protos/steammessages_appoverview.proto +185 -0
  26. package/protos/steammessages_auth.steamclient.proto +192 -0
  27. package/protos/steammessages_base.proto +288 -0
  28. package/protos/steammessages_broadcast.steamclient.proto +756 -0
  29. package/protos/steammessages_chat.steamclient.proto +1281 -0
  30. package/protos/steammessages_client_objects.proto +336 -0
  31. package/protos/steammessages_clientlanp2p.proto +26 -0
  32. package/protos/steammessages_clientmetrics.steamclient.proto +176 -0
  33. package/protos/steammessages_clientnotificationtypes.proto +129 -0
  34. package/protos/steammessages_clientserver.proto +384 -0
  35. package/protos/steammessages_clientserver_2.proto +776 -0
  36. package/protos/steammessages_clientserver_appinfo.proto +166 -0
  37. package/protos/steammessages_clientserver_friends.proto +260 -0
  38. package/protos/steammessages_clientserver_gameservers.proto +159 -0
  39. package/protos/steammessages_clientserver_lbs.proto +70 -0
  40. package/protos/steammessages_clientserver_login.proto +159 -0
  41. package/protos/steammessages_clientserver_mms.proto +235 -0
  42. package/protos/steammessages_clientserver_ucm.proto +202 -0
  43. package/protos/steammessages_clientserver_uds.proto +104 -0
  44. package/protos/steammessages_clientserver_ufs.proto +172 -0
  45. package/protos/steammessages_clientserver_userstats.proto +80 -0
  46. package/protos/steammessages_cloud.steamclient.proto +512 -0
  47. package/protos/steammessages_contentsystem.steamclient.proto +77 -0
  48. package/protos/steammessages_credentials.steamclient.proto +141 -0
  49. package/protos/steammessages_datapublisher.steamclient.proto +67 -0
  50. package/protos/steammessages_depotbuilder.steamclient.proto +118 -0
  51. package/protos/steammessages_deviceauth.steamclient.proto +200 -0
  52. package/protos/steammessages_econ.steamclient.proto +105 -0
  53. package/protos/steammessages_friendmessages.steamclient.proto +168 -0
  54. package/protos/steammessages_gamenetworking.steamclient.proto +32 -0
  55. package/protos/steammessages_gamenetworkingui.proto +42 -0
  56. package/protos/steammessages_gamenotifications.steamclient.proto +156 -0
  57. package/protos/steammessages_gameservers.steamclient.proto +152 -0
  58. package/protos/steammessages_hiddevices.proto +156 -0
  59. package/protos/steammessages_inventory.steamclient.proto +224 -0
  60. package/protos/steammessages_linkfilter.steamclient.proto +49 -0
  61. package/protos/steammessages_lobbymatchmaking.steamclient.proto +33 -0
  62. package/protos/steammessages_market.steamclient.proto +26 -0
  63. package/protos/steammessages_offline.steamclient.proto +37 -0
  64. package/protos/steammessages_parental.steamclient.proto +186 -0
  65. package/protos/steammessages_parties.steamclient.proto +94 -0
  66. package/protos/steammessages_partnerapps.steamclient.proto +136 -0
  67. package/protos/steammessages_player.steamclient.proto +912 -0
  68. package/protos/steammessages_publishedfile.steamclient.proto +711 -0
  69. package/protos/steammessages_qms.steamclient.proto +125 -0
  70. package/protos/steammessages_remoteclient.proto +99 -0
  71. package/protos/steammessages_remoteclient_discovery.proto +228 -0
  72. package/protos/steammessages_remoteclient_service.steamclient.proto +90 -0
  73. package/protos/steammessages_remoteclient_service_messages.proto +196 -0
  74. package/protos/steammessages_remoteplay.proto +871 -0
  75. package/protos/steammessages_secrets.steamclient.proto +39 -0
  76. package/protos/steammessages_shader.steamclient.proto +96 -0
  77. package/protos/steammessages_site_license.steamclient.proto +128 -0
  78. package/protos/steammessages_sitelicenseclient.proto +38 -0
  79. package/protos/steammessages_siteserverui.proto +130 -0
  80. package/protos/steammessages_star.steamclient.proto +64 -0
  81. package/protos/steammessages_steamtv.steamclient.proto +630 -0
  82. package/protos/steammessages_store.steamclient.proto +262 -0
  83. package/protos/steammessages_timedtrial.steamclient.proto +50 -0
  84. package/protos/steammessages_twofactor.steamclient.proto +154 -0
  85. package/protos/steammessages_unified_base.steamclient.proto +33 -0
  86. package/protos/steammessages_unified_test.steamclient.proto +50 -0
  87. package/protos/steammessages_useraccount.steamclient.proto +210 -0
  88. package/protos/steammessages_vac.steamclient.proto +44 -0
  89. package/protos/steammessages_video.steamclient.proto +84 -0
  90. package/protos/steammessages_virtualcontroller.proto +138 -0
  91. package/protos/steammessages_workshop.steamclient.proto +23 -0
  92. package/protos/steamnetworkingsockets_messages.proto +204 -0
  93. package/protos/steamnetworkingsockets_messages_certs.proto +38 -0
  94. package/protos/steamnetworkingsockets_messages_udp.proto +75 -0
  95. package/protos/uifontfile_format.proto +16 -0
@@ -0,0 +1,125 @@
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+
4
+ option cc_generic_services = true;
5
+
6
+ enum EGameSearchAction {
7
+ k_EGameSearchAction_None = 0;
8
+ k_EGameSearchAction_Accept = 1;
9
+ k_EGameSearchAction_Decline = 2;
10
+ k_EGameSearchAction_Cancel = 3;
11
+ }
12
+
13
+ enum EGameSearchResult {
14
+ k_EGameSearchResult_Invalid = 0;
15
+ k_EGameSearchResult_SearchInProgress = 1;
16
+ k_EGameSearchResult_SearchFailedNoHosts = 2;
17
+ k_EGameSearchResult_SearchGameFound = 3;
18
+ k_EGameSearchResult_SearchCompleteAccepted = 4;
19
+ k_EGameSearchResult_SearchCompleteDeclined = 5;
20
+ k_EGameSearchResult_SearchCanceled = 6;
21
+ }
22
+
23
+ message GameSearchParam {
24
+ optional string key_name = 1;
25
+ repeated string value = 2;
26
+ }
27
+
28
+ message CQueuedMatchmaking_SearchForGame_Request {
29
+ optional uint32 appid = 1;
30
+ optional .EGameSearchAction action = 2 [default = k_EGameSearchAction_None];
31
+ repeated .GameSearchParam params = 3;
32
+ optional uint32 player_min = 4;
33
+ optional uint32 player_max = 5;
34
+ optional fixed64 steamidlobby = 6;
35
+ optional uint64 searchid = 7;
36
+ }
37
+
38
+ message CQueuedMatchmaking_SearchForGame_Response {
39
+ optional .EGameSearchResult gamesearchresult = 1 [default = k_EGameSearchResult_Invalid];
40
+ optional uint64 searchid = 2;
41
+ optional uint32 seconds_time_estimate = 3;
42
+ optional uint32 poll_frequency = 4;
43
+ optional uint32 count_searching = 5;
44
+ optional uint32 players_in_match = 6;
45
+ optional uint32 players_accepted = 7;
46
+ optional string connect_string = 9;
47
+ optional fixed64 steamidhost = 10;
48
+ optional uint32 rtime_match_made = 11;
49
+ optional uint32 rtime_now = 12;
50
+ optional fixed64 steamid_canceled_search = 13;
51
+ }
52
+
53
+ message CQueuedMatchmakingGameHost_SearchForPlayers_Request {
54
+ optional uint32 appid = 1;
55
+ optional .EGameSearchAction action = 2 [default = k_EGameSearchAction_None];
56
+ repeated .GameSearchParam params = 3;
57
+ optional uint32 player_min = 4;
58
+ optional uint32 player_max = 5;
59
+ optional uint32 player_max_team_size = 6;
60
+ optional string connection_string = 7;
61
+ optional uint64 searchid = 8;
62
+ }
63
+
64
+ message PlayerFound {
65
+ optional fixed64 steamid = 1;
66
+ optional .EGameSearchAction action = 2 [default = k_EGameSearchAction_None];
67
+ repeated .GameSearchParam params = 3;
68
+ optional uint32 team_number = 4;
69
+ }
70
+
71
+ message CQueuedMatchmakingGameHost_SearchForPlayers_Response {
72
+ optional .EGameSearchResult gamesearchresult = 1 [default = k_EGameSearchResult_Invalid];
73
+ optional uint64 searchid = 2;
74
+ optional uint32 poll_frequency = 3;
75
+ optional uint64 matchid = 4;
76
+ repeated .PlayerFound players = 5;
77
+ optional uint32 rtime_match_made = 6;
78
+ optional uint32 rtime_now = 7;
79
+ }
80
+
81
+ message PlayerResult {
82
+ optional fixed64 steamid = 1;
83
+ optional uint32 value = 2;
84
+ }
85
+
86
+ message CQueuedMatchmakingGameHost_SubmitPlayerResult_Request {
87
+ optional uint32 appid = 1;
88
+ optional uint64 matchid = 2;
89
+ repeated .PlayerResult player_results = 3;
90
+ }
91
+
92
+ message CQueuedMatchmakingGameHost_SubmitPlayerResult_Response {
93
+ }
94
+
95
+ message CQueuedMatchmakingGameHost_EndGame_Request {
96
+ optional uint32 appid = 1;
97
+ optional uint64 matchid = 2;
98
+ }
99
+
100
+ message CQueuedMatchmakingGameHost_EndGame_Response {
101
+ }
102
+
103
+ service QueuedMatchmaking {
104
+ option (service_description) = "Queued matchmaking service";
105
+
106
+ rpc SearchForGame (.CQueuedMatchmaking_SearchForGame_Request) returns (.CQueuedMatchmaking_SearchForGame_Response) {
107
+ option (method_description) = "Search for a game";
108
+ }
109
+ }
110
+
111
+ service QueuedMatchmakingGameHost {
112
+ option (service_description) = "Queued matchmaking host service";
113
+
114
+ rpc SearchForPlayers (.CQueuedMatchmakingGameHost_SearchForPlayers_Request) returns (.CQueuedMatchmakingGameHost_SearchForPlayers_Response) {
115
+ option (method_description) = "SearchForPlayers";
116
+ }
117
+
118
+ rpc SubmitPlayerResult (.CQueuedMatchmakingGameHost_SubmitPlayerResult_Request) returns (.CQueuedMatchmakingGameHost_SubmitPlayerResult_Response) {
119
+ option (method_description) = "SubmitPlayerResult";
120
+ }
121
+
122
+ rpc EndGame (.CQueuedMatchmakingGameHost_EndGame_Request) returns (.CQueuedMatchmakingGameHost_EndGame_Response) {
123
+ option (method_description) = "EndGame";
124
+ }
125
+ }
@@ -0,0 +1,99 @@
1
+ import "steammessages_base.proto";
2
+ import "steammessages_remoteclient_discovery.proto";
3
+
4
+ option optimize_for = SPEED;
5
+ option cc_generic_services = false;
6
+
7
+ message CMsgRemoteClientStatus {
8
+ optional uint64 client_id = 1;
9
+ optional uint64 instance_id = 2;
10
+ optional .CMsgRemoteClientBroadcastStatus status = 3;
11
+ }
12
+
13
+ message CMsgRemoteClientAppStatus {
14
+ message AppUpdateInfo {
15
+ optional fixed32 time_update_start = 1;
16
+ optional uint64 bytes_to_download = 2;
17
+ optional uint64 bytes_downloaded = 3;
18
+ optional uint64 bytes_to_process = 4;
19
+ optional uint64 bytes_processed = 5;
20
+ optional int32 estimated_seconds_remaining = 6 [default = -1];
21
+ optional int32 update_result = 7;
22
+ optional uint32 update_state = 8;
23
+ }
24
+
25
+ message ShortcutInfo {
26
+ optional string name = 1;
27
+ optional string icon = 2;
28
+ repeated string categories = 3;
29
+ optional string exepath = 4;
30
+ }
31
+
32
+ message AppStatus {
33
+ optional uint32 app_id = 1;
34
+ optional uint32 app_state = 2;
35
+ optional .CMsgRemoteClientAppStatus.AppUpdateInfo update_info = 3;
36
+ optional .CMsgRemoteClientAppStatus.ShortcutInfo shortcut_info = 4;
37
+ optional bool launch_available = 5 [default = true];
38
+ }
39
+
40
+ repeated .CMsgRemoteClientAppStatus.AppStatus status_updates = 1;
41
+ }
42
+
43
+ message CMsgRemoteClientStartStream {
44
+ message ReservedGamepad {
45
+ optional uint32 controller_type = 1;
46
+ optional uint32 controller_subtype = 2;
47
+ }
48
+
49
+ optional uint32 app_id = 1;
50
+ optional int32 environment = 2;
51
+ optional int32 gamepad_count = 3;
52
+ optional int32 launch_option = 4 [default = -1];
53
+ optional bool lock_parental_lock = 5 [default = false];
54
+ optional string unlock_parental_lock = 6;
55
+ optional int32 maximum_resolution_x = 7;
56
+ optional int32 maximum_resolution_y = 8;
57
+ repeated .CMsgRemoteClientStartStream.ReservedGamepad gamepads = 9;
58
+ optional int32 audio_channel_count = 10 [default = 2];
59
+ repeated .EStreamTransport supported_transport = 11;
60
+ }
61
+
62
+ message CMsgRemoteClientStartStreamResponse {
63
+ optional int32 e_launch_result = 1 [default = 2];
64
+ optional uint32 stream_port = 2;
65
+ repeated int32 launch_options = 3;
66
+ optional bytes auth_token = 4;
67
+ optional .EStreamTransport transport = 5 [default = k_EStreamTransportUDP];
68
+ optional string relay_server = 6;
69
+ optional string launch_task = 7;
70
+ optional string launch_task_detail = 8;
71
+ optional int32 launch_tasks_done = 9;
72
+ optional int32 launch_tasks_total = 10;
73
+ }
74
+
75
+ message CMsgRemoteClientPing {
76
+ }
77
+
78
+ message CMsgRemoteClientPingResponse {
79
+ }
80
+
81
+ message CMsgRemoteClientAcceptEULA {
82
+ repeated uint32 app_id = 1;
83
+ repeated string eula_id = 2;
84
+ repeated uint32 eula_version = 3;
85
+ }
86
+
87
+ message CMsgRemoteClientGetControllerConfig {
88
+ optional uint32 app_id = 1;
89
+ optional uint32 controller_index = 3;
90
+ }
91
+
92
+ message CMsgRemoteClientGetControllerConfigResponse {
93
+ optional int32 eresult = 1 [default = 2];
94
+ optional bytes config_vdf = 2;
95
+ }
96
+
97
+ message CMsgRemoteClientStreamingEnabled {
98
+ required bool enabled = 1;
99
+ }
@@ -0,0 +1,228 @@
1
+ option optimize_for = SPEED;
2
+
3
+ enum ERemoteClientBroadcastMsg {
4
+ k_ERemoteClientBroadcastMsgDiscovery = 0;
5
+ k_ERemoteClientBroadcastMsgStatus = 1;
6
+ k_ERemoteClientBroadcastMsgOffline = 2;
7
+ k_ERemoteDeviceAuthorizationRequest = 3;
8
+ k_ERemoteDeviceAuthorizationResponse = 4;
9
+ k_ERemoteDeviceStreamingRequest = 5;
10
+ k_ERemoteDeviceStreamingResponse = 6;
11
+ k_ERemoteDeviceProofRequest = 7;
12
+ k_ERemoteDeviceProofResponse = 8;
13
+ k_ERemoteDeviceAuthorizationCancelRequest = 9;
14
+ k_ERemoteDeviceStreamingCancelRequest = 10;
15
+ k_ERemoteClientBroadcastMsgClientIDDeconflict = 11;
16
+ k_ERemoteDeviceStreamTransportSignal = 12;
17
+ k_ERemoteDeviceStreamingProgress = 13;
18
+ k_ERemoteDeviceAuthorizationConfirmed = 14;
19
+ }
20
+
21
+ enum ERemoteClientService {
22
+ k_ERemoteClientServiceNone = 0;
23
+ k_ERemoteClientServiceRemoteControl = 1;
24
+ k_ERemoteClientServiceGameStreaming = 2;
25
+ k_ERemoteClientServiceSiteLicense = 4;
26
+ k_ERemoteClientServiceContentCache = 8;
27
+ }
28
+
29
+ enum ERemoteDeviceAuthorizationResult {
30
+ k_ERemoteDeviceAuthorizationSuccess = 0;
31
+ k_ERemoteDeviceAuthorizationDenied = 1;
32
+ k_ERemoteDeviceAuthorizationNotLoggedIn = 2;
33
+ k_ERemoteDeviceAuthorizationOffline = 3;
34
+ k_ERemoteDeviceAuthorizationBusy = 4;
35
+ k_ERemoteDeviceAuthorizationInProgress = 5;
36
+ k_ERemoteDeviceAuthorizationTimedOut = 6;
37
+ k_ERemoteDeviceAuthorizationFailed = 7;
38
+ k_ERemoteDeviceAuthorizationCanceled = 8;
39
+ }
40
+
41
+ enum EStreamDeviceFormFactor {
42
+ k_EStreamDeviceFormFactorUnknown = 0;
43
+ k_EStreamDeviceFormFactorPhone = 1;
44
+ k_EStreamDeviceFormFactorTablet = 2;
45
+ k_EStreamDeviceFormFactorComputer = 3;
46
+ k_EStreamDeviceFormFactorTV = 4;
47
+ }
48
+
49
+ enum EStreamTransport {
50
+ k_EStreamTransportNone = 0;
51
+ k_EStreamTransportUDP = 1;
52
+ k_EStreamTransportUDPRelay = 2;
53
+ k_EStreamTransportWebRTC = 3;
54
+ k_EStreamTransportSDR = 4;
55
+ k_EStreamTransportUDP_SNS = 5;
56
+ k_EStreamTransportUDPRelay_SNS = 6;
57
+ }
58
+
59
+ enum EStreamInterface {
60
+ k_EStreamInterfaceDefault = 0;
61
+ k_EStreamInterfaceRecentGames = 1;
62
+ k_EStreamInterfaceBigPicture = 2;
63
+ k_EStreamInterfaceDesktop = 3;
64
+ }
65
+
66
+ enum ERemoteDeviceStreamingResult {
67
+ k_ERemoteDeviceStreamingSuccess = 0;
68
+ k_ERemoteDeviceStreamingUnauthorized = 1;
69
+ k_ERemoteDeviceStreamingScreenLocked = 2;
70
+ k_ERemoteDeviceStreamingFailed = 3;
71
+ k_ERemoteDeviceStreamingBusy = 4;
72
+ k_ERemoteDeviceStreamingInProgress = 5;
73
+ k_ERemoteDeviceStreamingCanceled = 6;
74
+ k_ERemoteDeviceStreamingDriversNotInstalled = 7;
75
+ k_ERemoteDeviceStreamingDisabled = 8;
76
+ k_ERemoteDeviceStreamingBroadcastingActive = 9;
77
+ k_ERemoteDeviceStreamingVRActive = 10;
78
+ k_ERemoteDeviceStreamingPINRequired = 11;
79
+ k_ERemoteDeviceStreamingTransportUnavailable = 12;
80
+ k_ERemoteDeviceStreamingInvisible = 13;
81
+ k_ERemoteDeviceStreamingGameLaunchFailed = 14;
82
+ }
83
+
84
+ message CMsgRemoteClientBroadcastHeader {
85
+ optional uint64 client_id = 1;
86
+ optional .ERemoteClientBroadcastMsg msg_type = 2 [default = k_ERemoteClientBroadcastMsgDiscovery];
87
+ optional uint64 instance_id = 3;
88
+ optional uint64 device_id = 4;
89
+ optional bytes device_token = 5;
90
+ }
91
+
92
+ message CMsgRemoteClientBroadcastStatus {
93
+ message User {
94
+ optional fixed64 steamid = 1;
95
+ optional uint32 auth_key_id = 2;
96
+ }
97
+
98
+ optional int32 version = 1;
99
+ optional int32 min_version = 2;
100
+ optional uint32 connect_port = 3;
101
+ optional string hostname = 4;
102
+ optional uint32 enabled_services = 6;
103
+ optional int32 ostype = 7 [default = 0];
104
+ optional bool is64bit = 8;
105
+ repeated .CMsgRemoteClientBroadcastStatus.User users = 9;
106
+ optional int32 euniverse = 11;
107
+ optional uint32 timestamp = 12;
108
+ optional bool screen_locked = 13;
109
+ optional bool games_running = 14;
110
+ repeated string mac_addresses = 15;
111
+ optional uint32 download_lan_peer_group = 16;
112
+ optional bool broadcasting_active = 17;
113
+ optional bool vr_active = 18;
114
+ optional uint32 content_cache_port = 19;
115
+ repeated string ip_addresses = 20;
116
+ optional string public_ip_address = 21;
117
+ optional bool remoteplay_active = 22;
118
+ optional uint32 supported_services = 23;
119
+ optional bool steam_deck = 24;
120
+ }
121
+
122
+ message CMsgRemoteClientBroadcastDiscovery {
123
+ optional uint32 seq_num = 1;
124
+ repeated uint64 client_ids = 2;
125
+ }
126
+
127
+ message CMsgRemoteClientBroadcastClientIDDeconflict {
128
+ repeated uint64 client_ids = 2;
129
+ }
130
+
131
+ message CMsgRemoteDeviceAuthorizationRequest {
132
+ message CKeyEscrow_Ticket {
133
+ optional bytes password = 1;
134
+ optional uint64 identifier = 2;
135
+ optional bytes payload = 3;
136
+ optional uint32 timestamp = 4;
137
+ optional .CMsgRemoteDeviceAuthorizationRequest.EKeyEscrowUsage usage = 5 [default = k_EKeyEscrowUsageStreamingDevice];
138
+ optional string device_name = 6;
139
+ optional string device_model = 7;
140
+ optional string device_serial = 8;
141
+ optional uint32 device_provisioning_id = 9;
142
+ }
143
+
144
+ enum EKeyEscrowUsage {
145
+ k_EKeyEscrowUsageStreamingDevice = 0;
146
+ }
147
+
148
+ required bytes device_token = 1;
149
+ optional string device_name = 2;
150
+ required bytes encrypted_request = 3;
151
+ optional bytes auth_key = 4;
152
+ }
153
+
154
+ message CMsgRemoteDeviceAuthorizationCancelRequest {
155
+ }
156
+
157
+ message CMsgRemoteDeviceAuthorizationResponse {
158
+ required .ERemoteDeviceAuthorizationResult result = 1 [default = k_ERemoteDeviceAuthorizationSuccess];
159
+ optional fixed64 steamid = 2;
160
+ optional bytes auth_key = 3;
161
+ optional bytes device_token = 4;
162
+ }
163
+
164
+ message CMsgRemoteDeviceAuthorizationConfirmed {
165
+ required .ERemoteDeviceAuthorizationResult result = 1 [default = k_ERemoteDeviceAuthorizationSuccess];
166
+ }
167
+
168
+ message CMsgRemoteDeviceStreamingRequest {
169
+ message ReservedGamepad {
170
+ optional uint32 controller_type = 1;
171
+ optional uint32 controller_subtype = 2;
172
+ }
173
+
174
+ required uint32 request_id = 1;
175
+ optional int32 maximum_resolution_x = 2;
176
+ optional int32 maximum_resolution_y = 3;
177
+ optional int32 audio_channel_count = 4 [default = 2];
178
+ optional string device_version = 5;
179
+ optional bool stream_desktop = 6;
180
+ optional bytes device_token = 7;
181
+ optional bytes pin = 8;
182
+ optional bool enable_video_streaming = 9 [default = true];
183
+ optional bool enable_audio_streaming = 10 [default = true];
184
+ optional bool enable_input_streaming = 11 [default = true];
185
+ optional bool network_test = 12;
186
+ optional uint64 client_id = 13;
187
+ repeated .EStreamTransport supported_transport = 14;
188
+ optional bool restricted = 15;
189
+ optional .EStreamDeviceFormFactor form_factor = 16 [default = k_EStreamDeviceFormFactorUnknown];
190
+ optional int32 gamepad_count = 17;
191
+ repeated .CMsgRemoteDeviceStreamingRequest.ReservedGamepad gamepads = 18;
192
+ optional uint64 gameid = 19;
193
+ optional .EStreamInterface stream_interface = 20 [default = k_EStreamInterfaceDefault];
194
+ }
195
+
196
+ message CMsgRemoteDeviceStreamingCancelRequest {
197
+ required uint32 request_id = 1;
198
+ }
199
+
200
+ message CMsgRemoteDeviceStreamingProgress {
201
+ required uint32 request_id = 1;
202
+ optional float progress = 2;
203
+ }
204
+
205
+ message CMsgRemoteDeviceStreamingResponse {
206
+ required uint32 request_id = 1;
207
+ required .ERemoteDeviceStreamingResult result = 2 [default = k_ERemoteDeviceStreamingSuccess];
208
+ optional uint32 port = 3;
209
+ optional bytes encrypted_session_key = 4;
210
+ optional .EStreamTransport transport = 6 [default = k_EStreamTransportUDP];
211
+ optional string relay_server = 7;
212
+ optional string cert = 8;
213
+ }
214
+
215
+ message CMsgRemoteDeviceProofRequest {
216
+ required bytes challenge = 1;
217
+ optional uint32 request_id = 2;
218
+ }
219
+
220
+ message CMsgRemoteDeviceProofResponse {
221
+ required bytes response = 1;
222
+ optional uint32 request_id = 2;
223
+ }
224
+
225
+ message CMsgRemoteDeviceStreamTransportSignal {
226
+ optional bytes token = 1;
227
+ optional bytes payload = 2;
228
+ }
@@ -0,0 +1,90 @@
1
+ import "steammessages_base.proto";
2
+ import "steammessages_unified_base.steamclient.proto";
3
+ import "steammessages_remoteclient_service_messages.proto";
4
+
5
+ option cc_generic_services = true;
6
+
7
+ service RemoteClient {
8
+ option (service_description) = "Methods for Steam remote client operations";
9
+
10
+ rpc GetPairingInfo (.CRemoteClient_GetPairingInfo_Request) returns (.CRemoteClient_GetPairingInfo_Response) {
11
+ option (method_description) = "Get pairing info for an entered PIN";
12
+ }
13
+
14
+ rpc NotifyOnline (.CRemoteClient_Online_Notification) returns (.NoResponse) {
15
+ option (method_description) = "Let the service know we're available for status listeners";
16
+ }
17
+
18
+ rpc NotifyReplyPacket (.CRemoteClient_ReplyPacket_Notification) returns (.NoResponse) {
19
+ option (method_description) = "Send a reply to a remote client";
20
+ }
21
+
22
+ rpc AllocateTURNServer (.CRemoteClient_AllocateTURNServer_Request) returns (.CRemoteClient_AllocateTURNServer_Response) {
23
+ option (method_description) = "Allocate a TURN server for a streaming session";
24
+ }
25
+
26
+ rpc AllocateRelayServer (.CRemoteClient_AllocateRelayServer_Request) returns (.CRemoteClient_AllocateRelayServer_Response) {
27
+ option (method_description) = "Allocate a UDP relay server for a streaming session";
28
+ }
29
+
30
+ rpc AllocateSDR (.CRemoteClient_AllocateSDR_Request) returns (.CRemoteClient_AllocateSDR_Response) {
31
+ option (method_description) = "Allocate SDR resources for an app";
32
+ }
33
+
34
+ rpc SendSteamBroadcastPacket (.CRemoteClient_SteamBroadcast_Notification) returns (.NoResponse) {
35
+ option (method_description) = "Broadcast a packet to remote Steam clients";
36
+ }
37
+
38
+ rpc SendSteamToSteamPacket (.CRemoteClient_SteamToSteam_Notification) returns (.NoResponse) {
39
+ option (method_description) = "Send a packet to a remote Steam client";
40
+ }
41
+
42
+ rpc SendRemotePlaySessionStarted (.CRemotePlay_SessionStarted_Request) returns (.CRemotePlay_SessionStarted_Response) {
43
+ option (method_description) = "Let the server know that we started a Remote Play session";
44
+ }
45
+
46
+ rpc SendRemotePlaySessionStopped (.CRemotePlay_SessionStopped_Notification) returns (.NoResponse) {
47
+ option (method_description) = "Let the server know that we stopped a Remote Play session";
48
+ }
49
+
50
+ rpc SendRemotePlayTogetherPacket (.CRemotePlayTogether_Notification) returns (.NoResponse) {
51
+ option (method_description) = "Send a Remote Play Together packet to a Steam client";
52
+ }
53
+
54
+ rpc CreateRemotePlayTogetherInvitation (.CRemoteClient_CreateRemotePlayTogetherInvitation_Request) returns (.CRemoteClient_CreateRemotePlayTogetherInvitation_Response) {
55
+ option (method_description) = "Create a Remote Play Together invitation";
56
+ }
57
+
58
+ rpc DeleteRemotePlayTogetherInvitation (.CRemoteClient_DeleteRemotePlayTogetherInvitation_Request) returns (.CRemoteClient_DeleteRemotePlayTogetherInvitation_Response) {
59
+ option (method_description) = "Delete a Remote Play Together invitation";
60
+ }
61
+ }
62
+
63
+ service RemoteClientSteamClient {
64
+ option (service_description) = "Methods for Steam remote client operations";
65
+ option (service_execution_site) = k_EProtoExecutionSiteSteamClient;
66
+
67
+ rpc NotifyRegisterStatusUpdate (.CRemoteClient_RegisterStatusUpdate_Notification) returns (.NoResponse) {
68
+ option (method_description) = "Register for status updates with a Steam client";
69
+ }
70
+
71
+ rpc NotifyUnregisterStatusUpdate (.CRemoteClient_UnregisterStatusUpdate_Notification) returns (.NoResponse) {
72
+ option (method_description) = "Unregister for status updates with a Steam client";
73
+ }
74
+
75
+ rpc NotifyRemotePacket (.CRemoteClient_RemotePacket_Notification) returns (.NoResponse) {
76
+ option (method_description) = "Send a packet to a Steam client";
77
+ }
78
+
79
+ rpc NotifySteamBroadcastPacket (.CRemoteClient_SteamBroadcast_Notification) returns (.NoResponse) {
80
+ option (method_description) = "Broadcast a packet to remote Steam clients";
81
+ }
82
+
83
+ rpc NotifySteamToSteamPacket (.CRemoteClient_SteamToSteam_Notification) returns (.NoResponse) {
84
+ option (method_description) = "Send a packet to a Steam client from a remote Steam client";
85
+ }
86
+
87
+ rpc NotifyRemotePlayTogetherPacket (.CRemotePlayTogether_Notification) returns (.NoResponse) {
88
+ option (method_description) = "Send a Remote Play Together packet to a Steam client";
89
+ }
90
+ }