steamutils 1.3.33 → 1.3.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/.idea/deployment.xml +21 -0
  2. package/.idea/steamutils.iml +1 -1
  3. package/.idea/vcs.xml +1 -1
  4. package/SteamClient.js +70 -10
  5. package/bufferHelpers.js +115 -115
  6. package/free_packages.json +10048 -10048
  7. package/index.js +29 -5
  8. package/package.json +2 -1
  9. package/protos/csgo/base_gcmessages_csgo.proto +547 -547
  10. package/protos/csgo/c_peer2peer_netmessages.proto +55 -55
  11. package/protos/csgo/clientmessages.proto +48 -48
  12. package/protos/csgo/connectionless_netmessages.proto +19 -19
  13. package/protos/csgo/cs_gameevents.proto +34 -34
  14. package/protos/csgo/cs_usercmd.proto +34 -34
  15. package/protos/csgo/cstrike15_gcmessages.proto +1402 -1402
  16. package/protos/csgo/cstrike15_usermessages.proto +596 -596
  17. package/protos/csgo/demo.proto +160 -160
  18. package/protos/csgo/econ_gcmessages.proto +228 -228
  19. package/protos/csgo/engine_gcmessages.proto +14 -14
  20. package/protos/csgo/enums_clientserver.proto +1529 -1529
  21. package/protos/csgo/fatdemo.proto +125 -125
  22. package/protos/csgo/gameevents.proto +120 -120
  23. package/protos/csgo/gcsdk_gcmessages.proto +323 -323
  24. package/protos/csgo/gcsystemmsgs.proto +242 -242
  25. package/protos/csgo/netmessages.proto +604 -604
  26. package/protos/csgo/network_connection.proto +126 -126
  27. package/protos/csgo/networkbasetypes.proto +244 -244
  28. package/protos/csgo/networksystem_protomessages.proto +17 -17
  29. package/protos/csgo/steamdatagram_messages_auth.proto +65 -65
  30. package/protos/csgo/steamdatagram_messages_sdr.proto +534 -534
  31. package/protos/csgo/steammessages.proto +597 -597
  32. package/protos/csgo/steammessages_base.proto +301 -301
  33. package/protos/csgo/steammessages_cloud.steamworkssdk.proto +68 -68
  34. package/protos/csgo/steammessages_gamenetworkingui.proto +61 -61
  35. package/protos/csgo/steammessages_helprequest.steamworkssdk.proto +22 -22
  36. package/protos/csgo/steammessages_oauth.steamworkssdk.proto +18 -18
  37. package/protos/csgo/steammessages_player.steamworkssdk.proto +254 -254
  38. package/protos/csgo/steammessages_publishedfile.steamworkssdk.proto +233 -233
  39. package/protos/csgo/steammessages_steamlearn.steamworkssdk.proto +357 -357
  40. package/protos/csgo/steammessages_unified_base.steamworkssdk.proto +30 -30
  41. package/protos/csgo/steamnetworkingsockets_messages.proto +205 -205
  42. package/protos/csgo/steamnetworkingsockets_messages_certs.proto +39 -39
  43. package/protos/csgo/steamnetworkingsockets_messages_udp.proto +75 -75
  44. package/protos/csgo/te.proto +259 -259
  45. package/protos/csgo/uifontfile_format.proto +13 -13
  46. package/protos/csgo/usercmd.proto +38 -38
  47. package/protos/csgo/usermessages.proto +721 -721
  48. package/protos/csgo/valveextensions.proto +17 -17
  49. package/protos/google/protobuf/descriptor.proto +281 -281
  50. package/protos/steam/clientmetrics.proto +45 -45
  51. package/protos/steam/content_manifest.proto +62 -62
  52. package/protos/steam/contenthubs.proto +41 -41
  53. package/protos/steam/encrypted_app_ticket.proto +10 -10
  54. package/protos/steam/enums.proto +444 -444
  55. package/protos/steam/enums_clientserver.proto +1539 -1539
  56. package/protos/steam/enums_productinfo.proto +13 -13
  57. package/protos/steam/htmlmessages.proto +1027 -1027
  58. package/protos/steam/offline_ticket.proto +8 -8
  59. package/protos/steam/renderer/rendermessages.proto +893 -893
  60. package/protos/steam/steamdatagram_messages_auth.proto +65 -65
  61. package/protos/steam/steamdatagram_messages_sdr.proto +533 -533
  62. package/protos/steam/steammessages_accounthardware.steamclient.proto +201 -201
  63. package/protos/steam/steammessages_appoverview.proto +187 -187
  64. package/protos/steam/steammessages_auth.steamclient.proto +435 -435
  65. package/protos/steam/steammessages_base.proto +332 -332
  66. package/protos/steam/steammessages_broadcast.steamclient.proto +759 -759
  67. package/protos/steam/steammessages_chat.steamclient.proto +1281 -1281
  68. package/protos/steam/steammessages_client_objects.proto +645 -645
  69. package/protos/steam/steammessages_clientlanp2p.proto +42 -42
  70. package/protos/steam/steammessages_clientmetrics.steamclient.proto +194 -194
  71. package/protos/steam/steammessages_clientnotificationtypes.proto +231 -231
  72. package/protos/steam/steammessages_clientserver.proto +392 -392
  73. package/protos/steam/steammessages_clientserver_2.proto +760 -760
  74. package/protos/steam/steammessages_clientserver_appinfo.proto +131 -131
  75. package/protos/steam/steammessages_clientserver_friends.proto +260 -260
  76. package/protos/steam/steammessages_clientserver_gameservers.proto +159 -159
  77. package/protos/steam/steammessages_clientserver_lbs.proto +70 -70
  78. package/protos/steam/steammessages_clientserver_login.proto +167 -167
  79. package/protos/steam/steammessages_clientserver_ucm.proto +205 -205
  80. package/protos/steam/steammessages_clientserver_uds.proto +124 -124
  81. package/protos/steam/steammessages_clientserver_ufs.proto +172 -172
  82. package/protos/steam/steammessages_clientserver_userstats.proto +80 -80
  83. package/protos/steam/steammessages_clientsettings.proto +168 -168
  84. package/protos/steam/steammessages_cloud.steamclient.proto +513 -513
  85. package/protos/steam/steammessages_contentsystem.steamclient.proto +115 -115
  86. package/protos/steam/steammessages_credentials.steamclient.proto +115 -115
  87. package/protos/steam/steammessages_datapublisher.steamclient.proto +116 -116
  88. package/protos/steam/steammessages_depotbuilder.steamclient.proto +118 -118
  89. package/protos/steam/steammessages_deviceauth.steamclient.proto +203 -203
  90. package/protos/steam/steammessages_econ.steamclient.proto +150 -150
  91. package/protos/steam/steammessages_friendmessages.steamclient.proto +168 -168
  92. package/protos/steam/steammessages_gamenetworking.steamclient.proto +32 -32
  93. package/protos/steam/steammessages_gamenetworkingui.proto +61 -61
  94. package/protos/steam/steammessages_gamenotifications.steamclient.proto +156 -156
  95. package/protos/steam/steammessages_gameservers.steamclient.proto +152 -152
  96. package/protos/steam/steammessages_hiddevices.proto +157 -157
  97. package/protos/steam/steammessages_inventory.steamclient.proto +224 -224
  98. package/protos/steam/steammessages_linkfilter.steamclient.proto +49 -49
  99. package/protos/steam/steammessages_lobbymatchmaking.steamclient.proto +33 -33
  100. package/protos/steam/steammessages_market.steamclient.proto +26 -26
  101. package/protos/steam/steammessages_marketingmessages.steamclient.proto +274 -274
  102. package/protos/steam/steammessages_offline.steamclient.proto +40 -40
  103. package/protos/steam/steammessages_parental.steamclient.proto +228 -228
  104. package/protos/steam/steammessages_parties.steamclient.proto +94 -94
  105. package/protos/steam/steammessages_partnerapps.steamclient.proto +138 -138
  106. package/protos/steam/steammessages_player.steamclient.proto +1060 -1060
  107. package/protos/steam/steammessages_publishedfile.steamclient.proto +813 -813
  108. package/protos/steam/steammessages_qms.steamclient.proto +125 -125
  109. package/protos/steam/steammessages_remoteclient.proto +99 -99
  110. package/protos/steam/steammessages_remoteclient_discovery.proto +235 -235
  111. package/protos/steam/steammessages_remoteclient_service.steamclient.proto +86 -86
  112. package/protos/steam/steammessages_remoteclient_service_messages.proto +217 -217
  113. package/protos/steam/steammessages_remoteplay.proto +976 -976
  114. package/protos/steam/steammessages_secrets.steamclient.proto +39 -39
  115. package/protos/steam/steammessages_shader.steamclient.proto +108 -108
  116. package/protos/steam/steammessages_site_license.steamclient.proto +128 -128
  117. package/protos/steam/steammessages_sitelicenseclient.proto +38 -38
  118. package/protos/steam/steammessages_siteserverui.proto +130 -130
  119. package/protos/steam/steammessages_star.steamclient.proto +64 -64
  120. package/protos/steam/steammessages_steamtv.steamclient.proto +630 -630
  121. package/protos/steam/steammessages_store.steamclient.proto +371 -371
  122. package/protos/steam/steammessages_storebrowse.steamclient.proto +402 -402
  123. package/protos/steam/steammessages_timedtrial.steamclient.proto +50 -50
  124. package/protos/steam/steammessages_twofactor.steamclient.proto +186 -186
  125. package/protos/steam/steammessages_unified_base.steamclient.proto +33 -33
  126. package/protos/steam/steammessages_unified_test.steamclient.proto +61 -61
  127. package/protos/steam/steammessages_useraccount.steamclient.proto +249 -249
  128. package/protos/steam/steammessages_vac.steamclient.proto +44 -44
  129. package/protos/steam/steammessages_video.steamclient.proto +171 -171
  130. package/protos/steam/steammessages_virtualcontroller.proto +138 -138
  131. package/protos/steam/steammessages_workshop.steamclient.proto +23 -23
  132. package/protos/steam/steamnetworkingsockets_messages.proto +205 -205
  133. package/protos/steam/steamnetworkingsockets_messages_certs.proto +39 -39
  134. package/protos/steam/steamnetworkingsockets_messages_udp.proto +75 -75
  135. package/protos/steam/webuimessages_base.proto +24 -24
  136. package/protos/steam/webuimessages_gamenotes.proto +21 -21
  137. package/protos/steam/webuimessages_steamengine.proto +32 -32
  138. package/protos/steam/webuimessages_storagedevicemanager.proto +110 -110
  139. package/protos/steam/webuimessages_systemmanager.proto +17 -17
  140. package/protos/steam/webuimessages_transport.proto +18 -18
  141. package/protos/steam/webuimessages_transportvalidation.proto +97 -97
  142. package/protos/webui/common.proto +5508 -5508
  143. package/protos/webui/common_base.proto +27 -27
  144. package/protos/webui/service_accountlinking.proto +27 -27
  145. package/protos/webui/service_accountprivacy.proto +42 -42
  146. package/protos/webui/service_auction.proto +97 -97
  147. package/protos/webui/service_authentication.proto +222 -222
  148. package/protos/webui/service_authenticationsupport.proto +74 -74
  149. package/protos/webui/service_broadcast.proto +562 -562
  150. package/protos/webui/service_chat.proto +11 -11
  151. package/protos/webui/service_chatroom.proto +810 -810
  152. package/protos/webui/service_chatusability.proto +107 -107
  153. package/protos/webui/service_clan.proto +41 -41
  154. package/protos/webui/service_clanchatrooms.proto +25 -25
  155. package/protos/webui/service_clanfaqs.proto +202 -202
  156. package/protos/webui/service_clientcomm.proto +150 -150
  157. package/protos/webui/service_clientmetrics.proto +63 -63
  158. package/protos/webui/service_cloud.proto +222 -222
  159. package/protos/webui/service_cloudconfigstore.proto +51 -51
  160. package/protos/webui/service_cloudgaming.proto +30 -30
  161. package/protos/webui/service_community.proto +365 -365
  162. package/protos/webui/service_econ.proto +134 -134
  163. package/protos/webui/service_embedded.proto +24 -24
  164. package/protos/webui/service_experimentservice.proto +6 -6
  165. package/protos/webui/service_fovasvideo.proto +15 -15
  166. package/protos/webui/service_friendmessages.proto +133 -133
  167. package/protos/webui/service_friendslist.proto +70 -70
  168. package/protos/webui/service_gamenotes.proto +15 -15
  169. package/protos/webui/service_helprequestlogs.proto +26 -26
  170. package/protos/webui/service_loyaltyrewards.proto +252 -252
  171. package/protos/webui/service_marketingmessages.proto +184 -184
  172. package/protos/webui/service_mobileapp.proto +18 -18
  173. package/protos/webui/service_mobileauth.proto +24 -24
  174. package/protos/webui/service_mobiledevice.proto +26 -26
  175. package/protos/webui/service_mobileperaccount.proto +31 -31
  176. package/protos/webui/service_news.proto +101 -101
  177. package/protos/webui/service_parental.proto +178 -178
  178. package/protos/webui/service_partnermembershipinvite.proto +29 -29
  179. package/protos/webui/service_partnerstorebrowse.proto +6 -6
  180. package/protos/webui/service_phone.proto +51 -51
  181. package/protos/webui/service_physicalgoods.proto +15 -15
  182. package/protos/webui/service_player.proto +885 -885
  183. package/protos/webui/service_promotioneventinvites.proto +50 -50
  184. package/protos/webui/service_promotionplanning.proto +72 -72
  185. package/protos/webui/service_publishedfile.proto +687 -687
  186. package/protos/webui/service_publishing.proto +119 -119
  187. package/protos/webui/service_quest.proto +127 -127
  188. package/protos/webui/service_salefeature.proto +315 -315
  189. package/protos/webui/service_saleitemrewards.proto +54 -54
  190. package/protos/webui/service_shoppingcart.proto +108 -108
  191. package/protos/webui/service_steamawards.proto +19 -19
  192. package/protos/webui/service_steamcharts.proto +75 -75
  193. package/protos/webui/service_steamengine.proto +36 -36
  194. package/protos/webui/service_steamlearn.proto +727 -727
  195. package/protos/webui/service_steamnotification.proto +84 -84
  196. package/protos/webui/service_steamtv.proto +495 -495
  197. package/protos/webui/service_steamvrvoicechat.proto +67 -67
  198. package/protos/webui/service_steamvrwebrtc.proto +48 -48
  199. package/protos/webui/service_storagedevicemanager.proto +104 -104
  200. package/protos/webui/service_store.proto +289 -289
  201. package/protos/webui/service_storeappsimilarity.proto +76 -76
  202. package/protos/webui/service_storebrowse.proto +73 -73
  203. package/protos/webui/service_storequery.proto +97 -97
  204. package/protos/webui/service_storesales.proto +15 -15
  205. package/protos/webui/service_storetopsellers.proto +44 -44
  206. package/protos/webui/service_systemmanager.proto +11 -11
  207. package/protos/webui/service_test_transporterror.proto +6 -6
  208. package/protos/webui/service_transportauth.proto +12 -12
  209. package/protos/webui/service_transportvalidation.proto +69 -69
  210. package/protos/webui/service_twofactor.proto +181 -181
  211. package/protos/webui/service_useraccount.proto +138 -138
  212. package/protos/webui/service_usergameactivity.proto +34 -34
  213. package/protos/webui/service_usergamenotes.proto +53 -53
  214. package/protos/webui/service_usernews.proto +68 -68
  215. package/protos/webui/service_userreviews.proto +96 -96
  216. package/protos/webui/service_video.proto +128 -128
  217. package/protos/webui/service_voicechat.proto +139 -139
  218. package/protos/webui/service_webrtc.proto +52 -52
  219. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false">
4
+ <serverData>
5
+ <paths name="steamsupport">
6
+ <serverdata>
7
+ <mappings>
8
+ <mapping local="$PROJECT_DIR$" web="/" />
9
+ </mappings>
10
+ </serverdata>
11
+ </paths>
12
+ <paths name="steamsupportui">
13
+ <serverdata>
14
+ <mappings>
15
+ <mapping local="$PROJECT_DIR$" web="/" />
16
+ </mappings>
17
+ </serverdata>
18
+ </paths>
19
+ </serverData>
20
+ </component>
21
+ </project>
@@ -2,8 +2,8 @@
2
2
  <module type="WEB_MODULE" version="4">
3
3
  <component name="NewModuleRootManager">
4
4
  <content url="file://$MODULE_DIR$">
5
- <excludeFolder url="file://$MODULE_DIR$/.tmp" />
6
5
  <excludeFolder url="file://$MODULE_DIR$/temp" />
6
+ <excludeFolder url="file://$MODULE_DIR$/.tmp" />
7
7
  <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
8
  </content>
9
9
  <orderEntry type="inheritedJdk" />
package/.idea/vcs.xml CHANGED
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project version="4">
3
3
  <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
5
  </component>
6
6
  </project>
package/SteamClient.js CHANGED
@@ -132,6 +132,7 @@ function SteamClient({
132
132
  gifts: [],
133
133
  playingState: [],
134
134
  emailInfo: [],
135
+ accountLimitations: [],
135
136
  }
136
137
 
137
138
  const gcCallback = {}
@@ -294,6 +295,10 @@ function SteamClient({
294
295
  return [steamClient?.accountInfo?.name, steamClient?._logOnDetails?.account_name].filter(Boolean).join(" - ")
295
296
  }
296
297
 
298
+ function getPersonaName() {
299
+ return steamClient?.accountInfo?.name
300
+ }
301
+
297
302
  function log(...msg) {
298
303
  const now = moment().tz('Asia/Ho_Chi_Minh').format("DD/MM/YYYY HH:mm:ss")
299
304
  console.log(`[${now}] [${getAccountInfoName()}]`, ...msg)
@@ -571,6 +576,39 @@ function SteamClient({
571
576
  }
572
577
 
573
578
 
579
+ async function getLobbyData(lobbyID) {
580
+ if (!steamClient.steamID) {
581
+ return
582
+ }
583
+
584
+ return new Promise(resolve => {
585
+ const timeout = setTimeout(function () {
586
+ resolve()
587
+ }, 30000)
588
+
589
+ steamClient._send(
590
+ {
591
+ msg: Protos.csgo.EMsg.k_EMsgClientMMSGetLobbyData,
592
+ proto: {
593
+ steamid: steamClient.steamID.getSteamID64(),
594
+ routing_appid: 730
595
+ }
596
+ },
597
+ protoEncode(Protos.csgo.CMsgClientMMSGetLobbyData, {
598
+ app_id: 730,
599
+ steam_id_lobby: lobbyID.toString(),
600
+ }),
601
+ function (payload) {
602
+ clearTimeout(timeout)
603
+ const result = protoDecode(Protos.csgo.CMsgClientMMSLobbyData, payload.toBuffer())
604
+ result.steam_id_lobby = result.steam_id_lobby.toString()
605
+ resolve(result)
606
+ }
607
+ );
608
+ })
609
+ }
610
+
611
+
574
612
  async function joinLobby(lobbyID) {
575
613
  log("joinLobby", lobbyID);//SteamID.fromIndividualAccountID(lobbyId).accountid
576
614
  steamClient.sendToGC(730, Protos.csgo.EMsg.k_EMsgClientMMSJoinLobby, {}, protoEncode(Protos.csgo.CMsgClientMMSJoinLobby, {
@@ -737,6 +775,7 @@ function SteamClient({
737
775
  switch (cache_object.type_id) {
738
776
  case 1: {
739
777
  const result = protoDecode(Protos.csgo.CSOEconItem, object_data);
778
+ result.id = result.id.toNumber()
740
779
  break
741
780
  }
742
781
  case 2: {
@@ -774,9 +813,7 @@ function SteamClient({
774
813
  prime = true
775
814
  CSOEconGameAccountClient.prime = true
776
815
  }
777
- if (CSOEconGameAccountClient) {
778
- obj.GameAccountClient = CSOEconGameAccountClient
779
- }
816
+ obj.GameAccountClient = CSOEconGameAccountClient
780
817
  break
781
818
  }
782
819
 
@@ -827,6 +864,15 @@ function SteamClient({
827
864
  const result = protoDecode(Protos.csgo.CSOQuestProgress, object_data);
828
865
  break
829
866
  }
867
+ case 4: {
868
+ const result = protoDecode(Protos.csgo.CSOAccountItemPersonalStore, object_data);
869
+ result.generation_time = result.generation_time * 1000
870
+ if (Array.isArray(result.items)) {
871
+ result.items = result.items.map(item => item.toNumber())
872
+ }
873
+ obj.personalStore = result
874
+ break
875
+ }
830
876
 
831
877
  default: {
832
878
  log("cache_object.type_id", cache_object.type_id);
@@ -923,7 +969,7 @@ function SteamClient({
923
969
  player_cur_xp: 327684501,
924
970
  player_xp_bonus_flags: 0
925
971
  }
926
- if (result?.global_stats?.required_appid_version && result.global_stats.required_appid_version > CSGO_VER) {
972
+ if (result?.global_stats?.required_appid_version && (!CSGO_VER || result.global_stats.required_appid_version > CSGO_VER)) {
927
973
  CSGO_VER = result.global_stats.required_appid_version
928
974
  }
929
975
  callEvent(events.csgoClientHello, result)
@@ -1313,10 +1359,22 @@ function SteamClient({
1313
1359
  callEvent(events.emailInfo, {address, validated})
1314
1360
  },
1315
1361
  async appLaunched() {
1316
- state = getPlayingAppIds().length ? 'InGame' : (isInvisible ? "Invisible" : 'Online')
1362
+ setTimeout(function () {
1363
+ state = getPlayingAppIds().length ? 'InGame' : (isInvisible ? "Invisible" : 'Online')
1364
+ }, 1000)
1317
1365
  },
1318
1366
  async appQuit() {
1319
- state = getPlayingAppIds().length ? 'InGame' : (isInvisible ? "Invisible" : 'Online')
1367
+ setTimeout(function () {
1368
+ state = getPlayingAppIds().length ? 'InGame' : (isInvisible ? "Invisible" : 'Online')
1369
+ }, 1000)
1370
+ },
1371
+ async accountLimitations(bis_limited_account, bis_community_banned, bis_locked_account, bis_limited_account_allowed_to_invite_friends) {
1372
+ callEvent(events.accountLimitations, {
1373
+ limited: bis_limited_account,
1374
+ communityBanned: bis_community_banned,
1375
+ locked: bis_locked_account,
1376
+ canInviteFriends: bis_limited_account_allowed_to_invite_friends
1377
+ })
1320
1378
  },
1321
1379
  }
1322
1380
 
@@ -1608,13 +1666,13 @@ function SteamClient({
1608
1666
  bindEvent()
1609
1667
  login()
1610
1668
 
1611
- steamClient._handlerManager.add(5480, function (payload) {
1669
+ steamClient._handlerManager.add(Protos.csgo.EMsg.k_EMsgClientRequestedClientStats, function (payload) {
1612
1670
  const result = protoDecode(Protos.csgo.CMsgClientRequestedClientStats, payload.toBuffer())
1613
1671
  // console.log("CMsgClientRequestedClientStats", result);
1614
1672
  })
1615
- steamClient._handlerManager.add(6612, function (payload) {
1673
+ steamClient._handlerManager.add(Protos.csgo.EMsg.k_EMsgClientMMSLobbyData, function (payload) {
1616
1674
  const result = protoDecode(Protos.csgo.CMsgClientMMSLobbyData, payload.toBuffer())
1617
- // console.log("CMsgClientMMSLobbyData", result);
1675
+ // console.log("CMsgClientMMSLobbyData", result, result.metadata);
1618
1676
  })
1619
1677
  }
1620
1678
 
@@ -1937,7 +1995,7 @@ function SteamClient({
1937
1995
  ]
1938
1996
  }
1939
1997
  }
1940
-
1998
+
1941
1999
  function getPlayingAppIds() {
1942
2000
  return steamClient._playingAppIds || []
1943
2001
  }
@@ -1949,6 +2007,7 @@ function SteamClient({
1949
2007
  createLobby,
1950
2008
  updateLobby,
1951
2009
  joinLobby,
2010
+ getLobbyData,
1952
2011
  partyRegister,
1953
2012
  requestCoPlays,
1954
2013
  getPersonas,
@@ -1972,6 +2031,7 @@ function SteamClient({
1972
2031
  return steamClient
1973
2032
  },
1974
2033
  getAccountInfoName,
2034
+ getPersonaName,
1975
2035
  async getPlayersProfile(steamId, retry = 3) {
1976
2036
  for (let i = 0; i < retry; i++) {
1977
2037
  const profile = await getPlayersProfile(steamId)
package/bufferHelpers.js CHANGED
@@ -1,115 +1,115 @@
1
- import ByteBuffer from 'bytebuffer';
2
- import SteamID from 'steamid';
3
-
4
- const Type = {
5
- None : 0,
6
- String : 1,
7
- Int32 : 2,
8
- Float32 : 3,
9
- Pointer : 4,
10
- WideString : 5,
11
- Color : 6,
12
- UInt64 : 7,
13
- End : 8
14
- }
15
-
16
- // Encodes an object into a ByteBuffer
17
- export const encode = (
18
- _object,
19
- prefix = [0x00, 0x00],
20
- suffix = [],
21
- customEncodeFields = {}
22
- ) => {
23
- // Create a copy of the input object to avoid modifying it
24
- const object = { ..._object };
25
- const buffer = new ByteBuffer();
26
-
27
- // Write the prefix bytes to the buffer
28
- for (let pre of prefix) {
29
- buffer.writeByte(pre);
30
- }
31
-
32
- // Iterate through the object's properties and encode them
33
- for (let item in object) {
34
- if (object.hasOwnProperty(item) === false) {
35
- continue;
36
- }
37
-
38
- // If a custom encoder function exists for the property, use it
39
- if (typeof customEncodeFields[item] === 'function') {
40
- object[item] = customEncodeFields[item](object[item]);
41
- }
42
- _encode(object[item], buffer, item);
43
- }
44
-
45
- // Write the suffix bytes to the buffer
46
- for (let suf of suffix) {
47
- buffer.writeByte(suf);
48
- }
49
-
50
- // Write an End marker to the buffer
51
- buffer.writeByte(Type.End);
52
- buffer.flip(); // Prepare the buffer for reading
53
- return buffer;
54
- };
55
-
56
- // Encodes individual properties into the ByteBuffer
57
- const _encode = (object, buffer, name) => {
58
- if (object instanceof Buffer) {
59
- // If the object is a Buffer
60
- buffer.writeByte(Type.String);
61
- buffer.writeCString(name);
62
-
63
- // Convert the Buffer to a hexadecimal string, split into 2-character parts, and write each part as a byte
64
- let parts = object
65
- .toString('hex')
66
- .toUpperCase()
67
- .match(/.{1,2}/g);
68
-
69
- for (let part of parts) {
70
- buffer.writeByte(parseInt('0x' + part));
71
- }
72
- } else {
73
- // If the object is not a Buffer, check its type
74
- switch (typeof object) {
75
- case 'object': {
76
- buffer.writeByte(Type.None);
77
- buffer.writeCString(name);
78
-
79
- for (let index in object) {
80
- _encode(object[index], buffer, index); // Recursively encode each property
81
- }
82
-
83
- buffer.writeByte(Type.End);
84
- break;
85
- }
86
- case 'string': {
87
- buffer.writeByte(Type.String);
88
- buffer.writeCString(name);
89
- buffer.writeCString(object ? object : '');
90
- break;
91
- }
92
- case 'number': {
93
- buffer.writeByte(Type.String);
94
- buffer.writeCString(name);
95
- buffer.writeCString(object.toString());
96
- break;
97
- }
98
- }
99
- }
100
- };
101
-
102
- // Encodes SteamIDs into a Buffer
103
- export const encodeUids = (steamids) => {
104
- const outputBuffer = [];
105
-
106
- for (let id of steamids.map((s) => s.accountid)) {
107
- while (id > 0x7f) {
108
- outputBuffer.push((id | 0x80) & 0xff);
109
- id >>= 7;
110
- }
111
- outputBuffer.push(id);
112
- }
113
- outputBuffer.push(0x00); // Null terminator
114
- return Buffer.from(outputBuffer);
115
- };
1
+ import ByteBuffer from 'bytebuffer';
2
+ import SteamID from 'steamid';
3
+
4
+ const Type = {
5
+ None : 0,
6
+ String : 1,
7
+ Int32 : 2,
8
+ Float32 : 3,
9
+ Pointer : 4,
10
+ WideString : 5,
11
+ Color : 6,
12
+ UInt64 : 7,
13
+ End : 8
14
+ }
15
+
16
+ // Encodes an object into a ByteBuffer
17
+ export const encode = (
18
+ _object,
19
+ prefix = [0x00, 0x00],
20
+ suffix = [],
21
+ customEncodeFields = {}
22
+ ) => {
23
+ // Create a copy of the input object to avoid modifying it
24
+ const object = { ..._object };
25
+ const buffer = new ByteBuffer();
26
+
27
+ // Write the prefix bytes to the buffer
28
+ for (let pre of prefix) {
29
+ buffer.writeByte(pre);
30
+ }
31
+
32
+ // Iterate through the object's properties and encode them
33
+ for (let item in object) {
34
+ if (object.hasOwnProperty(item) === false) {
35
+ continue;
36
+ }
37
+
38
+ // If a custom encoder function exists for the property, use it
39
+ if (typeof customEncodeFields[item] === 'function') {
40
+ object[item] = customEncodeFields[item](object[item]);
41
+ }
42
+ _encode(object[item], buffer, item);
43
+ }
44
+
45
+ // Write the suffix bytes to the buffer
46
+ for (let suf of suffix) {
47
+ buffer.writeByte(suf);
48
+ }
49
+
50
+ // Write an End marker to the buffer
51
+ buffer.writeByte(Type.End);
52
+ buffer.flip(); // Prepare the buffer for reading
53
+ return buffer;
54
+ };
55
+
56
+ // Encodes individual properties into the ByteBuffer
57
+ const _encode = (object, buffer, name) => {
58
+ if (object instanceof Buffer) {
59
+ // If the object is a Buffer
60
+ buffer.writeByte(Type.String);
61
+ buffer.writeCString(name);
62
+
63
+ // Convert the Buffer to a hexadecimal string, split into 2-character parts, and write each part as a byte
64
+ let parts = object
65
+ .toString('hex')
66
+ .toUpperCase()
67
+ .match(/.{1,2}/g);
68
+
69
+ for (let part of parts) {
70
+ buffer.writeByte(parseInt('0x' + part));
71
+ }
72
+ } else {
73
+ // If the object is not a Buffer, check its type
74
+ switch (typeof object) {
75
+ case 'object': {
76
+ buffer.writeByte(Type.None);
77
+ buffer.writeCString(name);
78
+
79
+ for (let index in object) {
80
+ _encode(object[index], buffer, index); // Recursively encode each property
81
+ }
82
+
83
+ buffer.writeByte(Type.End);
84
+ break;
85
+ }
86
+ case 'string': {
87
+ buffer.writeByte(Type.String);
88
+ buffer.writeCString(name);
89
+ buffer.writeCString(object ? object : '');
90
+ break;
91
+ }
92
+ case 'number': {
93
+ buffer.writeByte(Type.String);
94
+ buffer.writeCString(name);
95
+ buffer.writeCString(object.toString());
96
+ break;
97
+ }
98
+ }
99
+ }
100
+ };
101
+
102
+ // Encodes SteamIDs into a Buffer
103
+ export const encodeUids = (steamids) => {
104
+ const outputBuffer = [];
105
+
106
+ for (let id of steamids.map((s) => s.accountid)) {
107
+ while (id > 0x7f) {
108
+ outputBuffer.push((id | 0x80) & 0xff);
109
+ id >>= 7;
110
+ }
111
+ outputBuffer.push(id);
112
+ }
113
+ outputBuffer.push(0x00); // Null terminator
114
+ return Buffer.from(outputBuffer);
115
+ };