steamutils 1.4.31 → 1.4.32

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 +0 -1
  2. package/.idea/git_toolbox_blame.xml +6 -0
  3. package/.idea/git_toolbox_prj.xml +15 -0
  4. package/.prettierrc.json +3 -3
  5. package/SteamClient.js +2665 -2658
  6. package/axios.js +84 -84
  7. package/bufferHelpers.js +115 -115
  8. package/cheerio.js +103 -103
  9. package/const.js +451 -451
  10. package/create_remote_file.js +66 -66
  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 +6784 -6784
  237. package/utils.js +249 -238
  238. package/.idea/deployment.xml +0 -14
@@ -1,534 +1,534 @@
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
- optional bytes routing_blob = 12;
133
- }
134
-
135
- message CMsgSteamDatagramNoSessionRelayToClient {
136
- optional fixed32 connection_id = 7;
137
- optional fixed32 your_public_ip = 2;
138
- optional fixed32 your_public_port = 6;
139
- optional fixed32 server_time = 3;
140
- optional fixed64 challenge = 4;
141
- optional uint32 seconds_until_shutdown = 5;
142
- }
143
-
144
- message CMsgSteamDatagramNoSessionRelayToPeer {
145
- optional uint32 legacy_relay_session_id = 1;
146
- optional fixed32 from_relay_session_id = 2;
147
- optional fixed32 from_connection_id = 7;
148
- optional fixed64 kludge_pad = 99;
149
- }
150
-
151
- message CMsgSteamDatagramClientPingSampleRequest {
152
- optional fixed32 connection_id = 1;
153
- }
154
-
155
- message CMsgSteamDatagramClientPingSampleReply {
156
- message POP {
157
- message AltAddress {
158
- optional string id = 1;
159
- optional uint32 front_ping_ms = 2;
160
- optional uint32 penalty = 3;
161
- }
162
-
163
- optional fixed32 pop_id = 1;
164
- optional uint32 default_front_ping_ms = 2;
165
- optional uint32 cluster_penalty = 4;
166
- repeated .CMsgSteamDatagramClientPingSampleReply.POP.AltAddress alt_addresses = 7;
167
- optional uint32 default_e2e_ping_ms = 3;
168
- optional uint32 default_e2e_score = 5;
169
- optional fixed32 p2p_via_peer_relay_pop_id = 6;
170
- optional uint32 best_dc_ping_ms = 9;
171
- optional uint32 best_dc_score = 10;
172
- optional fixed32 best_dc_via_relay_pop_id = 11;
173
- optional uint32 default_dc_ping_ms = 12;
174
- optional uint32 default_dc_score = 13;
175
- optional fixed32 default_dc_via_relay_pop_id = 14;
176
- optional uint32 test_dc_ping_ms = 15;
177
- optional uint32 test_dc_score = 16;
178
- optional fixed32 test_dc_via_relay_pop_id = 17;
179
- }
180
-
181
- message LegacyDataCenter {
182
- optional fixed32 data_center_id = 1;
183
- optional fixed32 best_dc_via_relay_pop_id = 2;
184
- optional uint32 best_dc_ping_ms = 3;
185
- }
186
-
187
- optional fixed32 connection_id = 1;
188
- optional bool relay_override_active = 5;
189
- repeated .CMsgSteamDatagramClientPingSampleReply.POP pops = 2;
190
- repeated .CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter legacy_data_centers = 3;
191
- }
192
-
193
- message CMsgSteamDatagramClientSwitchedPrimary {
194
- message RouterQuality {
195
- optional uint32 score = 1;
196
- optional uint32 front_ping = 2;
197
- optional uint32 back_ping = 3;
198
- optional uint32 seconds_until_down = 4;
199
- }
200
-
201
- optional fixed32 connection_id = 1;
202
- optional fixed32 from_ip = 2;
203
- optional uint32 from_port = 3;
204
- optional fixed32 from_router_cluster = 4;
205
- optional uint32 from_active_time = 5;
206
- optional uint32 from_active_packets_recv = 6;
207
- optional string from_dropped_reason = 7;
208
- optional uint32 gap_ms = 8;
209
- optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_now = 9;
210
- optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_now = 10;
211
- optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_then = 11;
212
- optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_then = 12;
213
- }
214
-
215
- message CMsgSteamDatagramConnectRequest {
216
- optional fixed32 connection_id = 1;
217
- optional fixed64 my_timestamp = 4;
218
- optional uint32 ping_est_ms = 5;
219
- optional uint32 virtual_port = 9;
220
- optional uint32 gameserver_relay_session_id = 2;
221
- optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
222
- optional .CMsgSteamDatagramCertificateSigned cert = 7;
223
- optional fixed64 routing_secret = 10;
224
- optional fixed64 legacy_client_steam_id = 3;
225
- }
226
-
227
- message CMsgSteamDatagramConnectOK {
228
- optional fixed32 client_connection_id = 1;
229
- optional fixed32 server_connection_id = 7;
230
- optional fixed64 your_timestamp = 3;
231
- optional uint32 delay_time_usec = 4;
232
- optional uint32 gameserver_relay_session_id = 2;
233
- optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
234
- optional .CMsgSteamDatagramCertificateSigned cert = 6;
235
- }
236
-
237
- message CMsgSteamNetworkingP2PSDRRoutingSummary {
238
- optional uint32 initial_ping = 1;
239
- optional uint32 initial_ping_front_local = 2;
240
- optional uint32 initial_ping_front_remote = 3;
241
- optional uint32 initial_score = 4;
242
- optional fixed32 initial_pop_local = 5;
243
- optional fixed32 initial_pop_remote = 6;
244
- optional uint32 best_ping = 11;
245
- optional uint32 best_ping_front_local = 12;
246
- optional uint32 best_ping_front_remote = 13;
247
- optional uint32 best_score = 14;
248
- optional fixed32 best_pop_local = 15;
249
- optional fixed32 best_pop_remote = 16;
250
- optional uint32 best_time = 17;
251
- optional uint32 negotiation_ms = 7;
252
- optional uint32 selected_seconds = 8;
253
- }
254
-
255
- message CMsgSteamDatagramP2PRoutingSummary {
256
- optional .CMsgSteamNetworkingICESessionSummary ice = 2;
257
- optional .CMsgSteamNetworkingP2PSDRRoutingSummary sdr = 3;
258
- }
259
-
260
- message CMsgSteamDatagramConnectionClosed {
261
- enum ERelayMode {
262
- None = 0;
263
- EndToEnd = 1;
264
- ClosedByPeer = 2;
265
- }
266
-
267
- optional fixed32 to_connection_id = 7;
268
- optional fixed32 from_connection_id = 8;
269
- optional string from_identity_string = 15;
270
- optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_from_identity_binary = 13;
271
- optional fixed64 legacy_from_steam_id = 3;
272
- optional uint32 legacy_gameserver_relay_session_id = 2;
273
- optional fixed32 to_relay_session_id = 9;
274
- optional fixed32 from_relay_session_id = 10;
275
- optional bytes forward_target_relay_routing_token = 11;
276
- optional uint32 forward_target_revision = 12;
277
- optional .CMsgSteamDatagramConnectionClosed.ERelayMode relay_mode = 4 [default = None];
278
- optional string debug = 5;
279
- optional uint32 reason_code = 6;
280
- optional fixed64 routing_secret = 14;
281
- optional bool not_primary_session = 16;
282
- optional bool not_primary_transport = 19;
283
- optional bool relay_override_active = 22;
284
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 17;
285
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 18;
286
- optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 21;
287
- }
288
-
289
- message CMsgSteamDatagramNoConnection {
290
- optional fixed32 to_connection_id = 5;
291
- optional fixed32 from_connection_id = 6;
292
- optional uint32 legacy_gameserver_relay_session_id = 2;
293
- optional fixed32 to_relay_session_id = 9;
294
- optional fixed32 from_relay_session_id = 10;
295
- optional string from_identity_string = 7;
296
- optional fixed64 legacy_from_steam_id = 3;
297
- optional bool end_to_end = 4;
298
- optional bool not_primary_session = 12;
299
- optional bool not_primary_transport = 15;
300
- optional bool relay_override_active = 17;
301
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 13;
302
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 14;
303
- optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 16;
304
- optional fixed64 routing_secret = 11;
305
- optional fixed32 dummy_pad = 1023;
306
- }
307
-
308
- message CMsgSteamDatagramGameserverSessionRequest {
309
- optional bytes ticket = 1;
310
- optional fixed32 challenge_time = 3;
311
- optional fixed64 challenge = 4;
312
- optional fixed32 client_connection_id = 5;
313
- optional fixed32 server_connection_id = 8;
314
- optional uint64 network_config_version = 6;
315
- optional uint32 protocol_version = 7;
316
- optional string platform = 9;
317
- optional string build = 10;
318
- optional string dev_gameserver_identity = 100;
319
- optional .CMsgSteamDatagramCertificateSigned dev_client_cert = 101;
320
- }
321
-
322
- message CMsgSteamDatagramGameserverSessionEstablished {
323
- optional fixed32 connection_id = 1;
324
- optional string gameserver_identity_string = 2;
325
- optional uint32 seconds_until_shutdown = 4;
326
- optional uint32 seq_num_r2c = 6;
327
- optional bytes dummy_legacy_identity_binary = 7;
328
- optional fixed64 legacy_gameserver_steamid = 3;
329
- }
330
-
331
- message CMsgSteamDatagramConnectionStatsClientToRouter {
332
- enum Flags {
333
- ACK_REQUEST_RELAY = 1;
334
- ACK_REQUEST_E2E = 2;
335
- ACK_REQUEST_IMMEDIATE = 4;
336
- NOT_PRIMARY_SESSION = 8;
337
- CLIENT_RELAY_OVERRIDE = 32;
338
- }
339
-
340
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
341
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
342
- repeated fixed32 ack_relay = 4;
343
- repeated fixed32 legacy_ack_e2e = 5;
344
- optional uint32 flags = 6;
345
- optional fixed32 client_connection_id = 8;
346
- optional uint32 seq_num_c2r = 9;
347
- optional uint32 seq_num_e2e = 10;
348
- }
349
-
350
- message CMsgSteamDatagramConnectionStatsRouterToClient {
351
- enum Flags {
352
- ACK_REQUEST_RELAY = 1;
353
- ACK_REQUEST_E2E = 2;
354
- ACK_REQUEST_IMMEDIATE = 4;
355
- }
356
-
357
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
358
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
359
- optional uint32 seconds_until_shutdown = 6;
360
- optional fixed32 migrate_request_ip = 10;
361
- optional uint32 migrate_request_port = 11;
362
- optional uint32 scoring_penalty_relay_cluster = 12;
363
- repeated fixed32 ack_relay = 13;
364
- repeated fixed32 legacy_ack_e2e = 14;
365
- optional uint32 flags = 15;
366
- optional fixed32 client_connection_id = 7;
367
- optional uint32 seq_num_r2c = 8;
368
- optional uint32 seq_num_e2e = 9;
369
- }
370
-
371
- message CMsgSteamDatagramConnectionStatsRouterToServer {
372
- enum Flags {
373
- ACK_REQUEST_RELAY = 1;
374
- ACK_REQUEST_E2E = 2;
375
- ACK_REQUEST_IMMEDIATE = 4;
376
- }
377
-
378
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
379
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
380
- repeated fixed32 ack_relay = 10;
381
- repeated fixed32 legacy_ack_e2e = 11;
382
- optional uint32 flags = 12;
383
- optional uint32 seq_num_r2s = 5;
384
- optional uint32 seq_num_e2e = 6;
385
- optional string client_identity_string = 15;
386
- optional fixed64 legacy_client_steam_id = 7;
387
- optional uint32 relay_session_id = 8;
388
- optional fixed32 client_connection_id = 9;
389
- optional fixed32 server_connection_id = 13;
390
- optional fixed64 routing_secret = 14;
391
- }
392
-
393
- message CMsgSteamDatagramConnectionStatsServerToRouter {
394
- enum Flags {
395
- ACK_REQUEST_RELAY = 1;
396
- ACK_REQUEST_E2E = 2;
397
- ACK_REQUEST_IMMEDIATE = 4;
398
- }
399
-
400
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
401
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
402
- repeated fixed32 ack_relay = 8;
403
- repeated fixed32 legacy_ack_e2e = 9;
404
- optional uint32 flags = 10;
405
- optional uint32 seq_num_s2r = 3;
406
- optional uint32 seq_num_e2e = 4;
407
- optional uint32 relay_session_id = 6;
408
- optional fixed32 client_connection_id = 7;
409
- optional fixed32 server_connection_id = 11;
410
- }
411
-
412
- message CMsgSteamDatagramP2PSessionRequestBody {
413
- message EncryptedData {
414
- optional string peer_identity_string = 1;
415
- }
416
-
417
- optional fixed32 challenge_time = 1;
418
- optional fixed64 challenge = 2;
419
- optional fixed32 client_connection_id = 3;
420
- optional fixed64 legacy_peer_steam_id = 4;
421
- optional string peer_identity_string = 11;
422
- optional fixed32 peer_connection_id = 5;
423
- optional bytes encrypted_data = 14;
424
- optional uint32 encryption_your_public_key_lead_byte = 15;
425
- optional bytes encryption_my_ephemeral_public_key = 16;
426
- optional uint32 protocol_version = 8;
427
- optional uint64 network_config_version = 9;
428
- optional string platform = 12;
429
- optional string build = 13;
430
- }
431
-
432
- message CMsgSteamDatagramP2PSessionRequest {
433
- optional .CMsgSteamDatagramCertificateSigned cert = 1;
434
- optional bytes body = 2;
435
- optional bytes signature = 3;
436
- }
437
-
438
- message CMsgSteamDatagramP2PSessionEstablished {
439
- optional fixed32 connection_id = 1;
440
- optional uint32 seconds_until_shutdown = 3;
441
- optional bytes relay_routing_token = 4;
442
- optional uint32 seq_num_r2c = 5;
443
- }
444
-
445
- message CMsgSteamDatagramConnectionStatsP2PClientToRouter {
446
- enum Flags {
447
- ACK_REQUEST_RELAY = 1;
448
- ACK_REQUEST_E2E = 2;
449
- ACK_REQUEST_IMMEDIATE = 4;
450
- NOT_PRIMARY_SESSION = 8;
451
- NOT_PRIMARY_TRANSPORT_E2E = 16;
452
- CLIENT_RELAY_OVERRIDE = 32;
453
- }
454
-
455
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
456
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
457
- optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 14;
458
- repeated fixed32 ack_relay = 3;
459
- repeated fixed32 legacy_ack_e2e = 4;
460
- optional uint32 flags = 5;
461
- optional bytes forward_target_relay_routing_token = 6;
462
- optional uint32 forward_target_revision = 7;
463
- optional bytes routes = 8;
464
- optional uint32 ack_peer_routes_revision = 9;
465
- optional fixed32 connection_id = 10;
466
- optional uint32 seq_num_c2r = 11;
467
- optional uint32 seq_num_e2e = 12;
468
- }
469
-
470
- message CMsgSteamDatagramConnectionStatsP2PRouterToClient {
471
- enum Flags {
472
- ACK_REQUEST_RELAY = 1;
473
- ACK_REQUEST_E2E = 2;
474
- ACK_REQUEST_IMMEDIATE = 4;
475
- NOT_PRIMARY_TRANSPORT_E2E = 16;
476
- }
477
-
478
- optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
479
- optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
480
- optional uint32 seconds_until_shutdown = 3;
481
- optional fixed32 migrate_request_ip = 4;
482
- optional uint32 migrate_request_port = 5;
483
- optional uint32 scoring_penalty_relay_cluster = 6;
484
- repeated fixed32 ack_relay = 7;
485
- repeated fixed32 legacy_ack_e2e = 8;
486
- optional uint32 flags = 9;
487
- optional uint32 ack_forward_target_revision = 10;
488
- optional bytes routes = 11;
489
- optional uint32 ack_peer_routes_revision = 12;
490
- optional fixed32 connection_id = 13;
491
- optional uint32 seq_num_r2c = 14;
492
- optional uint32 seq_num_e2e = 15;
493
- }
494
-
495
- message CMsgSteamDatagramP2PBadRouteRouterToClient {
496
- optional fixed32 connection_id = 1;
497
- optional bytes failed_relay_routing_token = 2;
498
- optional uint32 ack_forward_target_revision = 3;
499
- optional fixed64 kludge_pad = 99;
500
- }
501
-
502
- message CMsgSteamDatagramP2PRoutes {
503
- message RelayCluster {
504
- optional fixed32 pop_id = 1;
505
- optional uint32 ping_ms = 2;
506
- optional uint32 score_penalty = 3;
507
- optional bytes session_relay_routing_token = 4;
508
- }
509
-
510
- message Route {
511
- optional fixed32 my_pop_id = 1;
512
- optional fixed32 your_pop_id = 2;
513
- optional uint32 legacy_score = 3;
514
- optional uint32 interior_score = 4;
515
- }
516
-
517
- repeated .CMsgSteamDatagramP2PRoutes.RelayCluster relay_clusters = 1;
518
- repeated .CMsgSteamDatagramP2PRoutes.Route routes = 2;
519
- optional uint32 revision = 3;
520
- }
521
-
522
- message CMsgSteamDatagramSetSecondaryAddressRequest {
523
- optional fixed32 client_main_ip = 1;
524
- optional fixed32 client_main_port = 2;
525
- optional fixed32 client_connection_id = 3;
526
- optional string client_identity = 4;
527
- optional bool request_send_duplication = 5;
528
- optional bytes kludge_pad = 99;
529
- }
530
-
531
- message CMsgSteamDatagramSetSecondaryAddressResult {
532
- optional bool success = 1;
533
- optional string message = 2;
534
- }
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
+ optional bytes routing_blob = 12;
133
+ }
134
+
135
+ message CMsgSteamDatagramNoSessionRelayToClient {
136
+ optional fixed32 connection_id = 7;
137
+ optional fixed32 your_public_ip = 2;
138
+ optional fixed32 your_public_port = 6;
139
+ optional fixed32 server_time = 3;
140
+ optional fixed64 challenge = 4;
141
+ optional uint32 seconds_until_shutdown = 5;
142
+ }
143
+
144
+ message CMsgSteamDatagramNoSessionRelayToPeer {
145
+ optional uint32 legacy_relay_session_id = 1;
146
+ optional fixed32 from_relay_session_id = 2;
147
+ optional fixed32 from_connection_id = 7;
148
+ optional fixed64 kludge_pad = 99;
149
+ }
150
+
151
+ message CMsgSteamDatagramClientPingSampleRequest {
152
+ optional fixed32 connection_id = 1;
153
+ }
154
+
155
+ message CMsgSteamDatagramClientPingSampleReply {
156
+ message POP {
157
+ message AltAddress {
158
+ optional string id = 1;
159
+ optional uint32 front_ping_ms = 2;
160
+ optional uint32 penalty = 3;
161
+ }
162
+
163
+ optional fixed32 pop_id = 1;
164
+ optional uint32 default_front_ping_ms = 2;
165
+ optional uint32 cluster_penalty = 4;
166
+ repeated .CMsgSteamDatagramClientPingSampleReply.POP.AltAddress alt_addresses = 7;
167
+ optional uint32 default_e2e_ping_ms = 3;
168
+ optional uint32 default_e2e_score = 5;
169
+ optional fixed32 p2p_via_peer_relay_pop_id = 6;
170
+ optional uint32 best_dc_ping_ms = 9;
171
+ optional uint32 best_dc_score = 10;
172
+ optional fixed32 best_dc_via_relay_pop_id = 11;
173
+ optional uint32 default_dc_ping_ms = 12;
174
+ optional uint32 default_dc_score = 13;
175
+ optional fixed32 default_dc_via_relay_pop_id = 14;
176
+ optional uint32 test_dc_ping_ms = 15;
177
+ optional uint32 test_dc_score = 16;
178
+ optional fixed32 test_dc_via_relay_pop_id = 17;
179
+ }
180
+
181
+ message LegacyDataCenter {
182
+ optional fixed32 data_center_id = 1;
183
+ optional fixed32 best_dc_via_relay_pop_id = 2;
184
+ optional uint32 best_dc_ping_ms = 3;
185
+ }
186
+
187
+ optional fixed32 connection_id = 1;
188
+ optional bool relay_override_active = 5;
189
+ repeated .CMsgSteamDatagramClientPingSampleReply.POP pops = 2;
190
+ repeated .CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter legacy_data_centers = 3;
191
+ }
192
+
193
+ message CMsgSteamDatagramClientSwitchedPrimary {
194
+ message RouterQuality {
195
+ optional uint32 score = 1;
196
+ optional uint32 front_ping = 2;
197
+ optional uint32 back_ping = 3;
198
+ optional uint32 seconds_until_down = 4;
199
+ }
200
+
201
+ optional fixed32 connection_id = 1;
202
+ optional fixed32 from_ip = 2;
203
+ optional uint32 from_port = 3;
204
+ optional fixed32 from_router_cluster = 4;
205
+ optional uint32 from_active_time = 5;
206
+ optional uint32 from_active_packets_recv = 6;
207
+ optional string from_dropped_reason = 7;
208
+ optional uint32 gap_ms = 8;
209
+ optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_now = 9;
210
+ optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_now = 10;
211
+ optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality from_quality_then = 11;
212
+ optional .CMsgSteamDatagramClientSwitchedPrimary.RouterQuality to_quality_then = 12;
213
+ }
214
+
215
+ message CMsgSteamDatagramConnectRequest {
216
+ optional fixed32 connection_id = 1;
217
+ optional fixed64 my_timestamp = 4;
218
+ optional uint32 ping_est_ms = 5;
219
+ optional uint32 virtual_port = 9;
220
+ optional uint32 gameserver_relay_session_id = 2;
221
+ optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 6;
222
+ optional .CMsgSteamDatagramCertificateSigned cert = 7;
223
+ optional fixed64 routing_secret = 10;
224
+ optional fixed64 legacy_client_steam_id = 3;
225
+ }
226
+
227
+ message CMsgSteamDatagramConnectOK {
228
+ optional fixed32 client_connection_id = 1;
229
+ optional fixed32 server_connection_id = 7;
230
+ optional fixed64 your_timestamp = 3;
231
+ optional uint32 delay_time_usec = 4;
232
+ optional uint32 gameserver_relay_session_id = 2;
233
+ optional .CMsgSteamDatagramSessionCryptInfoSigned crypt = 5;
234
+ optional .CMsgSteamDatagramCertificateSigned cert = 6;
235
+ }
236
+
237
+ message CMsgSteamNetworkingP2PSDRRoutingSummary {
238
+ optional uint32 initial_ping = 1;
239
+ optional uint32 initial_ping_front_local = 2;
240
+ optional uint32 initial_ping_front_remote = 3;
241
+ optional uint32 initial_score = 4;
242
+ optional fixed32 initial_pop_local = 5;
243
+ optional fixed32 initial_pop_remote = 6;
244
+ optional uint32 best_ping = 11;
245
+ optional uint32 best_ping_front_local = 12;
246
+ optional uint32 best_ping_front_remote = 13;
247
+ optional uint32 best_score = 14;
248
+ optional fixed32 best_pop_local = 15;
249
+ optional fixed32 best_pop_remote = 16;
250
+ optional uint32 best_time = 17;
251
+ optional uint32 negotiation_ms = 7;
252
+ optional uint32 selected_seconds = 8;
253
+ }
254
+
255
+ message CMsgSteamDatagramP2PRoutingSummary {
256
+ optional .CMsgSteamNetworkingICESessionSummary ice = 2;
257
+ optional .CMsgSteamNetworkingP2PSDRRoutingSummary sdr = 3;
258
+ }
259
+
260
+ message CMsgSteamDatagramConnectionClosed {
261
+ enum ERelayMode {
262
+ None = 0;
263
+ EndToEnd = 1;
264
+ ClosedByPeer = 2;
265
+ }
266
+
267
+ optional fixed32 to_connection_id = 7;
268
+ optional fixed32 from_connection_id = 8;
269
+ optional string from_identity_string = 15;
270
+ optional .CMsgSteamNetworkingIdentityLegacyBinary legacy_from_identity_binary = 13;
271
+ optional fixed64 legacy_from_steam_id = 3;
272
+ optional uint32 legacy_gameserver_relay_session_id = 2;
273
+ optional fixed32 to_relay_session_id = 9;
274
+ optional fixed32 from_relay_session_id = 10;
275
+ optional bytes forward_target_relay_routing_token = 11;
276
+ optional uint32 forward_target_revision = 12;
277
+ optional .CMsgSteamDatagramConnectionClosed.ERelayMode relay_mode = 4 [default = None];
278
+ optional string debug = 5;
279
+ optional uint32 reason_code = 6;
280
+ optional fixed64 routing_secret = 14;
281
+ optional bool not_primary_session = 16;
282
+ optional bool not_primary_transport = 19;
283
+ optional bool relay_override_active = 22;
284
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 17;
285
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 18;
286
+ optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 21;
287
+ }
288
+
289
+ message CMsgSteamDatagramNoConnection {
290
+ optional fixed32 to_connection_id = 5;
291
+ optional fixed32 from_connection_id = 6;
292
+ optional uint32 legacy_gameserver_relay_session_id = 2;
293
+ optional fixed32 to_relay_session_id = 9;
294
+ optional fixed32 from_relay_session_id = 10;
295
+ optional string from_identity_string = 7;
296
+ optional fixed64 legacy_from_steam_id = 3;
297
+ optional bool end_to_end = 4;
298
+ optional bool not_primary_session = 12;
299
+ optional bool not_primary_transport = 15;
300
+ optional bool relay_override_active = 17;
301
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 13;
302
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 14;
303
+ optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 16;
304
+ optional fixed64 routing_secret = 11;
305
+ optional fixed32 dummy_pad = 1023;
306
+ }
307
+
308
+ message CMsgSteamDatagramGameserverSessionRequest {
309
+ optional bytes ticket = 1;
310
+ optional fixed32 challenge_time = 3;
311
+ optional fixed64 challenge = 4;
312
+ optional fixed32 client_connection_id = 5;
313
+ optional fixed32 server_connection_id = 8;
314
+ optional uint64 network_config_version = 6;
315
+ optional uint32 protocol_version = 7;
316
+ optional string platform = 9;
317
+ optional string build = 10;
318
+ optional string dev_gameserver_identity = 100;
319
+ optional .CMsgSteamDatagramCertificateSigned dev_client_cert = 101;
320
+ }
321
+
322
+ message CMsgSteamDatagramGameserverSessionEstablished {
323
+ optional fixed32 connection_id = 1;
324
+ optional string gameserver_identity_string = 2;
325
+ optional uint32 seconds_until_shutdown = 4;
326
+ optional uint32 seq_num_r2c = 6;
327
+ optional bytes dummy_legacy_identity_binary = 7;
328
+ optional fixed64 legacy_gameserver_steamid = 3;
329
+ }
330
+
331
+ message CMsgSteamDatagramConnectionStatsClientToRouter {
332
+ enum Flags {
333
+ ACK_REQUEST_RELAY = 1;
334
+ ACK_REQUEST_E2E = 2;
335
+ ACK_REQUEST_IMMEDIATE = 4;
336
+ NOT_PRIMARY_SESSION = 8;
337
+ CLIENT_RELAY_OVERRIDE = 32;
338
+ }
339
+
340
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
341
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
342
+ repeated fixed32 ack_relay = 4;
343
+ repeated fixed32 legacy_ack_e2e = 5;
344
+ optional uint32 flags = 6;
345
+ optional fixed32 client_connection_id = 8;
346
+ optional uint32 seq_num_c2r = 9;
347
+ optional uint32 seq_num_e2e = 10;
348
+ }
349
+
350
+ message CMsgSteamDatagramConnectionStatsRouterToClient {
351
+ enum Flags {
352
+ ACK_REQUEST_RELAY = 1;
353
+ ACK_REQUEST_E2E = 2;
354
+ ACK_REQUEST_IMMEDIATE = 4;
355
+ }
356
+
357
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
358
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
359
+ optional uint32 seconds_until_shutdown = 6;
360
+ optional fixed32 migrate_request_ip = 10;
361
+ optional uint32 migrate_request_port = 11;
362
+ optional uint32 scoring_penalty_relay_cluster = 12;
363
+ repeated fixed32 ack_relay = 13;
364
+ repeated fixed32 legacy_ack_e2e = 14;
365
+ optional uint32 flags = 15;
366
+ optional fixed32 client_connection_id = 7;
367
+ optional uint32 seq_num_r2c = 8;
368
+ optional uint32 seq_num_e2e = 9;
369
+ }
370
+
371
+ message CMsgSteamDatagramConnectionStatsRouterToServer {
372
+ enum Flags {
373
+ ACK_REQUEST_RELAY = 1;
374
+ ACK_REQUEST_E2E = 2;
375
+ ACK_REQUEST_IMMEDIATE = 4;
376
+ }
377
+
378
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
379
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
380
+ repeated fixed32 ack_relay = 10;
381
+ repeated fixed32 legacy_ack_e2e = 11;
382
+ optional uint32 flags = 12;
383
+ optional uint32 seq_num_r2s = 5;
384
+ optional uint32 seq_num_e2e = 6;
385
+ optional string client_identity_string = 15;
386
+ optional fixed64 legacy_client_steam_id = 7;
387
+ optional uint32 relay_session_id = 8;
388
+ optional fixed32 client_connection_id = 9;
389
+ optional fixed32 server_connection_id = 13;
390
+ optional fixed64 routing_secret = 14;
391
+ }
392
+
393
+ message CMsgSteamDatagramConnectionStatsServerToRouter {
394
+ enum Flags {
395
+ ACK_REQUEST_RELAY = 1;
396
+ ACK_REQUEST_E2E = 2;
397
+ ACK_REQUEST_IMMEDIATE = 4;
398
+ }
399
+
400
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
401
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
402
+ repeated fixed32 ack_relay = 8;
403
+ repeated fixed32 legacy_ack_e2e = 9;
404
+ optional uint32 flags = 10;
405
+ optional uint32 seq_num_s2r = 3;
406
+ optional uint32 seq_num_e2e = 4;
407
+ optional uint32 relay_session_id = 6;
408
+ optional fixed32 client_connection_id = 7;
409
+ optional fixed32 server_connection_id = 11;
410
+ }
411
+
412
+ message CMsgSteamDatagramP2PSessionRequestBody {
413
+ message EncryptedData {
414
+ optional string peer_identity_string = 1;
415
+ }
416
+
417
+ optional fixed32 challenge_time = 1;
418
+ optional fixed64 challenge = 2;
419
+ optional fixed32 client_connection_id = 3;
420
+ optional fixed64 legacy_peer_steam_id = 4;
421
+ optional string peer_identity_string = 11;
422
+ optional fixed32 peer_connection_id = 5;
423
+ optional bytes encrypted_data = 14;
424
+ optional uint32 encryption_your_public_key_lead_byte = 15;
425
+ optional bytes encryption_my_ephemeral_public_key = 16;
426
+ optional uint32 protocol_version = 8;
427
+ optional uint64 network_config_version = 9;
428
+ optional string platform = 12;
429
+ optional string build = 13;
430
+ }
431
+
432
+ message CMsgSteamDatagramP2PSessionRequest {
433
+ optional .CMsgSteamDatagramCertificateSigned cert = 1;
434
+ optional bytes body = 2;
435
+ optional bytes signature = 3;
436
+ }
437
+
438
+ message CMsgSteamDatagramP2PSessionEstablished {
439
+ optional fixed32 connection_id = 1;
440
+ optional uint32 seconds_until_shutdown = 3;
441
+ optional bytes relay_routing_token = 4;
442
+ optional uint32 seq_num_r2c = 5;
443
+ }
444
+
445
+ message CMsgSteamDatagramConnectionStatsP2PClientToRouter {
446
+ enum Flags {
447
+ ACK_REQUEST_RELAY = 1;
448
+ ACK_REQUEST_E2E = 2;
449
+ ACK_REQUEST_IMMEDIATE = 4;
450
+ NOT_PRIMARY_SESSION = 8;
451
+ NOT_PRIMARY_TRANSPORT_E2E = 16;
452
+ CLIENT_RELAY_OVERRIDE = 32;
453
+ }
454
+
455
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
456
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
457
+ optional .CMsgSteamDatagramP2PRoutingSummary p2p_routing_summary = 14;
458
+ repeated fixed32 ack_relay = 3;
459
+ repeated fixed32 legacy_ack_e2e = 4;
460
+ optional uint32 flags = 5;
461
+ optional bytes forward_target_relay_routing_token = 6;
462
+ optional uint32 forward_target_revision = 7;
463
+ optional bytes routes = 8;
464
+ optional uint32 ack_peer_routes_revision = 9;
465
+ optional fixed32 connection_id = 10;
466
+ optional uint32 seq_num_c2r = 11;
467
+ optional uint32 seq_num_e2e = 12;
468
+ }
469
+
470
+ message CMsgSteamDatagramConnectionStatsP2PRouterToClient {
471
+ enum Flags {
472
+ ACK_REQUEST_RELAY = 1;
473
+ ACK_REQUEST_E2E = 2;
474
+ ACK_REQUEST_IMMEDIATE = 4;
475
+ NOT_PRIMARY_TRANSPORT_E2E = 16;
476
+ }
477
+
478
+ optional .CMsgSteamDatagramConnectionQuality quality_relay = 1;
479
+ optional .CMsgSteamDatagramConnectionQuality quality_e2e = 2;
480
+ optional uint32 seconds_until_shutdown = 3;
481
+ optional fixed32 migrate_request_ip = 4;
482
+ optional uint32 migrate_request_port = 5;
483
+ optional uint32 scoring_penalty_relay_cluster = 6;
484
+ repeated fixed32 ack_relay = 7;
485
+ repeated fixed32 legacy_ack_e2e = 8;
486
+ optional uint32 flags = 9;
487
+ optional uint32 ack_forward_target_revision = 10;
488
+ optional bytes routes = 11;
489
+ optional uint32 ack_peer_routes_revision = 12;
490
+ optional fixed32 connection_id = 13;
491
+ optional uint32 seq_num_r2c = 14;
492
+ optional uint32 seq_num_e2e = 15;
493
+ }
494
+
495
+ message CMsgSteamDatagramP2PBadRouteRouterToClient {
496
+ optional fixed32 connection_id = 1;
497
+ optional bytes failed_relay_routing_token = 2;
498
+ optional uint32 ack_forward_target_revision = 3;
499
+ optional fixed64 kludge_pad = 99;
500
+ }
501
+
502
+ message CMsgSteamDatagramP2PRoutes {
503
+ message RelayCluster {
504
+ optional fixed32 pop_id = 1;
505
+ optional uint32 ping_ms = 2;
506
+ optional uint32 score_penalty = 3;
507
+ optional bytes session_relay_routing_token = 4;
508
+ }
509
+
510
+ message Route {
511
+ optional fixed32 my_pop_id = 1;
512
+ optional fixed32 your_pop_id = 2;
513
+ optional uint32 legacy_score = 3;
514
+ optional uint32 interior_score = 4;
515
+ }
516
+
517
+ repeated .CMsgSteamDatagramP2PRoutes.RelayCluster relay_clusters = 1;
518
+ repeated .CMsgSteamDatagramP2PRoutes.Route routes = 2;
519
+ optional uint32 revision = 3;
520
+ }
521
+
522
+ message CMsgSteamDatagramSetSecondaryAddressRequest {
523
+ optional fixed32 client_main_ip = 1;
524
+ optional fixed32 client_main_port = 2;
525
+ optional fixed32 client_connection_id = 3;
526
+ optional string client_identity = 4;
527
+ optional bool request_send_duplication = 5;
528
+ optional bytes kludge_pad = 99;
529
+ }
530
+
531
+ message CMsgSteamDatagramSetSecondaryAddressResult {
532
+ optional bool success = 1;
533
+ optional string message = 2;
534
+ }