steamutils 1.3.97 → 1.3.98

Sign up to get free protection for your applications and to get access to all the features.
Files changed (238) hide show
  1. package/.idea/codeStyles/Project.xml +1 -0
  2. package/.idea/deployment.xml +14 -0
  3. package/.idea/jsLibraryMappings.xml +6 -0
  4. package/.prettierrc.json +3 -3
  5. package/SteamClient.js +2418 -2418
  6. package/bufferHelpers.js +115 -115
  7. package/cheerio.js +103 -103
  8. package/const.js +336 -336
  9. package/create_remote_file.js +66 -66
  10. package/index.js +1 -1
  11. package/package.json +1 -1
  12. package/protos/csgo/base_gcmessages.proto +553 -553
  13. package/protos/csgo/base_gcmessages_csgo.proto +547 -547
  14. package/protos/csgo/c_peer2peer_netmessages.proto +55 -55
  15. package/protos/csgo/clientmessages.proto +48 -48
  16. package/protos/csgo/connectionless_netmessages.proto +17 -17
  17. package/protos/csgo/cs_gameevents.proto +35 -35
  18. package/protos/csgo/cs_usercmd.proto +34 -34
  19. package/protos/csgo/cstrike15_gcmessages.proto +1431 -1431
  20. package/protos/csgo/cstrike15_usermessages.proto +592 -592
  21. package/protos/csgo/demo.proto +165 -165
  22. package/protos/csgo/econ_gcmessages.proto +219 -219
  23. package/protos/csgo/engine_gcmessages.proto +14 -14
  24. package/protos/csgo/enums_clientserver.proto +1529 -1529
  25. package/protos/csgo/fatdemo.proto +125 -125
  26. package/protos/csgo/gameevents.proto +120 -120
  27. package/protos/csgo/gcsdk_gcmessages.proto +323 -323
  28. package/protos/csgo/gcsystemmsgs.proto +243 -243
  29. package/protos/csgo/netmessages.proto +618 -618
  30. package/protos/csgo/network_connection.proto +126 -126
  31. package/protos/csgo/networkbasetypes.proto +246 -246
  32. package/protos/csgo/networksystem_protomessages.proto +17 -17
  33. package/protos/csgo/steamdatagram_messages_auth.proto +65 -65
  34. package/protos/csgo/steamdatagram_messages_sdr.proto +534 -534
  35. package/protos/csgo/steammessages.proto +620 -620
  36. package/protos/csgo/steammessages_base.proto +301 -301
  37. package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -68
  38. package/protos/csgo/steammessages_gamenetworkingui.proto +61 -61
  39. package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -22
  40. package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -18
  41. package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -254
  42. package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -233
  43. package/protos/csgo/steammessages_unified_base.steamworkssdk.proto +30 -30
  44. package/protos/csgo/steamnetworkingsockets_messages.proto +205 -205
  45. package/protos/csgo/steamnetworkingsockets_messages_certs.proto +39 -39
  46. package/protos/csgo/steamnetworkingsockets_messages_udp.proto +75 -75
  47. package/protos/csgo/te.proto +259 -259
  48. package/protos/csgo/uifontfile_format.proto +13 -13
  49. package/protos/csgo/usercmd.proto +39 -39
  50. package/protos/csgo/usermessages.proto +752 -752
  51. package/protos/csgo/valveextensions.proto +17 -17
  52. package/protos/google/protobuf/descriptor.proto +281 -281
  53. package/protos/steam/clientmetrics.proto +45 -45
  54. package/protos/steam/content_manifest.proto +62 -62
  55. package/protos/steam/contenthubs.proto +41 -41
  56. package/protos/steam/encrypted_app_ticket.proto +10 -10
  57. package/protos/steam/enums.proto +501 -501
  58. package/protos/steam/enums_clientserver.proto +1508 -1508
  59. package/protos/steam/enums_productinfo.proto +14 -14
  60. package/protos/steam/htmlmessages.proto +1039 -1039
  61. package/protos/steam/offline_ticket.proto +8 -8
  62. package/protos/steam/steamdatagram_messages_auth.proto +65 -65
  63. package/protos/steam/steamdatagram_messages_sdr.proto +533 -533
  64. package/protos/steam/steammessages_accounthardware.steamclient.proto +167 -167
  65. package/protos/steam/steammessages_appoverview.proto +204 -204
  66. package/protos/steam/steammessages_auth.steamclient.proto +375 -375
  67. package/protos/steam/steammessages_base.proto +335 -335
  68. package/protos/steam/steammessages_broadcast.steamclient.proto +618 -618
  69. package/protos/steam/steammessages_chat.steamclient.proto +1070 -1070
  70. package/protos/steam/steammessages_client_objects.proto +649 -649
  71. package/protos/steam/steammessages_clientlanp2p.proto +43 -43
  72. package/protos/steam/steammessages_clientmetrics.steamclient.proto +192 -192
  73. package/protos/steam/steammessages_clientnotificationtypes.proto +250 -250
  74. package/protos/steam/steammessages_clientserver.proto +392 -392
  75. package/protos/steam/steammessages_clientserver_2.proto +771 -771
  76. package/protos/steam/steammessages_clientserver_appinfo.proto +131 -131
  77. package/protos/steam/steammessages_clientserver_friends.proto +260 -260
  78. package/protos/steam/steammessages_clientserver_gameservers.proto +159 -159
  79. package/protos/steam/steammessages_clientserver_lbs.proto +70 -70
  80. package/protos/steam/steammessages_clientserver_login.proto +167 -167
  81. package/protos/steam/steammessages_clientserver_mms.proto +233 -233
  82. package/protos/steam/steammessages_clientserver_ucm.proto +207 -207
  83. package/protos/steam/steammessages_clientserver_uds.proto +125 -125
  84. package/protos/steam/steammessages_clientserver_ufs.proto +45 -45
  85. package/protos/steam/steammessages_clientserver_userstats.proto +80 -80
  86. package/protos/steam/steammessages_clientsettings.proto +208 -208
  87. package/protos/steam/steammessages_cloud.steamclient.proto +422 -422
  88. package/protos/steam/steammessages_contentsystem.steamclient.proto +123 -123
  89. package/protos/steam/steammessages_credentials.steamclient.proto +96 -96
  90. package/protos/steam/steammessages_datapublisher.steamclient.proto +102 -102
  91. package/protos/steam/steammessages_depotbuilder.steamclient.proto +99 -99
  92. package/protos/steam/steammessages_deviceauth.steamclient.proto +169 -169
  93. package/protos/steam/steammessages_econ.steamclient.proto +137 -137
  94. package/protos/steam/steammessages_familygroups.steamclient.proto +441 -441
  95. package/protos/steam/steammessages_friendmessages.steamclient.proto +141 -141
  96. package/protos/steam/steammessages_gamenetworking.steamclient.proto +25 -25
  97. package/protos/steam/steammessages_gamenetworkingui.proto +61 -61
  98. package/protos/steam/steammessages_gamenotifications.steamclient.proto +131 -131
  99. package/protos/steam/steammessages_gameservers.steamclient.proto +136 -136
  100. package/protos/steam/steammessages_hiddevices.proto +157 -157
  101. package/protos/steam/steammessages_inventory.steamclient.proto +172 -172
  102. package/protos/steam/steammessages_linkfilter.steamclient.proto +39 -39
  103. package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +29 -29
  104. package/protos/steam/steammessages_market.steamclient.proto +22 -22
  105. package/protos/steam/steammessages_marketingmessages.steamclient.proto +273 -273
  106. package/protos/steam/steammessages_offline.steamclient.proto +33 -33
  107. package/protos/steam/steammessages_parental.steamclient.proto +262 -262
  108. package/protos/steam/steammessages_parties.steamclient.proto +75 -75
  109. package/protos/steam/steammessages_partnerapps.steamclient.proto +106 -106
  110. package/protos/steam/steammessages_player.steamclient.proto +915 -915
  111. package/protos/steam/steammessages_publishedfile.steamclient.proto +737 -737
  112. package/protos/steam/steammessages_qms.steamclient.proto +111 -111
  113. package/protos/steam/steammessages_remoteclient.proto +100 -100
  114. package/protos/steam/steammessages_remoteclient_discovery.proto +244 -244
  115. package/protos/steam/steammessages_remoteclient_service.steamclient.proto +31 -31
  116. package/protos/steam/steammessages_remoteclient_service_messages.proto +217 -217
  117. package/protos/steam/steammessages_remoteplay.proto +975 -975
  118. package/protos/steam/steammessages_secrets.steamclient.proto +35 -35
  119. package/protos/steam/steammessages_shader.steamclient.proto +89 -89
  120. package/protos/steam/steammessages_site_license.steamclient.proto +103 -103
  121. package/protos/steam/steammessages_sitelicenseclient.proto +38 -38
  122. package/protos/steam/steammessages_siteserverui.proto +130 -130
  123. package/protos/steam/steammessages_steamtv.steamclient.proto +533 -533
  124. package/protos/steam/steammessages_store.steamclient.proto +404 -404
  125. package/protos/steam/steammessages_storebrowse.steamclient.proto +457 -457
  126. package/protos/steam/steammessages_timedtrial.steamclient.proto +40 -40
  127. package/protos/steam/steammessages_twofactor.steamclient.proto +157 -157
  128. package/protos/steam/steammessages_unified_base.steamclient.proto +45 -45
  129. package/protos/steam/steammessages_unified_test.steamclient.proto +51 -51
  130. package/protos/steam/steammessages_useraccount.steamclient.proto +211 -211
  131. package/protos/steam/steammessages_vac.steamclient.proto +37 -37
  132. package/protos/steam/steammessages_video.steamclient.proto +68 -68
  133. package/protos/steam/steammessages_virtualcontroller.proto +138 -138
  134. package/protos/steam/steammessages_workshop.steamclient.proto +19 -19
  135. package/protos/steam/steamnetworkingsockets_messages.proto +205 -205
  136. package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -39
  137. package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -75
  138. package/protos/steam/webuimessages_achievements.proto +29 -29
  139. package/protos/steam/webuimessages_base.proto +24 -24
  140. package/protos/steam/webuimessages_gamenotes.proto +21 -21
  141. package/protos/steam/webuimessages_gamescope.proto +57 -57
  142. package/protos/steam/webuimessages_steamengine.proto +41 -41
  143. package/protos/steam/webuimessages_steamos.proto +114 -114
  144. package/protos/steam/webuimessages_storagedevicemanager.proto +110 -110
  145. package/protos/steam/webuimessages_systemmanager.proto +17 -17
  146. package/protos/steam/webuimessages_transport.proto +22 -22
  147. package/protos/steam/webuimessages_transportvalidation.proto +111 -111
  148. package/protos/webui/common.proto +4024 -4024
  149. package/protos/webui/common_base.proto +27 -27
  150. package/protos/webui/service_accountcart.proto +153 -153
  151. package/protos/webui/service_accountlinking.proto +27 -27
  152. package/protos/webui/service_accountprivacy.proto +42 -42
  153. package/protos/webui/service_accountprivateapps.proto +34 -34
  154. package/protos/webui/service_auction.proto +97 -97
  155. package/protos/webui/service_authentication.proto +222 -222
  156. package/protos/webui/service_authenticationsupport.proto +74 -74
  157. package/protos/webui/service_broadcast.proto +562 -562
  158. package/protos/webui/service_chat.proto +11 -11
  159. package/protos/webui/service_chatroom.proto +810 -810
  160. package/protos/webui/service_chatusability.proto +107 -107
  161. package/protos/webui/service_checkout.proto +84 -84
  162. package/protos/webui/service_clan.proto +41 -41
  163. package/protos/webui/service_clanchatrooms.proto +25 -25
  164. package/protos/webui/service_clanfaqs.proto +202 -202
  165. package/protos/webui/service_clientcomm.proto +151 -151
  166. package/protos/webui/service_clientmetrics.proto +22 -22
  167. package/protos/webui/service_cloud.proto +222 -222
  168. package/protos/webui/service_cloudconfigstore.proto +51 -51
  169. package/protos/webui/service_cloudgaming.proto +30 -30
  170. package/protos/webui/service_community.proto +365 -365
  171. package/protos/webui/service_dailydeal.proto +89 -89
  172. package/protos/webui/service_econ.proto +134 -134
  173. package/protos/webui/service_embedded.proto +24 -24
  174. package/protos/webui/service_experimentservice.proto +6 -6
  175. package/protos/webui/service_familygroups.proto +355 -355
  176. package/protos/webui/service_fovasvideo.proto +15 -15
  177. package/protos/webui/service_friendmessages.proto +133 -133
  178. package/protos/webui/service_friendslist.proto +70 -70
  179. package/protos/webui/service_gamenotes.proto +15 -15
  180. package/protos/webui/service_gamerecording.proto +265 -265
  181. package/protos/webui/service_gamerecordingclip.proto +85 -85
  182. package/protos/webui/service_gamerecordingdebug.proto +52 -52
  183. package/protos/webui/service_helprequestlogs.proto +16 -16
  184. package/protos/webui/service_loyaltyrewards.proto +252 -252
  185. package/protos/webui/service_marketingmessages.proto +215 -215
  186. package/protos/webui/service_mobileapp.proto +18 -18
  187. package/protos/webui/service_mobileauth.proto +24 -24
  188. package/protos/webui/service_mobiledevice.proto +26 -26
  189. package/protos/webui/service_mobileperaccount.proto +31 -31
  190. package/protos/webui/service_news.proto +110 -110
  191. package/protos/webui/service_parental.proto +258 -258
  192. package/protos/webui/service_partnermembershipinvite.proto +34 -34
  193. package/protos/webui/service_partnerstorebrowse.proto +28 -28
  194. package/protos/webui/service_phone.proto +51 -51
  195. package/protos/webui/service_physicalgoods.proto +15 -15
  196. package/protos/webui/service_player.proto +918 -918
  197. package/protos/webui/service_promotioneventinvites.proto +109 -109
  198. package/protos/webui/service_promotionplanning.proto +186 -186
  199. package/protos/webui/service_promotionstats.proto +23 -23
  200. package/protos/webui/service_publishedfile.proto +714 -714
  201. package/protos/webui/service_publishing.proto +200 -200
  202. package/protos/webui/service_quest.proto +127 -127
  203. package/protos/webui/service_salefeature.proto +373 -373
  204. package/protos/webui/service_saleitemrewards.proto +54 -54
  205. package/protos/webui/service_shoppingcart.proto +152 -152
  206. package/protos/webui/service_steamawards.proto +76 -76
  207. package/protos/webui/service_steamcharts.proto +75 -75
  208. package/protos/webui/service_steamengine.proto +36 -36
  209. package/protos/webui/service_steamlearn.proto +876 -876
  210. package/protos/webui/service_steamnotification.proto +73 -73
  211. package/protos/webui/service_steamtv.proto +495 -495
  212. package/protos/webui/service_steamvrvoicechat.proto +67 -67
  213. package/protos/webui/service_steamvrwebrtc.proto +48 -48
  214. package/protos/webui/service_storagedevicemanager.proto +104 -104
  215. package/protos/webui/service_store.proto +359 -359
  216. package/protos/webui/service_storeappsimilarity.proto +76 -76
  217. package/protos/webui/service_storebrowse.proto +103 -103
  218. package/protos/webui/service_storemarketing.proto +44 -44
  219. package/protos/webui/service_storequery.proto +103 -103
  220. package/protos/webui/service_storesales.proto +87 -87
  221. package/protos/webui/service_storetopsellers.proto +44 -44
  222. package/protos/webui/service_systemmanager.proto +11 -11
  223. package/protos/webui/service_test_transporterror.proto +6 -6
  224. package/protos/webui/service_transportauth.proto +17 -17
  225. package/protos/webui/service_transportvalidation.proto +69 -69
  226. package/protos/webui/service_twofactor.proto +170 -170
  227. package/protos/webui/service_useraccount.proto +142 -142
  228. package/protos/webui/service_usergameactivity.proto +34 -34
  229. package/protos/webui/service_usergamenotes.proto +70 -70
  230. package/protos/webui/service_usernews.proto +68 -68
  231. package/protos/webui/service_userreviews.proto +97 -97
  232. package/protos/webui/service_video.proto +50 -50
  233. package/protos/webui/service_videoclip.proto +62 -62
  234. package/protos/webui/service_voicechat.proto +139 -139
  235. package/protos/webui/service_webrtc.proto +52 -52
  236. package/remote.js +6259 -6259
  237. package/test_steamclient.js +20 -0
  238. package/utils.js +141 -141
@@ -1,533 +1,533 @@
1
- import "steamnetworkingsockets_messages_certs.proto";
2
- import "steamnetworkingsockets_messages.proto";
3
-
4
- option optimize_for = SPEED;
5
- option cc_generic_services = false;
6
-
7
- enum ESteamDatagramMsgID {
8
- k_ESteamDatagramMsg_Invalid = 0;
9
- k_ESteamDatagramMsg_RouterPingRequest = 1;
10
- k_ESteamDatagramMsg_RouterPingReply = 2;
11
- k_ESteamDatagramMsg_GameserverPingRequest = 3;
12
- k_ESteamDatagramMsg_GameserverSessionRequest = 5;
13
- k_ESteamDatagramMsg_GameserverSessionEstablished = 6;
14
- k_ESteamDatagramMsg_NoSession = 7;
15
- k_ESteamDatagramMsg_Diagnostic = 8;
16
- k_ESteamDatagramMsg_DataClientToRouter = 9;
17
- k_ESteamDatagramMsg_DataRouterToServer = 10;
18
- k_ESteamDatagramMsg_DataServerToRouter = 11;
19
- k_ESteamDatagramMsg_DataRouterToClient = 12;
20
- k_ESteamDatagramMsg_Stats = 13;
21
- k_ESteamDatagramMsg_ClientPingSampleRequest = 14;
22
- k_ESteamDatagramMsg_ClientPingSampleReply = 15;
23
- k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary = 16;
24
- k_ESteamDatagramMsg_RelayHealth = 17;
25
- k_ESteamDatagramMsg_ConnectRequest = 18;
26
- k_ESteamDatagramMsg_ConnectOK = 19;
27
- k_ESteamDatagramMsg_ConnectionClosed = 20;
28
- k_ESteamDatagramMsg_NoConnection = 21;
29
- k_ESteamDatagramMsg_TicketDecryptRequest = 22;
30
- k_ESteamDatagramMsg_TicketDecryptReply = 23;
31
- k_ESteamDatagramMsg_P2PSessionRequest = 24;
32
- k_ESteamDatagramMsg_P2PSessionEstablished = 25;
33
- k_ESteamDatagramMsg_P2PStatsClient = 26;
34
- k_ESteamDatagramMsg_P2PStatsRelay = 27;
35
- k_ESteamDatagramMsg_P2PBadRoute = 28;
36
- k_ESteamDatagramMsg_GameserverPingReply = 29;
37
- k_ESteamDatagramMsg_LegacyGameserverRegistration = 30;
38
- k_ESteamDatagramMsg_SetSecondaryAddressRequest = 31;
39
- k_ESteamDatagramMsg_SetSecondaryAddressResult = 32;
40
- k_ESteamDatagramMsg_RelayToRelayPingRequest = 33;
41
- k_ESteamDatagramMsg_RelayToRelayPingReply = 34;
42
- }
43
-
44
- message CMsgSteamNetworkingIPAddress {
45
- optional fixed32 v4 = 1;
46
- optional bytes v6 = 2;
47
- }
48
-
49
- message CMsgSteamDatagramSignedMessageGeneric {
50
- optional .CMsgSteamDatagramCertificateSigned cert = 1;
51
- optional bytes signed_data = 2;
52
- optional bytes signature = 3;
53
- optional bytes dummy_pad = 1023;
54
- }
55
-
56
- message CMsgSteamDatagramRouterPingReply {
57
- message RouteException {
58
- optional fixed32 data_center_id = 1;
59
- optional uint32 flags = 2;
60
- optional uint32 penalty = 3;
61
- }
62
-
63
- message AltAddress {
64
- enum Protocol {
65
- DefaultProtocol = 0;
66
- }
67
-
68
- optional fixed32 ipv4 = 1;
69
- optional uint32 port = 2;
70
- optional uint32 penalty = 3;
71
- optional .CMsgSteamDatagramRouterPingReply.AltAddress.Protocol protocol = 4 [default = DefaultProtocol];
72
- optional string id = 5;
73
- }
74
-
75
- enum Flags {
76
- FLAG_MAYBE_MORE_DATA_CENTERS = 1;
77
- FLAG_MAYBE_MORE_ALT_ADDRESSES = 2;
78
- }
79
-
80
- optional fixed32 client_timestamp = 1;
81
- repeated fixed32 latency_datacenter_ids = 2 [packed = true];
82
- repeated uint32 latency_ping_ms = 3 [packed = true];
83
- repeated fixed32 latency_datacenter_ids_p2p = 14 [packed = true];
84
- repeated uint32 latency_ping_ms_p2p = 15 [packed = true];
85
- optional fixed32 your_public_ip = 4;
86
- optional fixed32 your_public_port = 11;
87
- optional fixed32 server_time = 5;
88
- optional fixed64 challenge = 6;
89
- optional uint32 seconds_until_shutdown = 7;
90
- optional fixed32 client_cookie = 8;
91
- optional uint32 scoring_penalty_relay_cluster = 9;
92
- optional uint32 flags = 12;
93
- repeated .CMsgSteamDatagramRouterPingReply.RouteException route_exceptions = 10;
94
- repeated .CMsgSteamDatagramRouterPingReply.AltAddress alt_addresses = 13;
95
- optional bytes dummy_pad = 99;
96
- }
97
-
98
- message CMsgSteamDatagramGameserverPingRequestBody {
99
- optional fixed32 relay_popid = 1;
100
- optional .CMsgSteamNetworkingIPAddress your_public_ip = 2;
101
- optional uint32 your_public_port = 3;
102
- optional uint64 relay_unix_time = 4;
103
- optional fixed64 routing_secret = 5;
104
- repeated .CMsgSteamNetworkingIPAddress my_ips = 6;
105
- optional bytes echo = 8;
106
- }
107
-
108
- message CMsgSteamDatagramGameserverPingRequestEnvelope {
109
- optional .CMsgSteamDatagramCertificateSigned cert = 6;
110
- optional bytes signed_data = 7;
111
- optional bytes signature = 8;
112
- optional fixed32 legacy_your_public_ip = 1;
113
- optional fixed32 legacy_your_public_port = 5;
114
- optional fixed32 legacy_relay_unix_time = 2;
115
- optional fixed64 legacy_challenge = 3;
116
- optional fixed32 legacy_router_timestamp = 4;
117
- optional bytes dummy_pad = 1023;
118
- }
119
-
120
- message CMsgSteamDatagramGameserverPingReplyData {
121
- optional fixed32 echo_relay_unix_time = 2;
122
- optional bytes echo = 8;
123
- optional fixed64 legacy_challenge = 3;
124
- optional fixed32 legacy_router_timestamp = 4;
125
- optional fixed32 data_center_id = 5;
126
- optional uint32 appid = 6;
127
- optional uint32 protocol_version = 7;
128
- optional string build = 9;
129
- optional uint64 network_config_version = 10;
130
- optional fixed32 my_unix_time = 11;
131
- optional bytes routing_blob = 12;
132
- }
133
-
134
- message CMsgSteamDatagramNoSessionRelayToClient {
135
- optional fixed32 connection_id = 7;
136
- optional fixed32 your_public_ip = 2;
137
- optional fixed32 your_public_port = 6;
138
- optional fixed32 server_time = 3;
139
- optional fixed64 challenge = 4;
140
- optional uint32 seconds_until_shutdown = 5;
141
- }
142
-
143
- message CMsgSteamDatagramNoSessionRelayToPeer {
144
- optional uint32 legacy_relay_session_id = 1;
145
- optional fixed32 from_relay_session_id = 2;
146
- optional fixed32 from_connection_id = 7;
147
- optional fixed64 kludge_pad = 99;
148
- }
149
-
150
- message CMsgSteamDatagramClientPingSampleRequest {
151
- optional fixed32 connection_id = 1;
152
- }
153
-
154
- message CMsgSteamDatagramClientPingSampleReply {
155
- message POP {
156
- message AltAddress {
157
- optional string id = 1;
158
- optional uint32 front_ping_ms = 2;
159
- optional uint32 penalty = 3;
160
- }
161
-
162
- optional fixed32 pop_id = 1;
163
- optional uint32 default_front_ping_ms = 2;
164
- optional uint32 cluster_penalty = 4;
165
- repeated .CMsgSteamDatagramClientPingSampleReply.POP.AltAddress alt_addresses = 7;
166
- optional uint32 default_e2e_ping_ms = 3;
167
- optional uint32 default_e2e_score = 5;
168
- optional fixed32 p2p_via_peer_relay_pop_id = 6;
169
- optional uint32 best_dc_ping_ms = 9;
170
- optional uint32 best_dc_score = 10;
171
- optional fixed32 best_dc_via_relay_pop_id = 11;
172
- optional uint32 default_dc_ping_ms = 12;
173
- optional uint32 default_dc_score = 13;
174
- optional fixed32 default_dc_via_relay_pop_id = 14;
175
- optional uint32 test_dc_ping_ms = 15;
176
- optional uint32 test_dc_score = 16;
177
- optional fixed32 test_dc_via_relay_pop_id = 17;
178
- }
179
-
180
- message LegacyDataCenter {
181
- optional fixed32 data_center_id = 1;
182
- optional fixed32 best_dc_via_relay_pop_id = 2;
183
- optional uint32 best_dc_ping_ms = 3;
184
- }
185
-
186
- optional fixed32 connection_id = 1;
187
- optional bool relay_override_active = 5;
188
- repeated .CMsgSteamDatagramClientPingSampleReply.POP pops = 2;
189
- repeated .CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter legacy_data_centers = 3;
190
- }
191
-
192
- message CMsgSteamDatagramClientSwitchedPrimary {
193
- message RouterQuality {
194
- optional uint32 score = 1;
195
- optional uint32 front_ping = 2;
196
- optional uint32 back_ping = 3;
197
- optional uint32 seconds_until_down = 4;
198
- }
199
-
200
- optional fixed32 connection_id = 1;
201
- optional fixed32 from_ip = 2;
202
- optional uint32 from_port = 3;
203
- optional fixed32 from_router_cluster = 4;
204
- optional uint32 from_active_time = 5;
205
- optional uint32 from_active_packets_recv = 6;
206
- optional string from_dropped_reason = 7;
207
- optional uint32 gap_ms = 8;
208
- optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_now = 9;
209
- optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_now = 10;
210
- optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_then = 11;
211
- optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_then = 12;
212
- }
213
-
214
- message CMsgSteamDatagramConnectRequest {
215
- optional fixed32 connection_id = 1;
216
- optional fixed64 my_timestamp = 4;
217
- optional uint32 ping_est_ms = 5;
218
- optional uint32 virtual_port = 9;
219
- optional uint32 gameserver_relay_session_id = 2;
220
- optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
221
- optional .CMsgSteamDatagramCertificateSigned cert = 7;
222
- optional fixed64 routing_secret = 10;
223
- optional fixed64 legacy_client_steam_id = 3;
224
- }
225
-
226
- message CMsgSteamDatagramConnectOK {
227
- optional fixed32 client_connection_id = 1;
228
- optional fixed32 server_connection_id = 7;
229
- optional fixed64 your_timestamp = 3;
230
- optional uint32 delay_time_usec = 4;
231
- optional uint32 gameserver_relay_session_id = 2;
232
- optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
233
- optional .CMsgSteamDatagramCertificateSigned cert = 6;
234
- }
235
-
236
- message CMsgSteamNetworkingP2PSDRRoutingSummary {
237
- optional uint32 initial_ping = 1;
238
- optional uint32 initial_ping_front_local = 2;
239
- optional uint32 initial_ping_front_remote = 3;
240
- optional uint32 initial_score = 4;
241
- optional fixed32 initial_pop_local = 5;
242
- optional fixed32 initial_pop_remote = 6;
243
- optional uint32 best_ping = 11;
244
- optional uint32 best_ping_front_local = 12;
245
- optional uint32 best_ping_front_remote = 13;
246
- optional uint32 best_score = 14;
247
- optional fixed32 best_pop_local = 15;
248
- optional fixed32 best_pop_remote = 16;
249
- optional uint32 best_time = 17;
250
- optional uint32 negotiation_ms = 7;
251
- optional uint32 selected_seconds = 8;
252
- }
253
-
254
- message CMsgSteamDatagramP2PRoutingSummary {
255
- optional .CMsgSteamNetworkingICESessionSummary ice = 2;
256
- optional .CMsgSteamNetworkingP2PSDRRoutingSummary sdr = 3;
257
- }
258
-
259
- message CMsgSteamDatagramConnectionClosed {
260
- enum ERelayMode {
261
- None = 0;
262
- EndToEnd = 1;
263
- ClosedByPeer = 2;
264
- }
265
-
266
- optional fixed32 to_connection_id = 7;
267
- optional fixed32 from_connection_id = 8;
268
- optional string from_identity_string = 15;
269
- optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_from_identity_binary = 13;
270
- optional fixed64 legacy_from_steam_id = 3;
271
- optional uint32 legacy_gameserver_relay_session_id = 2;
272
- optional fixed32 to_relay_session_id = 9;
273
- optional fixed32 from_relay_session_id = 10;
274
- optional bytes forward_target_relay_routing_token = 11;
275
- optional uint32 forward_target_revision = 12;
276
- optional .CMsgSteamDatagramConnectionClosed.ERelayMode relay_mode = 4 [default = None];
277
- optional string debug = 5;
278
- optional uint32 reason_code = 6;
279
- optional fixed64 routing_secret = 14;
280
- optional bool not_primary_session = 16;
281
- optional bool not_primary_transport = 19;
282
- optional bool relay_override_active = 22;
283
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 17;
284
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 18;
285
- optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 21;
286
- }
287
-
288
- message CMsgSteamDatagramNoConnection {
289
- optional fixed32 to_connection_id = 5;
290
- optional fixed32 from_connection_id = 6;
291
- optional uint32 legacy_gameserver_relay_session_id = 2;
292
- optional fixed32 to_relay_session_id = 9;
293
- optional fixed32 from_relay_session_id = 10;
294
- optional string from_identity_string = 7;
295
- optional fixed64 legacy_from_steam_id = 3;
296
- optional bool end_to_end = 4;
297
- optional bool not_primary_session = 12;
298
- optional bool not_primary_transport = 15;
299
- optional bool relay_override_active = 17;
300
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 13;
301
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 14;
302
- optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 16;
303
- optional fixed64 routing_secret = 11;
304
- optional fixed32 dummy_pad = 1023;
305
- }
306
-
307
- message CMsgSteamDatagramGameserverSessionRequest {
308
- optional bytes ticket = 1;
309
- optional fixed32 challenge_time = 3;
310
- optional fixed64 challenge = 4;
311
- optional fixed32 client_connection_id = 5;
312
- optional fixed32 server_connection_id = 8;
313
- optional uint64 network_config_version = 6;
314
- optional uint32 protocol_version = 7;
315
- optional string platform = 9;
316
- optional string build = 10;
317
- optional string dev_gameserver_identity = 100;
318
- optional .CMsgSteamDatagramCertificateSigned dev_client_cert = 101;
319
- }
320
-
321
- message CMsgSteamDatagramGameserverSessionEstablished {
322
- optional fixed32 connection_id = 1;
323
- optional string gameserver_identity_string = 2;
324
- optional uint32 seconds_until_shutdown = 4;
325
- optional uint32 seq_num_r2c = 6;
326
- optional bytes dummy_legacy_identity_binary = 7;
327
- optional fixed64 legacy_gameserver_steamid = 3;
328
- }
329
-
330
- message CMsgSteamDatagramConnectionStatsClientToRouter {
331
- enum Flags {
332
- ACK_REQUEST_RELAY = 1;
333
- ACK_REQUEST_E2E = 2;
334
- ACK_REQUEST_IMMEDIATE = 4;
335
- NOT_PRIMARY_SESSION = 8;
336
- CLIENT_RELAY_OVERRIDE = 32;
337
- }
338
-
339
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
340
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
341
- repeated fixed32 ack_relay = 4;
342
- repeated fixed32 legacy_ack_e2e = 5;
343
- optional uint32 flags = 6;
344
- optional fixed32 client_connection_id = 8;
345
- optional uint32 seq_num_c2r = 9;
346
- optional uint32 seq_num_e2e = 10;
347
- }
348
-
349
- message CMsgSteamDatagramConnectionStatsRouterToClient {
350
- enum Flags {
351
- ACK_REQUEST_RELAY = 1;
352
- ACK_REQUEST_E2E = 2;
353
- ACK_REQUEST_IMMEDIATE = 4;
354
- }
355
-
356
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
357
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
358
- optional uint32 seconds_until_shutdown = 6;
359
- optional fixed32 migrate_request_ip = 10;
360
- optional uint32 migrate_request_port = 11;
361
- optional uint32 scoring_penalty_relay_cluster = 12;
362
- repeated fixed32 ack_relay = 13;
363
- repeated fixed32 legacy_ack_e2e = 14;
364
- optional uint32 flags = 15;
365
- optional fixed32 client_connection_id = 7;
366
- optional uint32 seq_num_r2c = 8;
367
- optional uint32 seq_num_e2e = 9;
368
- }
369
-
370
- message CMsgSteamDatagramConnectionStatsRouterToServer {
371
- enum Flags {
372
- ACK_REQUEST_RELAY = 1;
373
- ACK_REQUEST_E2E = 2;
374
- ACK_REQUEST_IMMEDIATE = 4;
375
- }
376
-
377
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
378
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
379
- repeated fixed32 ack_relay = 10;
380
- repeated fixed32 legacy_ack_e2e = 11;
381
- optional uint32 flags = 12;
382
- optional uint32 seq_num_r2s = 5;
383
- optional uint32 seq_num_e2e = 6;
384
- optional string client_identity_string = 15;
385
- optional fixed64 legacy_client_steam_id = 7;
386
- optional uint32 relay_session_id = 8;
387
- optional fixed32 client_connection_id = 9;
388
- optional fixed32 server_connection_id = 13;
389
- optional fixed64 routing_secret = 14;
390
- }
391
-
392
- message CMsgSteamDatagramConnectionStatsServerToRouter {
393
- enum Flags {
394
- ACK_REQUEST_RELAY = 1;
395
- ACK_REQUEST_E2E = 2;
396
- ACK_REQUEST_IMMEDIATE = 4;
397
- }
398
-
399
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
400
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
401
- repeated fixed32 ack_relay = 8;
402
- repeated fixed32 legacy_ack_e2e = 9;
403
- optional uint32 flags = 10;
404
- optional uint32 seq_num_s2r = 3;
405
- optional uint32 seq_num_e2e = 4;
406
- optional uint32 relay_session_id = 6;
407
- optional fixed32 client_connection_id = 7;
408
- optional fixed32 server_connection_id = 11;
409
- }
410
-
411
- message CMsgSteamDatagramP2PSessionRequestBody {
412
- message EncryptedData {
413
- optional string peer_identity_string = 1;
414
- }
415
-
416
- optional fixed32 challenge_time = 1;
417
- optional fixed64 challenge = 2;
418
- optional fixed32 client_connection_id = 3;
419
- optional fixed64 legacy_peer_steam_id = 4;
420
- optional string peer_identity_string = 11;
421
- optional fixed32 peer_connection_id = 5;
422
- optional bytes encrypted_data = 14;
423
- optional uint32 encryption_your_public_key_lead_byte = 15;
424
- optional bytes encryption_my_ephemeral_public_key = 16;
425
- optional uint32 protocol_version = 8;
426
- optional uint64 network_config_version = 9;
427
- optional string platform = 12;
428
- optional string build = 13;
429
- }
430
-
431
- message CMsgSteamDatagramP2PSessionRequest {
432
- optional .CMsgSteamDatagramCertificateSigned cert = 1;
433
- optional bytes body = 2;
434
- optional bytes signature = 3;
435
- }
436
-
437
- message CMsgSteamDatagramP2PSessionEstablished {
438
- optional fixed32 connection_id = 1;
439
- optional uint32 seconds_until_shutdown = 3;
440
- optional bytes relay_routing_token = 4;
441
- optional uint32 seq_num_r2c = 5;
442
- }
443
-
444
- message CMsgSteamDatagramConnectionStatsP2PClientToRouter {
445
- enum Flags {
446
- ACK_REQUEST_RELAY = 1;
447
- ACK_REQUEST_E2E = 2;
448
- ACK_REQUEST_IMMEDIATE = 4;
449
- NOT_PRIMARY_SESSION = 8;
450
- NOT_PRIMARY_TRANSPORT_E2E = 16;
451
- CLIENT_RELAY_OVERRIDE = 32;
452
- }
453
-
454
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
455
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
456
- optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 14;
457
- repeated fixed32 ack_relay = 3;
458
- repeated fixed32 legacy_ack_e2e = 4;
459
- optional uint32 flags = 5;
460
- optional bytes forward_target_relay_routing_token = 6;
461
- optional uint32 forward_target_revision = 7;
462
- optional bytes routes = 8;
463
- optional uint32 ack_peer_routes_revision = 9;
464
- optional fixed32 connection_id = 10;
465
- optional uint32 seq_num_c2r = 11;
466
- optional uint32 seq_num_e2e = 12;
467
- }
468
-
469
- message CMsgSteamDatagramConnectionStatsP2PRouterToClient {
470
- enum Flags {
471
- ACK_REQUEST_RELAY = 1;
472
- ACK_REQUEST_E2E = 2;
473
- ACK_REQUEST_IMMEDIATE = 4;
474
- NOT_PRIMARY_TRANSPORT_E2E = 16;
475
- }
476
-
477
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
478
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
479
- optional uint32 seconds_until_shutdown = 3;
480
- optional fixed32 migrate_request_ip = 4;
481
- optional uint32 migrate_request_port = 5;
482
- optional uint32 scoring_penalty_relay_cluster = 6;
483
- repeated fixed32 ack_relay = 7;
484
- repeated fixed32 legacy_ack_e2e = 8;
485
- optional uint32 flags = 9;
486
- optional uint32 ack_forward_target_revision = 10;
487
- optional bytes routes = 11;
488
- optional uint32 ack_peer_routes_revision = 12;
489
- optional fixed32 connection_id = 13;
490
- optional uint32 seq_num_r2c = 14;
491
- optional uint32 seq_num_e2e = 15;
492
- }
493
-
494
- message CMsgSteamDatagramP2PBadRouteRouterToClient {
495
- optional fixed32 connection_id = 1;
496
- optional bytes failed_relay_routing_token = 2;
497
- optional uint32 ack_forward_target_revision = 3;
498
- optional fixed64 kludge_pad = 99;
499
- }
500
-
501
- message CMsgSteamDatagramP2PRoutes {
502
- message RelayCluster {
503
- optional fixed32 pop_id = 1;
504
- optional uint32 ping_ms = 2;
505
- optional uint32 score_penalty = 3;
506
- optional bytes session_relay_routing_token = 4;
507
- }
508
-
509
- message Route {
510
- optional fixed32 my_pop_id = 1;
511
- optional fixed32 your_pop_id = 2;
512
- optional uint32 legacy_score = 3;
513
- optional uint32 interior_score = 4;
514
- }
515
-
516
- repeated .CMsgSteamDatagramP2PRoutes.RelayCluster relay_clusters = 1;
517
- repeated .CMsgSteamDatagramP2PRoutes.Route routes = 2;
518
- optional uint32 revision = 3;
519
- }
520
-
521
- message CMsgSteamDatagramSetSecondaryAddressRequest {
522
- optional fixed32 client_main_ip = 1;
523
- optional fixed32 client_main_port = 2;
524
- optional fixed32 client_connection_id = 3;
525
- optional string client_identity = 4;
526
- optional bool request_send_duplication = 5;
527
- optional bytes kludge_pad = 99;
528
- }
529
-
530
- message CMsgSteamDatagramSetSecondaryAddressResult {
531
- optional bool success = 1;
532
- optional string message = 2;
533
- }
1
+ import "steamnetworkingsockets_messages_certs.proto";
2
+ import "steamnetworkingsockets_messages.proto";
3
+
4
+ option optimize_for = SPEED;
5
+ option cc_generic_services = false;
6
+
7
+ enum ESteamDatagramMsgID {
8
+ k_ESteamDatagramMsg_Invalid = 0;
9
+ k_ESteamDatagramMsg_RouterPingRequest = 1;
10
+ k_ESteamDatagramMsg_RouterPingReply = 2;
11
+ k_ESteamDatagramMsg_GameserverPingRequest = 3;
12
+ k_ESteamDatagramMsg_GameserverSessionRequest = 5;
13
+ k_ESteamDatagramMsg_GameserverSessionEstablished = 6;
14
+ k_ESteamDatagramMsg_NoSession = 7;
15
+ k_ESteamDatagramMsg_Diagnostic = 8;
16
+ k_ESteamDatagramMsg_DataClientToRouter = 9;
17
+ k_ESteamDatagramMsg_DataRouterToServer = 10;
18
+ k_ESteamDatagramMsg_DataServerToRouter = 11;
19
+ k_ESteamDatagramMsg_DataRouterToClient = 12;
20
+ k_ESteamDatagramMsg_Stats = 13;
21
+ k_ESteamDatagramMsg_ClientPingSampleRequest = 14;
22
+ k_ESteamDatagramMsg_ClientPingSampleReply = 15;
23
+ k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary = 16;
24
+ k_ESteamDatagramMsg_RelayHealth = 17;
25
+ k_ESteamDatagramMsg_ConnectRequest = 18;
26
+ k_ESteamDatagramMsg_ConnectOK = 19;
27
+ k_ESteamDatagramMsg_ConnectionClosed = 20;
28
+ k_ESteamDatagramMsg_NoConnection = 21;
29
+ k_ESteamDatagramMsg_TicketDecryptRequest = 22;
30
+ k_ESteamDatagramMsg_TicketDecryptReply = 23;
31
+ k_ESteamDatagramMsg_P2PSessionRequest = 24;
32
+ k_ESteamDatagramMsg_P2PSessionEstablished = 25;
33
+ k_ESteamDatagramMsg_P2PStatsClient = 26;
34
+ k_ESteamDatagramMsg_P2PStatsRelay = 27;
35
+ k_ESteamDatagramMsg_P2PBadRoute = 28;
36
+ k_ESteamDatagramMsg_GameserverPingReply = 29;
37
+ k_ESteamDatagramMsg_LegacyGameserverRegistration = 30;
38
+ k_ESteamDatagramMsg_SetSecondaryAddressRequest = 31;
39
+ k_ESteamDatagramMsg_SetSecondaryAddressResult = 32;
40
+ k_ESteamDatagramMsg_RelayToRelayPingRequest = 33;
41
+ k_ESteamDatagramMsg_RelayToRelayPingReply = 34;
42
+ }
43
+
44
+ message CMsgSteamNetworkingIPAddress {
45
+ optional fixed32 v4 = 1;
46
+ optional bytes v6 = 2;
47
+ }
48
+
49
+ message CMsgSteamDatagramSignedMessageGeneric {
50
+ optional .CMsgSteamDatagramCertificateSigned cert = 1;
51
+ optional bytes signed_data = 2;
52
+ optional bytes signature = 3;
53
+ optional bytes dummy_pad = 1023;
54
+ }
55
+
56
+ message CMsgSteamDatagramRouterPingReply {
57
+ message RouteException {
58
+ optional fixed32 data_center_id = 1;
59
+ optional uint32 flags = 2;
60
+ optional uint32 penalty = 3;
61
+ }
62
+
63
+ message AltAddress {
64
+ enum Protocol {
65
+ DefaultProtocol = 0;
66
+ }
67
+
68
+ optional fixed32 ipv4 = 1;
69
+ optional uint32 port = 2;
70
+ optional uint32 penalty = 3;
71
+ optional .CMsgSteamDatagramRouterPingReply.AltAddress.Protocol protocol = 4 [default = DefaultProtocol];
72
+ optional string id = 5;
73
+ }
74
+
75
+ enum Flags {
76
+ FLAG_MAYBE_MORE_DATA_CENTERS = 1;
77
+ FLAG_MAYBE_MORE_ALT_ADDRESSES = 2;
78
+ }
79
+
80
+ optional fixed32 client_timestamp = 1;
81
+ repeated fixed32 latency_datacenter_ids = 2 [packed = true];
82
+ repeated uint32 latency_ping_ms = 3 [packed = true];
83
+ repeated fixed32 latency_datacenter_ids_p2p = 14 [packed = true];
84
+ repeated uint32 latency_ping_ms_p2p = 15 [packed = true];
85
+ optional fixed32 your_public_ip = 4;
86
+ optional fixed32 your_public_port = 11;
87
+ optional fixed32 server_time = 5;
88
+ optional fixed64 challenge = 6;
89
+ optional uint32 seconds_until_shutdown = 7;
90
+ optional fixed32 client_cookie = 8;
91
+ optional uint32 scoring_penalty_relay_cluster = 9;
92
+ optional uint32 flags = 12;
93
+ repeated .CMsgSteamDatagramRouterPingReply.RouteException route_exceptions = 10;
94
+ repeated .CMsgSteamDatagramRouterPingReply.AltAddress alt_addresses = 13;
95
+ optional bytes dummy_pad = 99;
96
+ }
97
+
98
+ message CMsgSteamDatagramGameserverPingRequestBody {
99
+ optional fixed32 relay_popid = 1;
100
+ optional .CMsgSteamNetworkingIPAddress your_public_ip = 2;
101
+ optional uint32 your_public_port = 3;
102
+ optional uint64 relay_unix_time = 4;
103
+ optional fixed64 routing_secret = 5;
104
+ repeated .CMsgSteamNetworkingIPAddress my_ips = 6;
105
+ optional bytes echo = 8;
106
+ }
107
+
108
+ message CMsgSteamDatagramGameserverPingRequestEnvelope {
109
+ optional .CMsgSteamDatagramCertificateSigned cert = 6;
110
+ optional bytes signed_data = 7;
111
+ optional bytes signature = 8;
112
+ optional fixed32 legacy_your_public_ip = 1;
113
+ optional fixed32 legacy_your_public_port = 5;
114
+ optional fixed32 legacy_relay_unix_time = 2;
115
+ optional fixed64 legacy_challenge = 3;
116
+ optional fixed32 legacy_router_timestamp = 4;
117
+ optional bytes dummy_pad = 1023;
118
+ }
119
+
120
+ message CMsgSteamDatagramGameserverPingReplyData {
121
+ optional fixed32 echo_relay_unix_time = 2;
122
+ optional bytes echo = 8;
123
+ optional fixed64 legacy_challenge = 3;
124
+ optional fixed32 legacy_router_timestamp = 4;
125
+ optional fixed32 data_center_id = 5;
126
+ optional uint32 appid = 6;
127
+ optional uint32 protocol_version = 7;
128
+ optional string build = 9;
129
+ optional uint64 network_config_version = 10;
130
+ optional fixed32 my_unix_time = 11;
131
+ optional bytes routing_blob = 12;
132
+ }
133
+
134
+ message CMsgSteamDatagramNoSessionRelayToClient {
135
+ optional fixed32 connection_id = 7;
136
+ optional fixed32 your_public_ip = 2;
137
+ optional fixed32 your_public_port = 6;
138
+ optional fixed32 server_time = 3;
139
+ optional fixed64 challenge = 4;
140
+ optional uint32 seconds_until_shutdown = 5;
141
+ }
142
+
143
+ message CMsgSteamDatagramNoSessionRelayToPeer {
144
+ optional uint32 legacy_relay_session_id = 1;
145
+ optional fixed32 from_relay_session_id = 2;
146
+ optional fixed32 from_connection_id = 7;
147
+ optional fixed64 kludge_pad = 99;
148
+ }
149
+
150
+ message CMsgSteamDatagramClientPingSampleRequest {
151
+ optional fixed32 connection_id = 1;
152
+ }
153
+
154
+ message CMsgSteamDatagramClientPingSampleReply {
155
+ message POP {
156
+ message AltAddress {
157
+ optional string id = 1;
158
+ optional uint32 front_ping_ms = 2;
159
+ optional uint32 penalty = 3;
160
+ }
161
+
162
+ optional fixed32 pop_id = 1;
163
+ optional uint32 default_front_ping_ms = 2;
164
+ optional uint32 cluster_penalty = 4;
165
+ repeated .CMsgSteamDatagramClientPingSampleReply.POP.AltAddress alt_addresses = 7;
166
+ optional uint32 default_e2e_ping_ms = 3;
167
+ optional uint32 default_e2e_score = 5;
168
+ optional fixed32 p2p_via_peer_relay_pop_id = 6;
169
+ optional uint32 best_dc_ping_ms = 9;
170
+ optional uint32 best_dc_score = 10;
171
+ optional fixed32 best_dc_via_relay_pop_id = 11;
172
+ optional uint32 default_dc_ping_ms = 12;
173
+ optional uint32 default_dc_score = 13;
174
+ optional fixed32 default_dc_via_relay_pop_id = 14;
175
+ optional uint32 test_dc_ping_ms = 15;
176
+ optional uint32 test_dc_score = 16;
177
+ optional fixed32 test_dc_via_relay_pop_id = 17;
178
+ }
179
+
180
+ message LegacyDataCenter {
181
+ optional fixed32 data_center_id = 1;
182
+ optional fixed32 best_dc_via_relay_pop_id = 2;
183
+ optional uint32 best_dc_ping_ms = 3;
184
+ }
185
+
186
+ optional fixed32 connection_id = 1;
187
+ optional bool relay_override_active = 5;
188
+ repeated .CMsgSteamDatagramClientPingSampleReply.POP pops = 2;
189
+ repeated .CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter legacy_data_centers = 3;
190
+ }
191
+
192
+ message CMsgSteamDatagramClientSwitchedPrimary {
193
+ message RouterQuality {
194
+ optional uint32 score = 1;
195
+ optional uint32 front_ping = 2;
196
+ optional uint32 back_ping = 3;
197
+ optional uint32 seconds_until_down = 4;
198
+ }
199
+
200
+ optional fixed32 connection_id = 1;
201
+ optional fixed32 from_ip = 2;
202
+ optional uint32 from_port = 3;
203
+ optional fixed32 from_router_cluster = 4;
204
+ optional uint32 from_active_time = 5;
205
+ optional uint32 from_active_packets_recv = 6;
206
+ optional string from_dropped_reason = 7;
207
+ optional uint32 gap_ms = 8;
208
+ optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_now = 9;
209
+ optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_now = 10;
210
+ optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_then = 11;
211
+ optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_then = 12;
212
+ }
213
+
214
+ message CMsgSteamDatagramConnectRequest {
215
+ optional fixed32 connection_id = 1;
216
+ optional fixed64 my_timestamp = 4;
217
+ optional uint32 ping_est_ms = 5;
218
+ optional uint32 virtual_port = 9;
219
+ optional uint32 gameserver_relay_session_id = 2;
220
+ optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
221
+ optional .CMsgSteamDatagramCertificateSigned cert = 7;
222
+ optional fixed64 routing_secret = 10;
223
+ optional fixed64 legacy_client_steam_id = 3;
224
+ }
225
+
226
+ message CMsgSteamDatagramConnectOK {
227
+ optional fixed32 client_connection_id = 1;
228
+ optional fixed32 server_connection_id = 7;
229
+ optional fixed64 your_timestamp = 3;
230
+ optional uint32 delay_time_usec = 4;
231
+ optional uint32 gameserver_relay_session_id = 2;
232
+ optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
233
+ optional .CMsgSteamDatagramCertificateSigned cert = 6;
234
+ }
235
+
236
+ message CMsgSteamNetworkingP2PSDRRoutingSummary {
237
+ optional uint32 initial_ping = 1;
238
+ optional uint32 initial_ping_front_local = 2;
239
+ optional uint32 initial_ping_front_remote = 3;
240
+ optional uint32 initial_score = 4;
241
+ optional fixed32 initial_pop_local = 5;
242
+ optional fixed32 initial_pop_remote = 6;
243
+ optional uint32 best_ping = 11;
244
+ optional uint32 best_ping_front_local = 12;
245
+ optional uint32 best_ping_front_remote = 13;
246
+ optional uint32 best_score = 14;
247
+ optional fixed32 best_pop_local = 15;
248
+ optional fixed32 best_pop_remote = 16;
249
+ optional uint32 best_time = 17;
250
+ optional uint32 negotiation_ms = 7;
251
+ optional uint32 selected_seconds = 8;
252
+ }
253
+
254
+ message CMsgSteamDatagramP2PRoutingSummary {
255
+ optional .CMsgSteamNetworkingICESessionSummary ice = 2;
256
+ optional .CMsgSteamNetworkingP2PSDRRoutingSummary sdr = 3;
257
+ }
258
+
259
+ message CMsgSteamDatagramConnectionClosed {
260
+ enum ERelayMode {
261
+ None = 0;
262
+ EndToEnd = 1;
263
+ ClosedByPeer = 2;
264
+ }
265
+
266
+ optional fixed32 to_connection_id = 7;
267
+ optional fixed32 from_connection_id = 8;
268
+ optional string from_identity_string = 15;
269
+ optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_from_identity_binary = 13;
270
+ optional fixed64 legacy_from_steam_id = 3;
271
+ optional uint32 legacy_gameserver_relay_session_id = 2;
272
+ optional fixed32 to_relay_session_id = 9;
273
+ optional fixed32 from_relay_session_id = 10;
274
+ optional bytes forward_target_relay_routing_token = 11;
275
+ optional uint32 forward_target_revision = 12;
276
+ optional .CMsgSteamDatagramConnectionClosed.ERelayMode relay_mode = 4 [default = None];
277
+ optional string debug = 5;
278
+ optional uint32 reason_code = 6;
279
+ optional fixed64 routing_secret = 14;
280
+ optional bool not_primary_session = 16;
281
+ optional bool not_primary_transport = 19;
282
+ optional bool relay_override_active = 22;
283
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 17;
284
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 18;
285
+ optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 21;
286
+ }
287
+
288
+ message CMsgSteamDatagramNoConnection {
289
+ optional fixed32 to_connection_id = 5;
290
+ optional fixed32 from_connection_id = 6;
291
+ optional uint32 legacy_gameserver_relay_session_id = 2;
292
+ optional fixed32 to_relay_session_id = 9;
293
+ optional fixed32 from_relay_session_id = 10;
294
+ optional string from_identity_string = 7;
295
+ optional fixed64 legacy_from_steam_id = 3;
296
+ optional bool end_to_end = 4;
297
+ optional bool not_primary_session = 12;
298
+ optional bool not_primary_transport = 15;
299
+ optional bool relay_override_active = 17;
300
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 13;
301
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 14;
302
+ optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 16;
303
+ optional fixed64 routing_secret = 11;
304
+ optional fixed32 dummy_pad = 1023;
305
+ }
306
+
307
+ message CMsgSteamDatagramGameserverSessionRequest {
308
+ optional bytes ticket = 1;
309
+ optional fixed32 challenge_time = 3;
310
+ optional fixed64 challenge = 4;
311
+ optional fixed32 client_connection_id = 5;
312
+ optional fixed32 server_connection_id = 8;
313
+ optional uint64 network_config_version = 6;
314
+ optional uint32 protocol_version = 7;
315
+ optional string platform = 9;
316
+ optional string build = 10;
317
+ optional string dev_gameserver_identity = 100;
318
+ optional .CMsgSteamDatagramCertificateSigned dev_client_cert = 101;
319
+ }
320
+
321
+ message CMsgSteamDatagramGameserverSessionEstablished {
322
+ optional fixed32 connection_id = 1;
323
+ optional string gameserver_identity_string = 2;
324
+ optional uint32 seconds_until_shutdown = 4;
325
+ optional uint32 seq_num_r2c = 6;
326
+ optional bytes dummy_legacy_identity_binary = 7;
327
+ optional fixed64 legacy_gameserver_steamid = 3;
328
+ }
329
+
330
+ message CMsgSteamDatagramConnectionStatsClientToRouter {
331
+ enum Flags {
332
+ ACK_REQUEST_RELAY = 1;
333
+ ACK_REQUEST_E2E = 2;
334
+ ACK_REQUEST_IMMEDIATE = 4;
335
+ NOT_PRIMARY_SESSION = 8;
336
+ CLIENT_RELAY_OVERRIDE = 32;
337
+ }
338
+
339
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
340
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
341
+ repeated fixed32 ack_relay = 4;
342
+ repeated fixed32 legacy_ack_e2e = 5;
343
+ optional uint32 flags = 6;
344
+ optional fixed32 client_connection_id = 8;
345
+ optional uint32 seq_num_c2r = 9;
346
+ optional uint32 seq_num_e2e = 10;
347
+ }
348
+
349
+ message CMsgSteamDatagramConnectionStatsRouterToClient {
350
+ enum Flags {
351
+ ACK_REQUEST_RELAY = 1;
352
+ ACK_REQUEST_E2E = 2;
353
+ ACK_REQUEST_IMMEDIATE = 4;
354
+ }
355
+
356
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
357
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
358
+ optional uint32 seconds_until_shutdown = 6;
359
+ optional fixed32 migrate_request_ip = 10;
360
+ optional uint32 migrate_request_port = 11;
361
+ optional uint32 scoring_penalty_relay_cluster = 12;
362
+ repeated fixed32 ack_relay = 13;
363
+ repeated fixed32 legacy_ack_e2e = 14;
364
+ optional uint32 flags = 15;
365
+ optional fixed32 client_connection_id = 7;
366
+ optional uint32 seq_num_r2c = 8;
367
+ optional uint32 seq_num_e2e = 9;
368
+ }
369
+
370
+ message CMsgSteamDatagramConnectionStatsRouterToServer {
371
+ enum Flags {
372
+ ACK_REQUEST_RELAY = 1;
373
+ ACK_REQUEST_E2E = 2;
374
+ ACK_REQUEST_IMMEDIATE = 4;
375
+ }
376
+
377
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
378
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
379
+ repeated fixed32 ack_relay = 10;
380
+ repeated fixed32 legacy_ack_e2e = 11;
381
+ optional uint32 flags = 12;
382
+ optional uint32 seq_num_r2s = 5;
383
+ optional uint32 seq_num_e2e = 6;
384
+ optional string client_identity_string = 15;
385
+ optional fixed64 legacy_client_steam_id = 7;
386
+ optional uint32 relay_session_id = 8;
387
+ optional fixed32 client_connection_id = 9;
388
+ optional fixed32 server_connection_id = 13;
389
+ optional fixed64 routing_secret = 14;
390
+ }
391
+
392
+ message CMsgSteamDatagramConnectionStatsServerToRouter {
393
+ enum Flags {
394
+ ACK_REQUEST_RELAY = 1;
395
+ ACK_REQUEST_E2E = 2;
396
+ ACK_REQUEST_IMMEDIATE = 4;
397
+ }
398
+
399
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
400
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
401
+ repeated fixed32 ack_relay = 8;
402
+ repeated fixed32 legacy_ack_e2e = 9;
403
+ optional uint32 flags = 10;
404
+ optional uint32 seq_num_s2r = 3;
405
+ optional uint32 seq_num_e2e = 4;
406
+ optional uint32 relay_session_id = 6;
407
+ optional fixed32 client_connection_id = 7;
408
+ optional fixed32 server_connection_id = 11;
409
+ }
410
+
411
+ message CMsgSteamDatagramP2PSessionRequestBody {
412
+ message EncryptedData {
413
+ optional string peer_identity_string = 1;
414
+ }
415
+
416
+ optional fixed32 challenge_time = 1;
417
+ optional fixed64 challenge = 2;
418
+ optional fixed32 client_connection_id = 3;
419
+ optional fixed64 legacy_peer_steam_id = 4;
420
+ optional string peer_identity_string = 11;
421
+ optional fixed32 peer_connection_id = 5;
422
+ optional bytes encrypted_data = 14;
423
+ optional uint32 encryption_your_public_key_lead_byte = 15;
424
+ optional bytes encryption_my_ephemeral_public_key = 16;
425
+ optional uint32 protocol_version = 8;
426
+ optional uint64 network_config_version = 9;
427
+ optional string platform = 12;
428
+ optional string build = 13;
429
+ }
430
+
431
+ message CMsgSteamDatagramP2PSessionRequest {
432
+ optional .CMsgSteamDatagramCertificateSigned cert = 1;
433
+ optional bytes body = 2;
434
+ optional bytes signature = 3;
435
+ }
436
+
437
+ message CMsgSteamDatagramP2PSessionEstablished {
438
+ optional fixed32 connection_id = 1;
439
+ optional uint32 seconds_until_shutdown = 3;
440
+ optional bytes relay_routing_token = 4;
441
+ optional uint32 seq_num_r2c = 5;
442
+ }
443
+
444
+ message CMsgSteamDatagramConnectionStatsP2PClientToRouter {
445
+ enum Flags {
446
+ ACK_REQUEST_RELAY = 1;
447
+ ACK_REQUEST_E2E = 2;
448
+ ACK_REQUEST_IMMEDIATE = 4;
449
+ NOT_PRIMARY_SESSION = 8;
450
+ NOT_PRIMARY_TRANSPORT_E2E = 16;
451
+ CLIENT_RELAY_OVERRIDE = 32;
452
+ }
453
+
454
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
455
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
456
+ optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 14;
457
+ repeated fixed32 ack_relay = 3;
458
+ repeated fixed32 legacy_ack_e2e = 4;
459
+ optional uint32 flags = 5;
460
+ optional bytes forward_target_relay_routing_token = 6;
461
+ optional uint32 forward_target_revision = 7;
462
+ optional bytes routes = 8;
463
+ optional uint32 ack_peer_routes_revision = 9;
464
+ optional fixed32 connection_id = 10;
465
+ optional uint32 seq_num_c2r = 11;
466
+ optional uint32 seq_num_e2e = 12;
467
+ }
468
+
469
+ message CMsgSteamDatagramConnectionStatsP2PRouterToClient {
470
+ enum Flags {
471
+ ACK_REQUEST_RELAY = 1;
472
+ ACK_REQUEST_E2E = 2;
473
+ ACK_REQUEST_IMMEDIATE = 4;
474
+ NOT_PRIMARY_TRANSPORT_E2E = 16;
475
+ }
476
+
477
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
478
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
479
+ optional uint32 seconds_until_shutdown = 3;
480
+ optional fixed32 migrate_request_ip = 4;
481
+ optional uint32 migrate_request_port = 5;
482
+ optional uint32 scoring_penalty_relay_cluster = 6;
483
+ repeated fixed32 ack_relay = 7;
484
+ repeated fixed32 legacy_ack_e2e = 8;
485
+ optional uint32 flags = 9;
486
+ optional uint32 ack_forward_target_revision = 10;
487
+ optional bytes routes = 11;
488
+ optional uint32 ack_peer_routes_revision = 12;
489
+ optional fixed32 connection_id = 13;
490
+ optional uint32 seq_num_r2c = 14;
491
+ optional uint32 seq_num_e2e = 15;
492
+ }
493
+
494
+ message CMsgSteamDatagramP2PBadRouteRouterToClient {
495
+ optional fixed32 connection_id = 1;
496
+ optional bytes failed_relay_routing_token = 2;
497
+ optional uint32 ack_forward_target_revision = 3;
498
+ optional fixed64 kludge_pad = 99;
499
+ }
500
+
501
+ message CMsgSteamDatagramP2PRoutes {
502
+ message RelayCluster {
503
+ optional fixed32 pop_id = 1;
504
+ optional uint32 ping_ms = 2;
505
+ optional uint32 score_penalty = 3;
506
+ optional bytes session_relay_routing_token = 4;
507
+ }
508
+
509
+ message Route {
510
+ optional fixed32 my_pop_id = 1;
511
+ optional fixed32 your_pop_id = 2;
512
+ optional uint32 legacy_score = 3;
513
+ optional uint32 interior_score = 4;
514
+ }
515
+
516
+ repeated .CMsgSteamDatagramP2PRoutes.RelayCluster relay_clusters = 1;
517
+ repeated .CMsgSteamDatagramP2PRoutes.Route routes = 2;
518
+ optional uint32 revision = 3;
519
+ }
520
+
521
+ message CMsgSteamDatagramSetSecondaryAddressRequest {
522
+ optional fixed32 client_main_ip = 1;
523
+ optional fixed32 client_main_port = 2;
524
+ optional fixed32 client_connection_id = 3;
525
+ optional string client_identity = 4;
526
+ optional bool request_send_duplication = 5;
527
+ optional bytes kludge_pad = 99;
528
+ }
529
+
530
+ message CMsgSteamDatagramSetSecondaryAddressResult {
531
+ optional bool success = 1;
532
+ optional string message = 2;
533
+ }