h1z1-server 0.22.4-0 → 0.22.4-2

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 (228) hide show
  1. package/LICENSE +2 -2
  2. package/data/2016/dataSources/ServerItemDefinitions.json +445 -0
  3. package/h1z1-server.js +2 -2
  4. package/package.json +3 -2
  5. package/signature-header.txt +1 -1
  6. package/src/clients/gatewayclient.ts +93 -0
  7. package/src/clients/loginclient.ts +1 -1
  8. package/src/clients/soeclient.js +1 -1
  9. package/src/clients/zoneclient.ts +1 -1
  10. package/src/packets/ClientProtocol/ClientProtocol_1080/abilities.ts +1 -1
  11. package/src/packets/ClientProtocol/ClientProtocol_1080/ability.ts +1 -1
  12. package/src/packets/ClientProtocol/ClientProtocol_1080/achievement.ts +1 -1
  13. package/src/packets/ClientProtocol/ClientProtocol_1080/acquaintance.ts +1 -1
  14. package/src/packets/ClientProtocol/ClientProtocol_1080/activityManager.ts +1 -1
  15. package/src/packets/ClientProtocol/ClientProtocol_1080/activityService.ts +1 -1
  16. package/src/packets/ClientProtocol/ClientProtocol_1080/base.ts +6 -17
  17. package/src/packets/ClientProtocol/ClientProtocol_1080/character.ts +1 -1
  18. package/src/packets/ClientProtocol/ClientProtocol_1080/chat.ts +1 -1
  19. package/src/packets/ClientProtocol/ClientProtocol_1080/clientPath.ts +1 -1
  20. package/src/packets/ClientProtocol/ClientProtocol_1080/clientUpdate.ts +8 -2
  21. package/src/packets/ClientProtocol/ClientProtocol_1080/coinStore.ts +1 -1
  22. package/src/packets/ClientProtocol/ClientProtocol_1080/collision.ts +1 -1
  23. package/src/packets/ClientProtocol/ClientProtocol_1080/combat.ts +1 -1
  24. package/src/packets/ClientProtocol/ClientProtocol_1080/command.ts +1 -1
  25. package/src/packets/ClientProtocol/ClientProtocol_1080/construction.ts +1 -1
  26. package/src/packets/ClientProtocol/ClientProtocol_1080/container.ts +3 -6
  27. package/src/packets/ClientProtocol/ClientProtocol_1080/currency.ts +1 -1
  28. package/src/packets/ClientProtocol/ClientProtocol_1080/definitionFilter.ts +1 -1
  29. package/src/packets/ClientProtocol/ClientProtocol_1080/deployable.ts +1 -1
  30. package/src/packets/ClientProtocol/ClientProtocol_1080/dto.ts +1 -1
  31. package/src/packets/ClientProtocol/ClientProtocol_1080/effects.ts +1 -1
  32. package/src/packets/ClientProtocol/ClientProtocol_1080/equipment.ts +1 -1
  33. package/src/packets/ClientProtocol/ClientProtocol_1080/experience.ts +1 -1
  34. package/src/packets/ClientProtocol/ClientProtocol_1080/facility.ts +1 -1
  35. package/src/packets/ClientProtocol/ClientProtocol_1080/friend.ts +1 -1
  36. package/src/packets/ClientProtocol/ClientProtocol_1080/guild.ts +1 -1
  37. package/src/packets/ClientProtocol/ClientProtocol_1080/h1z1packets.ts +1 -1
  38. package/src/packets/ClientProtocol/ClientProtocol_1080/implant.ts +1 -1
  39. package/src/packets/ClientProtocol/ClientProtocol_1080/inGamePurchase.ts +1 -1
  40. package/src/packets/ClientProtocol/ClientProtocol_1080/items.ts +1 -1
  41. package/src/packets/ClientProtocol/ClientProtocol_1080/loadout.ts +4 -21
  42. package/src/packets/ClientProtocol/ClientProtocol_1080/lobby.ts +1 -1
  43. package/src/packets/ClientProtocol/ClientProtocol_1080/lobbyGameDefinition.ts +1 -1
  44. package/src/packets/ClientProtocol/ClientProtocol_1080/loot.ts +1 -1
  45. package/src/packets/ClientProtocol/ClientProtocol_1080/mapRegion.ts +1 -1
  46. package/src/packets/ClientProtocol/ClientProtocol_1080/metaGameEvent.ts +1 -1
  47. package/src/packets/ClientProtocol/ClientProtocol_1080/missions.ts +1 -1
  48. package/src/packets/ClientProtocol/ClientProtocol_1080/mount.ts +1 -1
  49. package/src/packets/ClientProtocol/ClientProtocol_1080/operation.ts +1 -1
  50. package/src/packets/ClientProtocol/ClientProtocol_1080/profileStats.ts +1 -1
  51. package/src/packets/ClientProtocol/ClientProtocol_1080/quickChat.ts +1 -1
  52. package/src/packets/ClientProtocol/ClientProtocol_1080/ragdoll.ts +1 -1
  53. package/src/packets/ClientProtocol/ClientProtocol_1080/recipe.ts +1 -1
  54. package/src/packets/ClientProtocol/ClientProtocol_1080/referenceData.ts +1 -1
  55. package/src/packets/ClientProtocol/ClientProtocol_1080/rewardBuffs.ts +1 -1
  56. package/src/packets/ClientProtocol/ClientProtocol_1080/shared.ts +2565 -2555
  57. package/src/packets/ClientProtocol/ClientProtocol_1080/skill.ts +1 -1
  58. package/src/packets/ClientProtocol/ClientProtocol_1080/staticFacilityInfo.ts +1 -1
  59. package/src/packets/ClientProtocol/ClientProtocol_1080/target.ts +1 -1
  60. package/src/packets/ClientProtocol/ClientProtocol_1080/ui.ts +1 -1
  61. package/src/packets/ClientProtocol/ClientProtocol_1080/vehicle.ts +271 -271
  62. package/src/packets/ClientProtocol/ClientProtocol_1080/voice.ts +1 -1
  63. package/src/packets/ClientProtocol/ClientProtocol_1080/wallOfData.ts +1 -1
  64. package/src/packets/ClientProtocol/ClientProtocol_1080/weapon.ts +1 -1
  65. package/src/packets/ClientProtocol/ClientProtocol_1080/wordFilter.ts +1 -1
  66. package/src/packets/ClientProtocol/ClientProtocol_1080/zoneSetting.ts +1 -1
  67. package/src/packets/ClientProtocol/ClientProtocol_860/abilities.ts +1 -1
  68. package/src/packets/ClientProtocol/ClientProtocol_860/ability.ts +1 -1
  69. package/src/packets/ClientProtocol/ClientProtocol_860/achievement.ts +1 -1
  70. package/src/packets/ClientProtocol/ClientProtocol_860/acquaintance.ts +1 -1
  71. package/src/packets/ClientProtocol/ClientProtocol_860/activityManager.ts +1 -1
  72. package/src/packets/ClientProtocol/ClientProtocol_860/activityService.ts +1 -1
  73. package/src/packets/ClientProtocol/ClientProtocol_860/base.ts +1 -1
  74. package/src/packets/ClientProtocol/ClientProtocol_860/chat.ts +1 -1
  75. package/src/packets/ClientProtocol/ClientProtocol_860/clientPath.ts +1 -1
  76. package/src/packets/ClientProtocol/ClientProtocol_860/clientPcData.ts +1 -1
  77. package/src/packets/ClientProtocol/ClientProtocol_860/clientUpdate.ts +1 -1
  78. package/src/packets/ClientProtocol/ClientProtocol_860/coinStore.ts +1 -1
  79. package/src/packets/ClientProtocol/ClientProtocol_860/collision.ts +1 -1
  80. package/src/packets/ClientProtocol/ClientProtocol_860/combat.ts +1 -1
  81. package/src/packets/ClientProtocol/ClientProtocol_860/command.ts +1 -1
  82. package/src/packets/ClientProtocol/ClientProtocol_860/construction.ts +1 -1
  83. package/src/packets/ClientProtocol/ClientProtocol_860/container.ts +1 -1
  84. package/src/packets/ClientProtocol/ClientProtocol_860/currency.ts +1 -1
  85. package/src/packets/ClientProtocol/ClientProtocol_860/definitionFilter.ts +1 -1
  86. package/src/packets/ClientProtocol/ClientProtocol_860/deployable.ts +1 -1
  87. package/src/packets/ClientProtocol/ClientProtocol_860/dto.ts +1 -1
  88. package/src/packets/ClientProtocol/ClientProtocol_860/effects.ts +1 -1
  89. package/src/packets/ClientProtocol/ClientProtocol_860/equipment.ts +1 -1
  90. package/src/packets/ClientProtocol/ClientProtocol_860/experience.ts +1 -1
  91. package/src/packets/ClientProtocol/ClientProtocol_860/facility.ts +1 -1
  92. package/src/packets/ClientProtocol/ClientProtocol_860/friend.ts +1 -1
  93. package/src/packets/ClientProtocol/ClientProtocol_860/guild.ts +1 -1
  94. package/src/packets/ClientProtocol/ClientProtocol_860/h1z1packets.ts +1 -1
  95. package/src/packets/ClientProtocol/ClientProtocol_860/implant.ts +1 -1
  96. package/src/packets/ClientProtocol/ClientProtocol_860/inGamePurchase.ts +1 -1
  97. package/src/packets/ClientProtocol/ClientProtocol_860/items.ts +1 -1
  98. package/src/packets/ClientProtocol/ClientProtocol_860/loadout.ts +1 -1
  99. package/src/packets/ClientProtocol/ClientProtocol_860/lobby.ts +1 -1
  100. package/src/packets/ClientProtocol/ClientProtocol_860/lobbyGameDefinition.ts +1 -1
  101. package/src/packets/ClientProtocol/ClientProtocol_860/loot.ts +1 -1
  102. package/src/packets/ClientProtocol/ClientProtocol_860/mapRegion.ts +1 -1
  103. package/src/packets/ClientProtocol/ClientProtocol_860/metaGameEvent.ts +1 -1
  104. package/src/packets/ClientProtocol/ClientProtocol_860/missions.ts +1 -1
  105. package/src/packets/ClientProtocol/ClientProtocol_860/mount.ts +1 -1
  106. package/src/packets/ClientProtocol/ClientProtocol_860/operation.ts +1 -1
  107. package/src/packets/ClientProtocol/ClientProtocol_860/playerUpdate.ts +1 -1
  108. package/src/packets/ClientProtocol/ClientProtocol_860/profileStats.ts +1 -1
  109. package/src/packets/ClientProtocol/ClientProtocol_860/quickChat.ts +1 -1
  110. package/src/packets/ClientProtocol/ClientProtocol_860/ragdoll.ts +1 -1
  111. package/src/packets/ClientProtocol/ClientProtocol_860/recipe.ts +1 -1
  112. package/src/packets/ClientProtocol/ClientProtocol_860/referenceData.ts +1 -1
  113. package/src/packets/ClientProtocol/ClientProtocol_860/rewardBuffs.ts +1 -1
  114. package/src/packets/ClientProtocol/ClientProtocol_860/shared.ts +1 -1
  115. package/src/packets/ClientProtocol/ClientProtocol_860/skill.ts +1 -1
  116. package/src/packets/ClientProtocol/ClientProtocol_860/staticFacilityInfo.ts +1 -1
  117. package/src/packets/ClientProtocol/ClientProtocol_860/target.ts +1 -1
  118. package/src/packets/ClientProtocol/ClientProtocol_860/thrustPad.ts +1 -1
  119. package/src/packets/ClientProtocol/ClientProtocol_860/ui.ts +1 -1
  120. package/src/packets/ClientProtocol/ClientProtocol_860/vehicle.ts +1 -1
  121. package/src/packets/ClientProtocol/ClientProtocol_860/voice.ts +1 -1
  122. package/src/packets/ClientProtocol/ClientProtocol_860/wallOfData.ts +1 -1
  123. package/src/packets/ClientProtocol/ClientProtocol_860/warpgate.ts +1 -1
  124. package/src/packets/ClientProtocol/ClientProtocol_860/weapon.ts +1 -1
  125. package/src/packets/ClientProtocol/ClientProtocol_860/wordFilter.ts +1 -1
  126. package/src/packets/ClientProtocol/ClientProtocol_860/zoneSetting.ts +1 -1
  127. package/src/packets/LoginUdp/LoginUdp_11/loginTunnelPackets.ts +1 -1
  128. package/src/packets/LoginUdp/LoginUdp_11/loginpackets.ts +1 -1
  129. package/src/packets/LoginUdp/LoginUdp_9/loginTunnelPackets.ts +1 -1
  130. package/src/packets/LoginUdp/LoginUdp_9/loginpackets.ts +1 -1
  131. package/src/packets/gatewaypackets.ts +1 -1
  132. package/src/packets/packettable.ts +1 -1
  133. package/src/protocols/h1emuprotocol.ts +1 -1
  134. package/src/protocols/h1z1protocol.ts +1 -1
  135. package/src/protocols/loginprotocol.ts +1 -1
  136. package/src/protocols/loginprotocol2016.ts +1 -1
  137. package/src/servers/GatewayServer/gatewayserver.ts +17 -19
  138. package/src/servers/H1emuServer/h1emuLoginServer.ts +1 -1
  139. package/src/servers/H1emuServer/h1emuZoneServer.ts +1 -1
  140. package/src/servers/H1emuServer/shared/h1emuclient.ts +1 -1
  141. package/src/servers/H1emuServer/shared/h1emuserver.ts +1 -1
  142. package/src/servers/LoginServer/loginclient.ts +1 -1
  143. package/src/servers/LoginServer/loginserver.ts +33 -20
  144. package/src/servers/LoginServer/workers/httpServer.ts +1 -1
  145. package/src/servers/SoeServer/logicalPacket.ts +3 -3
  146. package/src/servers/SoeServer/soeclient.ts +18 -2
  147. package/src/servers/SoeServer/soeinputstream.ts +1 -1
  148. package/src/servers/SoeServer/soeoutputstream.ts +7 -7
  149. package/src/servers/SoeServer/soeserver.ts +23 -27
  150. package/src/servers/ZoneServer2015/classes/character.ts +1 -1
  151. package/src/servers/ZoneServer2015/classes/vehicle.ts +1 -1
  152. package/src/servers/ZoneServer2015/classes/zoneclient.ts +1 -1
  153. package/src/servers/ZoneServer2015/commands/admin.ts +1 -1
  154. package/src/servers/ZoneServer2015/commands/dev.ts +1 -1
  155. package/src/servers/ZoneServer2015/commands/hax.ts +1 -1
  156. package/src/servers/ZoneServer2015/workers/createBaseEntities.ts +1 -1
  157. package/src/servers/ZoneServer2015/workers/dynamicWeather.ts +1 -1
  158. package/src/servers/ZoneServer2015/zonepackethandlers.ts +1 -1
  159. package/src/servers/ZoneServer2015/zoneserver.ts +1 -1
  160. package/src/servers/ZoneServer2016/classes/Planting/Manager/FarmlandManager.ts +3 -3
  161. package/src/servers/ZoneServer2016/classes/Planting/Manager/GrowingManager.ts +2 -2
  162. package/src/servers/ZoneServer2016/classes/Planting/Model/DataModels.ts +1 -1
  163. package/src/servers/ZoneServer2016/classes/Planting/Model/EventModels.ts +1 -1
  164. package/src/servers/ZoneServer2016/classes/Planting/Model/TypeModels.ts +1 -1
  165. package/src/servers/ZoneServer2016/classes/Planting/PlantingManager.ts +3 -3
  166. package/src/servers/ZoneServer2016/classes/Planting/Test.ts +1 -1
  167. package/src/servers/ZoneServer2016/classes/Planting/Utils.ts +1 -1
  168. package/src/servers/ZoneServer2016/classes/baseItem.ts +35 -0
  169. package/src/servers/ZoneServer2016/classes/baseentity.ts +99 -97
  170. package/src/servers/ZoneServer2016/classes/basefullcharacter.ts +525 -541
  171. package/src/servers/ZoneServer2016/classes/baselightweightcharacter.ts +1 -1
  172. package/src/servers/ZoneServer2016/classes/baselootableentity.ts +64 -0
  173. package/src/servers/ZoneServer2016/classes/basesimplenpc.ts +1 -1
  174. package/src/servers/ZoneServer2016/classes/character.ts +753 -610
  175. package/src/servers/ZoneServer2016/classes/{simpleConstruction.ts → constructionchildentity.ts} +88 -88
  176. package/src/servers/ZoneServer2016/classes/{constructionDoor.ts → constructiondoor.ts} +187 -176
  177. package/src/servers/ZoneServer2016/classes/{constructionParentEntity.ts → constructionparententity.ts} +685 -643
  178. package/src/servers/ZoneServer2016/classes/doorentity.ts +186 -186
  179. package/src/servers/ZoneServer2016/classes/explosiveentity.ts +75 -73
  180. package/src/servers/ZoneServer2016/classes/itemobject.ts +87 -86
  181. package/src/servers/ZoneServer2016/classes/loadoutItem.ts +73 -0
  182. package/src/servers/ZoneServer2016/classes/loadoutcontainer.ts +190 -0
  183. package/src/servers/ZoneServer2016/classes/lootableconstructionentity.ts +26 -0
  184. package/src/servers/ZoneServer2016/classes/lootbag.ts +31 -0
  185. package/src/servers/ZoneServer2016/classes/npc.ts +129 -129
  186. package/src/servers/ZoneServer2016/classes/temporaryentity.ts +1 -1
  187. package/src/servers/ZoneServer2016/classes/trapentity.ts +150 -2
  188. package/src/servers/ZoneServer2016/classes/vehicle.ts +521 -504
  189. package/src/servers/ZoneServer2016/classes/weapon.ts +51 -0
  190. package/src/servers/ZoneServer2016/classes/zombie.ts +13 -0
  191. package/src/servers/ZoneServer2016/classes/zoneclient.ts +23 -1
  192. package/src/servers/ZoneServer2016/commands/commandhandler.ts +124 -125
  193. package/src/servers/ZoneServer2016/commands/commands.ts +1531 -1502
  194. package/src/servers/ZoneServer2016/commands/dev.ts +563 -563
  195. package/src/servers/ZoneServer2016/commands/internalcommands.ts +1 -1
  196. package/src/servers/ZoneServer2016/commands/types.ts +13 -0
  197. package/src/servers/ZoneServer2016/data/Recipes.ts +2067 -2054
  198. package/src/servers/ZoneServer2016/data/loadouts.ts +74 -0
  199. package/src/servers/ZoneServer2016/data/lootspawns.ts +1828 -1815
  200. package/src/servers/ZoneServer2016/managers/craftmanager.ts +280 -277
  201. package/src/servers/ZoneServer2016/managers/hookmanager.ts +96 -83
  202. package/src/servers/ZoneServer2016/managers/weathermanager.ts +293 -293
  203. package/src/servers/ZoneServer2016/managers/worlddatamanager.ts +496 -436
  204. package/src/servers/ZoneServer2016/managers/worldobjectmanager.ts +447 -360
  205. package/src/servers/ZoneServer2016/models/enums.ts +434 -412
  206. package/src/servers/ZoneServer2016/models/hooks.ts +35 -22
  207. package/src/servers/ZoneServer2016/zonepackethandlers.ts +1890 -2184
  208. package/src/servers/ZoneServer2016/zoneserver.ts +508 -682
  209. package/src/servers/shared/functions.ts +56 -43
  210. package/src/servers/shared/workers/healthWorker.ts +1 -1
  211. package/src/servers/shared/workers/udpServerWorker.ts +1 -1
  212. package/src/types/loginserver.ts +1 -1
  213. package/src/types/packets.ts +5 -5
  214. package/src/types/protocols.ts +42 -42
  215. package/src/types/savedata.ts +37 -3
  216. package/src/types/shared.ts +26 -26
  217. package/src/types/soeserver.ts +2 -2
  218. package/src/types/weaponPackets.ts +13 -0
  219. package/src/types/zone2016packets.ts +11 -8
  220. package/src/types/zonedata.ts +27 -27
  221. package/src/types/zoneserver.ts +9 -27
  222. package/src/utils/constants.ts +1 -2
  223. package/src/utils/enums.ts +9 -1
  224. package/src/utils/processErrorHandling.ts +1 -1
  225. package/src/utils/utils.ts +690 -654
  226. package/data/defaultDatabase/shared/zone-whitelist.json +0 -10
  227. package/src/clients/gatewayclient.js +0 -105
  228. package/src/protocols/gatewayprotocol.ts +0 -129
package/LICENSE CHANGED
@@ -633,7 +633,7 @@ the "copyright" line and a pointer to where the full notice is found.
633
633
 
634
634
  h1z1-server is a library that emulate a h1z1 server
635
635
  Copyright (C) 2020 - 2021 Quentin Gruber
636
- copyright (C) 2021 - 2022 H1emu community
636
+ copyright (C) 2021 - 2023 H1emu community
637
637
 
638
638
  This program is free software: you can redistribute it and/or modify
639
639
  it under the terms of the GNU General Public License as published by
@@ -654,7 +654,7 @@ Also add information on how to contact you by electronic and paper mail.
654
654
  notice like this when it starts in an interactive mode:
655
655
 
656
656
  h1z1-server Copyright (C) 2020 - 2021 Quentin Gruber
657
- h1z1-server copyright (C) 2021 - 2022 H1emu community
657
+ h1z1-server copyright (C) 2021 - 2023 H1emu community
658
658
  This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
659
659
  This is free software, and you are welcome to redistribute it
660
660
  under certain conditions; type `show c' for details.
@@ -178618,5 +178618,450 @@
178618
178618
  "PASSIVE_EQUIP_SLOT_GROUP_ID": 0,
178619
178619
  "SCRAP_VALUE_OVERRIDE": 0,
178620
178620
  "PICKUP_EFFECT": 5139
178621
+ },
178622
+
178623
+ "5001": {
178624
+ "NAME": "[H1emu] DROPPED ITEMS",
178625
+ "ID": 5001,
178626
+ "CODE_FACTORY_NAME": "EquippableContainer",
178627
+ "NAME_ID": 1456,
178628
+ "DESCRIPTION_ID": 0,
178629
+ "IMAGE_SET_ID": 42,
178630
+ "ACTIVATABLE_ABILITY_ID": 0,
178631
+ "PASSIVE_ABILITY_ID": 0,
178632
+ "COST": 0,
178633
+ "ITEM_CLASS": 25068,
178634
+ "MAX_STACK_SIZE": 1,
178635
+ "MIN_STACK_SIZE": 1,
178636
+ "PROFILE_OVERRIDE": 0,
178637
+ "NO_TRADE": 0,
178638
+ "SINGLE_USE": 0,
178639
+ "MODEL_NAME": "",
178640
+ "GENDER_USAGE": 0,
178641
+ "TEXTURE_ALIAS": "",
178642
+ "SHADER_PARAMETER_GROUP_ID": 0,
178643
+ "CATEGORY_ID": 4,
178644
+ "MEMBERS_ONLY": 0,
178645
+ "NON_MINI_GAME": 0,
178646
+ "PARAM1": 117,
178647
+ "PARAM2": 54,
178648
+ "PARAM3": 0,
178649
+ "NO_SALE": 0,
178650
+ "WEAPON_TRAIL_EFFECT_ID": 0,
178651
+ "USE_REQUIREMENT_ID": 0,
178652
+ "CLIENT_USE_REQUIREMENT_ID": 0,
178653
+ "COMPOSITE_EFFECT_ID": 0,
178654
+ "POWER_RATING": 0,
178655
+ "MIN_PROFILE_RANK": 1,
178656
+ "RARITY": 0,
178657
+ "CONTENT_ID": 1,
178658
+ "NO_LIVE_GAMER": 0,
178659
+ "COMBAT_ONLY": 0,
178660
+ "FORCE_DISABLE_PREVIEW": 0,
178661
+ "MEMBER_DISCOUNT": 0,
178662
+ "RACE_SET_ID": 0,
178663
+ "VIP_RANK_REQUIRED": 0,
178664
+ "PERSIST_PROFILE_SWITCH": 0,
178665
+ "FLAG_QUICK_USE": 0,
178666
+ "FLAG_CAN_EQUIP": 1,
178667
+ "FLAG_ACCOUNT_SCOPE": 0,
178668
+ "UI_MODEL_CAMERA_ID": 0,
178669
+ "EQUIP_COUNT_MAX": 0,
178670
+ "CURRENCY_TYPE": 0,
178671
+ "DATASHEET_ID": 0,
178672
+ "ITEM_TYPE": 34,
178673
+ "SKILL_SET_ID": 0,
178674
+ "OVERLAY_TEXTURE": "",
178675
+ "DECAL_SLOT": "",
178676
+ "OVERLAY_ADJUSTMENT": 0,
178677
+ "TRIAL_DURATION_SEC": 0,
178678
+ "NEXT_TRIAL_DELAY_SEC": 0,
178679
+ "PASSIVE_ABILITY_SET_ID": 0,
178680
+ "HUD_IMAGE_SET_ID": 0,
178681
+ "OVERRIDE_APPEARANCE": "",
178682
+ "OVERRIDE_CAMERA_ID": 0,
178683
+ "PLAYER_STUDIO_DISPLAY_NAME": "",
178684
+ "STRING_PARAM1": "",
178685
+ "BULK": 9999,
178686
+ "ACTIVE_EQUIP_SLOT_ID": 0,
178687
+ "PASSIVE_EQUIP_SLOT_ID": 0,
178688
+ "USE_ITEM_RETICLE_ID": 0,
178689
+ "GRINDER_REWARD_SET_ID": 0,
178690
+ "BUILD_BAR_GROUP_ID": 0,
178691
+ "FLAG_NO_DRAG_DROP": 0,
178692
+ "INTERACTION_ANIMATION_ID": 0,
178693
+ "IS_ARMOR": 0,
178694
+ "PASSIVE_EQUIP_SLOT_GROUP_ID": 0,
178695
+ "SCRAP_VALUE_OVERRIDE": 0
178696
+ },
178697
+ "5002": {
178698
+ "NAME": "[H1emu] OFFROADER VEHICLE CONTAINER",
178699
+ "ID": 5002,
178700
+ "CODE_FACTORY_NAME": "EquippableContainer",
178701
+ "NAME_ID": 15001,
178702
+ "DESCRIPTION_ID": 0,
178703
+ "IMAGE_SET_ID": 1206,
178704
+ "ACTIVATABLE_ABILITY_ID": 0,
178705
+ "PASSIVE_ABILITY_ID": 0,
178706
+ "COST": 0,
178707
+ "ITEM_CLASS": 25019,
178708
+ "MAX_STACK_SIZE": 1,
178709
+ "MIN_STACK_SIZE": 1,
178710
+ "PROFILE_OVERRIDE": 0,
178711
+ "NO_TRADE": 0,
178712
+ "SINGLE_USE": 0,
178713
+ "MODEL_NAME": "",
178714
+ "GENDER_USAGE": 0,
178715
+ "TEXTURE_ALIAS": "",
178716
+ "SHADER_PARAMETER_GROUP_ID": 0,
178717
+ "CATEGORY_ID": 4,
178718
+ "MEMBERS_ONLY": 0,
178719
+ "NON_MINI_GAME": 0,
178720
+ "PARAM1": 117,
178721
+ "PARAM2": 54,
178722
+ "PARAM3": 0,
178723
+ "NO_SALE": 0,
178724
+ "WEAPON_TRAIL_EFFECT_ID": 0,
178725
+ "USE_REQUIREMENT_ID": 0,
178726
+ "CLIENT_USE_REQUIREMENT_ID": 0,
178727
+ "COMPOSITE_EFFECT_ID": 0,
178728
+ "POWER_RATING": 0,
178729
+ "MIN_PROFILE_RANK": 1,
178730
+ "RARITY": 0,
178731
+ "CONTENT_ID": 1,
178732
+ "NO_LIVE_GAMER": 0,
178733
+ "COMBAT_ONLY": 0,
178734
+ "FORCE_DISABLE_PREVIEW": 0,
178735
+ "MEMBER_DISCOUNT": 0,
178736
+ "RACE_SET_ID": 0,
178737
+ "VIP_RANK_REQUIRED": 0,
178738
+ "PERSIST_PROFILE_SWITCH": 0,
178739
+ "FLAG_QUICK_USE": 0,
178740
+ "FLAG_CAN_EQUIP": 1,
178741
+ "FLAG_ACCOUNT_SCOPE": 0,
178742
+ "UI_MODEL_CAMERA_ID": 0,
178743
+ "EQUIP_COUNT_MAX": 0,
178744
+ "CURRENCY_TYPE": 0,
178745
+ "DATASHEET_ID": 0,
178746
+ "ITEM_TYPE": 34,
178747
+ "SKILL_SET_ID": 0,
178748
+ "OVERLAY_TEXTURE": "",
178749
+ "DECAL_SLOT": "",
178750
+ "OVERLAY_ADJUSTMENT": 0,
178751
+ "TRIAL_DURATION_SEC": 0,
178752
+ "NEXT_TRIAL_DELAY_SEC": 0,
178753
+ "PASSIVE_ABILITY_SET_ID": 0,
178754
+ "HUD_IMAGE_SET_ID": 0,
178755
+ "OVERRIDE_APPEARANCE": "",
178756
+ "OVERRIDE_CAMERA_ID": 0,
178757
+ "PLAYER_STUDIO_DISPLAY_NAME": "",
178758
+ "STRING_PARAM1": "",
178759
+ "BULK": 9999,
178760
+ "ACTIVE_EQUIP_SLOT_ID": 0,
178761
+ "PASSIVE_EQUIP_SLOT_ID": 0,
178762
+ "USE_ITEM_RETICLE_ID": 0,
178763
+ "GRINDER_REWARD_SET_ID": 0,
178764
+ "BUILD_BAR_GROUP_ID": 0,
178765
+ "FLAG_NO_DRAG_DROP": 0,
178766
+ "INTERACTION_ANIMATION_ID": 0,
178767
+ "IS_ARMOR": 0,
178768
+ "PASSIVE_EQUIP_SLOT_GROUP_ID": 0,
178769
+ "SCRAP_VALUE_OVERRIDE": 0
178770
+ },
178771
+ "5003": {
178772
+ "NAME": "[H1emu] PICKUP VEHICLE CONTAINER",
178773
+ "ID": 5003,
178774
+ "CODE_FACTORY_NAME": "EquippableContainer",
178775
+ "NAME_ID": 15001,
178776
+ "DESCRIPTION_ID": 0,
178777
+ "IMAGE_SET_ID": 1206,
178778
+ "ACTIVATABLE_ABILITY_ID": 0,
178779
+ "PASSIVE_ABILITY_ID": 0,
178780
+ "COST": 0,
178781
+ "ITEM_CLASS": 25032,
178782
+ "MAX_STACK_SIZE": 1,
178783
+ "MIN_STACK_SIZE": 1,
178784
+ "PROFILE_OVERRIDE": 0,
178785
+ "NO_TRADE": 0,
178786
+ "SINGLE_USE": 0,
178787
+ "MODEL_NAME": "",
178788
+ "GENDER_USAGE": 0,
178789
+ "TEXTURE_ALIAS": "",
178790
+ "SHADER_PARAMETER_GROUP_ID": 0,
178791
+ "CATEGORY_ID": 4,
178792
+ "MEMBERS_ONLY": 0,
178793
+ "NON_MINI_GAME": 0,
178794
+ "PARAM1": 117,
178795
+ "PARAM2": 54,
178796
+ "PARAM3": 0,
178797
+ "NO_SALE": 0,
178798
+ "WEAPON_TRAIL_EFFECT_ID": 0,
178799
+ "USE_REQUIREMENT_ID": 0,
178800
+ "CLIENT_USE_REQUIREMENT_ID": 0,
178801
+ "COMPOSITE_EFFECT_ID": 0,
178802
+ "POWER_RATING": 0,
178803
+ "MIN_PROFILE_RANK": 1,
178804
+ "RARITY": 0,
178805
+ "CONTENT_ID": 1,
178806
+ "NO_LIVE_GAMER": 0,
178807
+ "COMBAT_ONLY": 0,
178808
+ "FORCE_DISABLE_PREVIEW": 0,
178809
+ "MEMBER_DISCOUNT": 0,
178810
+ "RACE_SET_ID": 0,
178811
+ "VIP_RANK_REQUIRED": 0,
178812
+ "PERSIST_PROFILE_SWITCH": 0,
178813
+ "FLAG_QUICK_USE": 0,
178814
+ "FLAG_CAN_EQUIP": 1,
178815
+ "FLAG_ACCOUNT_SCOPE": 0,
178816
+ "UI_MODEL_CAMERA_ID": 0,
178817
+ "EQUIP_COUNT_MAX": 0,
178818
+ "CURRENCY_TYPE": 0,
178819
+ "DATASHEET_ID": 0,
178820
+ "ITEM_TYPE": 34,
178821
+ "SKILL_SET_ID": 0,
178822
+ "OVERLAY_TEXTURE": "",
178823
+ "DECAL_SLOT": "",
178824
+ "OVERLAY_ADJUSTMENT": 0,
178825
+ "TRIAL_DURATION_SEC": 0,
178826
+ "NEXT_TRIAL_DELAY_SEC": 0,
178827
+ "PASSIVE_ABILITY_SET_ID": 0,
178828
+ "HUD_IMAGE_SET_ID": 0,
178829
+ "OVERRIDE_APPEARANCE": "",
178830
+ "OVERRIDE_CAMERA_ID": 0,
178831
+ "PLAYER_STUDIO_DISPLAY_NAME": "",
178832
+ "STRING_PARAM1": "",
178833
+ "BULK": 9999,
178834
+ "ACTIVE_EQUIP_SLOT_ID": 0,
178835
+ "PASSIVE_EQUIP_SLOT_ID": 0,
178836
+ "USE_ITEM_RETICLE_ID": 0,
178837
+ "GRINDER_REWARD_SET_ID": 0,
178838
+ "BUILD_BAR_GROUP_ID": 0,
178839
+ "FLAG_NO_DRAG_DROP": 0,
178840
+ "INTERACTION_ANIMATION_ID": 0,
178841
+ "IS_ARMOR": 0,
178842
+ "PASSIVE_EQUIP_SLOT_GROUP_ID": 0,
178843
+ "SCRAP_VALUE_OVERRIDE": 0
178844
+ },
178845
+ "5004": {
178846
+ "NAME": "[H1emu] POLICE VEHICLE CONTAINER",
178847
+ "ID": 5004,
178848
+ "CODE_FACTORY_NAME": "EquippableContainer",
178849
+ "NAME_ID": 15001,
178850
+ "DESCRIPTION_ID": 0,
178851
+ "IMAGE_SET_ID": 1206,
178852
+ "ACTIVATABLE_ABILITY_ID": 0,
178853
+ "PASSIVE_ABILITY_ID": 0,
178854
+ "COST": 0,
178855
+ "ITEM_CLASS": 25024,
178856
+ "MAX_STACK_SIZE": 1,
178857
+ "MIN_STACK_SIZE": 1,
178858
+ "PROFILE_OVERRIDE": 0,
178859
+ "NO_TRADE": 0,
178860
+ "SINGLE_USE": 0,
178861
+ "MODEL_NAME": "",
178862
+ "GENDER_USAGE": 0,
178863
+ "TEXTURE_ALIAS": "",
178864
+ "SHADER_PARAMETER_GROUP_ID": 0,
178865
+ "CATEGORY_ID": 4,
178866
+ "MEMBERS_ONLY": 0,
178867
+ "NON_MINI_GAME": 0,
178868
+ "PARAM1": 117,
178869
+ "PARAM2": 54,
178870
+ "PARAM3": 0,
178871
+ "NO_SALE": 0,
178872
+ "WEAPON_TRAIL_EFFECT_ID": 0,
178873
+ "USE_REQUIREMENT_ID": 0,
178874
+ "CLIENT_USE_REQUIREMENT_ID": 0,
178875
+ "COMPOSITE_EFFECT_ID": 0,
178876
+ "POWER_RATING": 0,
178877
+ "MIN_PROFILE_RANK": 1,
178878
+ "RARITY": 0,
178879
+ "CONTENT_ID": 1,
178880
+ "NO_LIVE_GAMER": 0,
178881
+ "COMBAT_ONLY": 0,
178882
+ "FORCE_DISABLE_PREVIEW": 0,
178883
+ "MEMBER_DISCOUNT": 0,
178884
+ "RACE_SET_ID": 0,
178885
+ "VIP_RANK_REQUIRED": 0,
178886
+ "PERSIST_PROFILE_SWITCH": 0,
178887
+ "FLAG_QUICK_USE": 0,
178888
+ "FLAG_CAN_EQUIP": 1,
178889
+ "FLAG_ACCOUNT_SCOPE": 0,
178890
+ "UI_MODEL_CAMERA_ID": 0,
178891
+ "EQUIP_COUNT_MAX": 0,
178892
+ "CURRENCY_TYPE": 0,
178893
+ "DATASHEET_ID": 0,
178894
+ "ITEM_TYPE": 34,
178895
+ "SKILL_SET_ID": 0,
178896
+ "OVERLAY_TEXTURE": "",
178897
+ "DECAL_SLOT": "",
178898
+ "OVERLAY_ADJUSTMENT": 0,
178899
+ "TRIAL_DURATION_SEC": 0,
178900
+ "NEXT_TRIAL_DELAY_SEC": 0,
178901
+ "PASSIVE_ABILITY_SET_ID": 0,
178902
+ "HUD_IMAGE_SET_ID": 0,
178903
+ "OVERRIDE_APPEARANCE": "",
178904
+ "OVERRIDE_CAMERA_ID": 0,
178905
+ "PLAYER_STUDIO_DISPLAY_NAME": "",
178906
+ "STRING_PARAM1": "",
178907
+ "BULK": 9999,
178908
+ "ACTIVE_EQUIP_SLOT_ID": 0,
178909
+ "PASSIVE_EQUIP_SLOT_ID": 0,
178910
+ "USE_ITEM_RETICLE_ID": 0,
178911
+ "GRINDER_REWARD_SET_ID": 0,
178912
+ "BUILD_BAR_GROUP_ID": 0,
178913
+ "FLAG_NO_DRAG_DROP": 0,
178914
+ "INTERACTION_ANIMATION_ID": 0,
178915
+ "IS_ARMOR": 0,
178916
+ "PASSIVE_EQUIP_SLOT_GROUP_ID": 0,
178917
+ "SCRAP_VALUE_OVERRIDE": 0
178918
+ },
178919
+ "5005": {
178920
+ "NAME": "[H1emu] ATV VEHICLE CONTAINER",
178921
+ "ID": 5005,
178922
+ "CODE_FACTORY_NAME": "EquippableContainer",
178923
+ "NAME_ID": 15001,
178924
+ "DESCRIPTION_ID": 0,
178925
+ "IMAGE_SET_ID": 1206,
178926
+ "ACTIVATABLE_ABILITY_ID": 0,
178927
+ "PASSIVE_ABILITY_ID": 0,
178928
+ "COST": 0,
178929
+ "ITEM_CLASS": 25061,
178930
+ "MAX_STACK_SIZE": 1,
178931
+ "MIN_STACK_SIZE": 1,
178932
+ "PROFILE_OVERRIDE": 0,
178933
+ "NO_TRADE": 0,
178934
+ "SINGLE_USE": 0,
178935
+ "MODEL_NAME": "",
178936
+ "GENDER_USAGE": 0,
178937
+ "TEXTURE_ALIAS": "",
178938
+ "SHADER_PARAMETER_GROUP_ID": 0,
178939
+ "CATEGORY_ID": 4,
178940
+ "MEMBERS_ONLY": 0,
178941
+ "NON_MINI_GAME": 0,
178942
+ "PARAM1": 117,
178943
+ "PARAM2": 54,
178944
+ "PARAM3": 0,
178945
+ "NO_SALE": 0,
178946
+ "WEAPON_TRAIL_EFFECT_ID": 0,
178947
+ "USE_REQUIREMENT_ID": 0,
178948
+ "CLIENT_USE_REQUIREMENT_ID": 0,
178949
+ "COMPOSITE_EFFECT_ID": 0,
178950
+ "POWER_RATING": 0,
178951
+ "MIN_PROFILE_RANK": 1,
178952
+ "RARITY": 0,
178953
+ "CONTENT_ID": 1,
178954
+ "NO_LIVE_GAMER": 0,
178955
+ "COMBAT_ONLY": 0,
178956
+ "FORCE_DISABLE_PREVIEW": 0,
178957
+ "MEMBER_DISCOUNT": 0,
178958
+ "RACE_SET_ID": 0,
178959
+ "VIP_RANK_REQUIRED": 0,
178960
+ "PERSIST_PROFILE_SWITCH": 0,
178961
+ "FLAG_QUICK_USE": 0,
178962
+ "FLAG_CAN_EQUIP": 1,
178963
+ "FLAG_ACCOUNT_SCOPE": 0,
178964
+ "UI_MODEL_CAMERA_ID": 0,
178965
+ "EQUIP_COUNT_MAX": 0,
178966
+ "CURRENCY_TYPE": 0,
178967
+ "DATASHEET_ID": 0,
178968
+ "ITEM_TYPE": 34,
178969
+ "SKILL_SET_ID": 0,
178970
+ "OVERLAY_TEXTURE": "",
178971
+ "DECAL_SLOT": "",
178972
+ "OVERLAY_ADJUSTMENT": 0,
178973
+ "TRIAL_DURATION_SEC": 0,
178974
+ "NEXT_TRIAL_DELAY_SEC": 0,
178975
+ "PASSIVE_ABILITY_SET_ID": 0,
178976
+ "HUD_IMAGE_SET_ID": 0,
178977
+ "OVERRIDE_APPEARANCE": "",
178978
+ "OVERRIDE_CAMERA_ID": 0,
178979
+ "PLAYER_STUDIO_DISPLAY_NAME": "",
178980
+ "STRING_PARAM1": "",
178981
+ "BULK": 9999,
178982
+ "ACTIVE_EQUIP_SLOT_ID": 0,
178983
+ "PASSIVE_EQUIP_SLOT_ID": 0,
178984
+ "USE_ITEM_RETICLE_ID": 0,
178985
+ "GRINDER_REWARD_SET_ID": 0,
178986
+ "BUILD_BAR_GROUP_ID": 0,
178987
+ "FLAG_NO_DRAG_DROP": 0,
178988
+ "INTERACTION_ANIMATION_ID": 0,
178989
+ "IS_ARMOR": 0,
178990
+ "PASSIVE_EQUIP_SLOT_GROUP_ID": 0,
178991
+ "SCRAP_VALUE_OVERRIDE": 0
178992
+ },
178993
+ "5006": {
178994
+ "NAME": "[H1emu] Storage",
178995
+ "ID": 5006,
178996
+ "CODE_FACTORY_NAME": "EquippableContainer",
178997
+ "NAME_ID": 587,
178998
+ "DESCRIPTION_ID": 0,
178999
+ "IMAGE_SET_ID": 91,
179000
+ "ACTIVATABLE_ABILITY_ID": 0,
179001
+ "PASSIVE_ABILITY_ID": 0,
179002
+ "COST": 0,
179003
+ "ITEM_CLASS": 16053,
179004
+ "MAX_STACK_SIZE": 1,
179005
+ "MIN_STACK_SIZE": 1,
179006
+ "PROFILE_OVERRIDE": 0,
179007
+ "NO_TRADE": 0,
179008
+ "SINGLE_USE": 0,
179009
+ "MODEL_NAME": "",
179010
+ "GENDER_USAGE": 0,
179011
+ "TEXTURE_ALIAS": "",
179012
+ "SHADER_PARAMETER_GROUP_ID": 0,
179013
+ "CATEGORY_ID": 4,
179014
+ "MEMBERS_ONLY": 0,
179015
+ "NON_MINI_GAME": 0,
179016
+ "PARAM1": 117,
179017
+ "PARAM2": 54,
179018
+ "PARAM3": 0,
179019
+ "NO_SALE": 0,
179020
+ "WEAPON_TRAIL_EFFECT_ID": 0,
179021
+ "USE_REQUIREMENT_ID": 0,
179022
+ "CLIENT_USE_REQUIREMENT_ID": 0,
179023
+ "COMPOSITE_EFFECT_ID": 0,
179024
+ "POWER_RATING": 0,
179025
+ "MIN_PROFILE_RANK": 1,
179026
+ "RARITY": 0,
179027
+ "CONTENT_ID": 1,
179028
+ "NO_LIVE_GAMER": 0,
179029
+ "COMBAT_ONLY": 0,
179030
+ "FORCE_DISABLE_PREVIEW": 0,
179031
+ "MEMBER_DISCOUNT": 0,
179032
+ "RACE_SET_ID": 0,
179033
+ "VIP_RANK_REQUIRED": 0,
179034
+ "PERSIST_PROFILE_SWITCH": 0,
179035
+ "FLAG_QUICK_USE": 0,
179036
+ "FLAG_CAN_EQUIP": 1,
179037
+ "FLAG_ACCOUNT_SCOPE": 0,
179038
+ "UI_MODEL_CAMERA_ID": 0,
179039
+ "EQUIP_COUNT_MAX": 0,
179040
+ "CURRENCY_TYPE": 0,
179041
+ "DATASHEET_ID": 0,
179042
+ "ITEM_TYPE": 34,
179043
+ "SKILL_SET_ID": 0,
179044
+ "OVERLAY_TEXTURE": "",
179045
+ "DECAL_SLOT": "",
179046
+ "OVERLAY_ADJUSTMENT": 0,
179047
+ "TRIAL_DURATION_SEC": 0,
179048
+ "NEXT_TRIAL_DELAY_SEC": 0,
179049
+ "PASSIVE_ABILITY_SET_ID": 0,
179050
+ "HUD_IMAGE_SET_ID": 0,
179051
+ "OVERRIDE_APPEARANCE": "",
179052
+ "OVERRIDE_CAMERA_ID": 0,
179053
+ "PLAYER_STUDIO_DISPLAY_NAME": "",
179054
+ "STRING_PARAM1": "",
179055
+ "BULK": 9999,
179056
+ "ACTIVE_EQUIP_SLOT_ID": 0,
179057
+ "PASSIVE_EQUIP_SLOT_ID": 0,
179058
+ "USE_ITEM_RETICLE_ID": 0,
179059
+ "GRINDER_REWARD_SET_ID": 0,
179060
+ "BUILD_BAR_GROUP_ID": 0,
179061
+ "FLAG_NO_DRAG_DROP": 0,
179062
+ "INTERACTION_ANIMATION_ID": 0,
179063
+ "IS_ARMOR": 0,
179064
+ "PASSIVE_EQUIP_SLOT_GROUP_ID": 0,
179065
+ "SCRAP_VALUE_OVERRIDE": 0
178621
179066
  }
178622
179067
  }
package/h1z1-server.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // GNU GENERAL PUBLIC LICENSE
4
4
  // Version 3, 29 June 2007
5
5
  // copyright (C) 2020 - 2021 Quentin Gruber
6
- // copyright (C) 2021 - 2022 H1emu community
6
+ // copyright (C) 2021 - 2023 H1emu community
7
7
  //
8
8
  // https://github.com/QuentinGruber/h1z1-server
9
9
  // https://www.npmjs.com/package/h1z1-server
@@ -52,7 +52,7 @@ h1z1Server.__defineGetter__("LoginProtocol", function () {
52
52
  });
53
53
 
54
54
  h1z1Server.__defineGetter__("GatewayProtocol", function () {
55
- return require("./out/protocols/gatewayprotocol.js").GatewayProtocol;
55
+ return require("h1emu-core").GatewayProtocol;
56
56
  });
57
57
 
58
58
  h1z1Server.__defineGetter__("H1Z1Protocol", function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "h1z1-server",
3
- "version": "0.22.4-0",
3
+ "version": "0.22.4-2",
4
4
  "description": "Library for emulating h1z1 servers",
5
5
  "author": "Quentin Gruber <quentingruber@gmail.com> (http://github.com/quentingruber)",
6
6
  "license": "GPL-3.0-only",
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "debug": "4.3.4",
17
- "h1emu-core": "1.0.0",
17
+ "h1emu-core": "1.0.1",
18
18
  "h1z1-dataschema": "1.7.0",
19
19
  "mongodb": "4.12.0",
20
20
  "typescript": "4.9.3"
@@ -37,6 +37,7 @@
37
37
  "gen-packets-interfaces": "npx ts-node ./scripts/genPacketsInterfaces.ts ",
38
38
  "fix-signatures": "npx ts-node ./scripts/fixSignatures.ts && npm run prettier_sources",
39
39
  "gen-doc": "npx typedoc",
40
+ "start": "node ./scripts/h1z1-server-demo-2016.js",
40
41
  "lint": "npx eslint src",
41
42
  "lint-quiet": "npx eslint --quiet src",
42
43
  "build": "npm run build-all",
@@ -3,7 +3,7 @@
3
3
  // GNU GENERAL PUBLIC LICENSE
4
4
  // Version 3, 29 June 2007
5
5
  // copyright (C) 2020 - 2021 Quentin Gruber
6
- // copyright (C) 2021 - 2022 H1emu community
6
+ // copyright (C) 2021 - 2023 H1emu community
7
7
  //
8
8
  // https://github.com/QuentinGruber/h1z1-server
9
9
  // https://www.npmjs.com/package/h1z1-server
@@ -0,0 +1,93 @@
1
+ // ======================================================================
2
+ //
3
+ // GNU GENERAL PUBLIC LICENSE
4
+ // Version 3, 29 June 2007
5
+ // copyright (C) 2020 - 2021 Quentin Gruber
6
+ // copyright (C) 2021 - 2023 H1emu community
7
+ //
8
+ // https://github.com/QuentinGruber/h1z1-server
9
+ // https://www.npmjs.com/package/h1z1-server
10
+ //
11
+ // Based on https://github.com/psemu/soe-network
12
+ // ======================================================================
13
+
14
+ const debug = require("debug")("GatewayClient");
15
+ import { EventEmitter } from "events";
16
+ import { GatewayProtocol } from "h1emu-core";
17
+ import { SOEClient } from "./soeclient";
18
+
19
+ export class GatewayClient extends EventEmitter {
20
+ private _protocol: GatewayProtocol;
21
+ private _soeClient: SOEClient;
22
+ constructor(
23
+ serverAddress: string,
24
+ serverPort: number,
25
+ key: any,
26
+ localPort: number
27
+ ) {
28
+ super();
29
+ this._soeClient = new SOEClient(
30
+ "ExternalGatewayApi_3",
31
+ serverAddress,
32
+ serverPort,
33
+ key,
34
+ localPort
35
+ );
36
+ this._protocol = new GatewayProtocol();
37
+ // @ts-ignore
38
+ this._soeClient.on("appdata", (err: any, data: Uint8Array) => {
39
+ const packet = JSON.parse(this._protocol.parse(data));
40
+ switch (packet.name) {
41
+ case "LoginReply":
42
+ if (packet.logged_in) {
43
+ this.emit("login", null, { result: packet });
44
+ }
45
+ break;
46
+ case "TunnelPacket":
47
+ this.emit(
48
+ "tunneldata",
49
+ null,
50
+ Buffer.from(packet.tunnel_data),
51
+ packet.flags
52
+ );
53
+ break;
54
+ }
55
+ });
56
+
57
+ // @ts-ignore
58
+ this._soeClient.on("connect", (err: any, result: any) => {
59
+ debug("Connected to login server");
60
+ this._soeClient.toggleEncryption(false);
61
+ this.emit("connect", err, result);
62
+ });
63
+ }
64
+
65
+ connect() {
66
+ debug("Connecting to gateway server");
67
+ this._soeClient.connect();
68
+ }
69
+
70
+ sendTunnelData(tunnelData: Uint8Array, channel: number) {
71
+ channel = channel || 0;
72
+ debug("Sending tunnel data to gateway server");
73
+ const data = this._protocol.pack_tunnel_data_packet_for_server(tunnelData);
74
+ this._soeClient.sendAppData(data, true);
75
+ }
76
+
77
+ login(
78
+ characterId: string,
79
+ ticket: string,
80
+ clientProtocol: string,
81
+ clientBuild: string
82
+ ) {
83
+ debug("Sending login request");
84
+ const data = this._protocol.pack_login_request_packet(
85
+ BigInt(characterId),
86
+ ticket,
87
+ clientProtocol,
88
+ clientBuild
89
+ );
90
+ this._soeClient.sendAppData(data, false);
91
+ this._soeClient.toggleEncryption(true);
92
+ }
93
+ }
@@ -3,7 +3,7 @@
3
3
  // GNU GENERAL PUBLIC LICENSE
4
4
  // Version 3, 29 June 2007
5
5
  // copyright (C) 2020 - 2021 Quentin Gruber
6
- // copyright (C) 2021 - 2022 H1emu community
6
+ // copyright (C) 2021 - 2023 H1emu community
7
7
  //
8
8
  // https://github.com/QuentinGruber/h1z1-server
9
9
  // https://www.npmjs.com/package/h1z1-server
@@ -3,7 +3,7 @@
3
3
  // GNU GENERAL PUBLIC LICENSE
4
4
  // Version 3, 29 June 2007
5
5
  // copyright (C) 2020 - 2021 Quentin Gruber
6
- // copyright (C) 2021 - 2022 H1emu community
6
+ // copyright (C) 2021 - 2023 H1emu community
7
7
  //
8
8
  // https://github.com/QuentinGruber/h1z1-server
9
9
  // https://www.npmjs.com/package/h1z1-server
@@ -3,7 +3,7 @@
3
3
  // GNU GENERAL PUBLIC LICENSE
4
4
  // Version 3, 29 June 2007
5
5
  // copyright (C) 2020 - 2021 Quentin Gruber
6
- // copyright (C) 2021 - 2022 H1emu community
6
+ // copyright (C) 2021 - 2023 H1emu community
7
7
  //
8
8
  // https://github.com/QuentinGruber/h1z1-server
9
9
  // https://www.npmjs.com/package/h1z1-server
@@ -3,7 +3,7 @@
3
3
  // GNU GENERAL PUBLIC LICENSE
4
4
  // Version 3, 29 June 2007
5
5
  // copyright (C) 2020 - 2021 Quentin Gruber
6
- // copyright (C) 2021 - 2022 H1emu community
6
+ // copyright (C) 2021 - 2023 H1emu community
7
7
  //
8
8
  // https://github.com/QuentinGruber/h1z1-server
9
9
  // https://www.npmjs.com/package/h1z1-server
@@ -3,7 +3,7 @@
3
3
  // GNU GENERAL PUBLIC LICENSE
4
4
  // Version 3, 29 June 2007
5
5
  // copyright (C) 2020 - 2021 Quentin Gruber
6
- // copyright (C) 2021 - 2022 H1emu community
6
+ // copyright (C) 2021 - 2023 H1emu community
7
7
  //
8
8
  // https://github.com/QuentinGruber/h1z1-server
9
9
  // https://www.npmjs.com/package/h1z1-server
@@ -3,7 +3,7 @@
3
3
  // GNU GENERAL PUBLIC LICENSE
4
4
  // Version 3, 29 June 2007
5
5
  // copyright (C) 2020 - 2021 Quentin Gruber
6
- // copyright (C) 2021 - 2022 H1emu community
6
+ // copyright (C) 2021 - 2023 H1emu community
7
7
  //
8
8
  // https://github.com/QuentinGruber/h1z1-server
9
9
  // https://www.npmjs.com/package/h1z1-server