steamutils 1.2.50 → 1.2.52

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