h1z1-server 0.26.2-3 → 0.26.2-5

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 (36) hide show
  1. package/config.yaml +71 -0
  2. package/data/2016/encryptedData/fairPlayData.json +74 -78
  3. package/data/2016/sampleData/defaultconfig.yaml +71 -0
  4. package/package.json +3 -1
  5. package/src/packets/ClientProtocol/ClientProtocol_1080/shared.ts +2600 -2600
  6. package/src/servers/ZoneServer2016/classes/weapon.ts +52 -51
  7. package/src/servers/ZoneServer2016/classes/zoneclient.ts +154 -156
  8. package/src/servers/ZoneServer2016/commands/commands.ts +11 -138
  9. package/src/servers/ZoneServer2016/commands/dev.ts +782 -784
  10. package/src/servers/ZoneServer2016/data/Recipes.ts +2540 -2538
  11. package/src/servers/ZoneServer2016/data/lootspawns.ts +2703 -2703
  12. package/src/servers/ZoneServer2016/entities/baseentity.ts +112 -112
  13. package/src/servers/ZoneServer2016/entities/basefullcharacter.ts +1015 -1015
  14. package/src/servers/ZoneServer2016/entities/character.ts +2 -2
  15. package/src/servers/ZoneServer2016/entities/constructionchildentity.ts +557 -552
  16. package/src/servers/ZoneServer2016/entities/constructiondoor.ts +323 -315
  17. package/src/servers/ZoneServer2016/entities/constructionparententity.ts +838 -833
  18. package/src/servers/ZoneServer2016/entities/crate.ts +151 -153
  19. package/src/servers/ZoneServer2016/entities/itemobject.ts +106 -106
  20. package/src/servers/ZoneServer2016/entities/lootableconstructionentity.ts +198 -193
  21. package/src/servers/ZoneServer2016/entities/plantingdiameter.ts +41 -38
  22. package/src/servers/ZoneServer2016/entities/vehicle.ts +609 -609
  23. package/src/servers/ZoneServer2016/managers/configmanager.ts +250 -0
  24. package/src/servers/ZoneServer2016/managers/constructionmanager.ts +2326 -0
  25. package/src/servers/ZoneServer2016/managers/fairplaymanager.ts +531 -0
  26. package/src/servers/ZoneServer2016/managers/rconmanager.ts +14 -0
  27. package/src/servers/ZoneServer2016/managers/speedtreemanager.ts +142 -0
  28. package/src/servers/ZoneServer2016/managers/weathermanager.ts +491 -300
  29. package/src/servers/ZoneServer2016/managers/worlddatamanager.ts +1273 -1269
  30. package/src/servers/ZoneServer2016/managers/worlddatamanagerthread.ts +59 -56
  31. package/src/servers/ZoneServer2016/managers/worldobjectmanager.ts +577 -577
  32. package/src/servers/ZoneServer2016/models/config.ts +83 -0
  33. package/src/servers/ZoneServer2016/models/enums.ts +669 -667
  34. package/src/servers/ZoneServer2016/zonepackethandlers.ts +2553 -2643
  35. package/src/servers/ZoneServer2016/zoneserver.ts +438 -3026
  36. package/src/types/zoneserver.ts +6 -2
package/config.yaml ADDED
@@ -0,0 +1,71 @@
1
+ server:
2
+ welcomeMessage: "Welcome to H1emu! :D"
3
+ adminMessage: "You are an Admin!"
4
+ proximityItemsDistance: 2
5
+ interactionDistance: 3
6
+ charactersRenderDistance: 350
7
+ tickRate: 2000
8
+ worldRoutineRate: 30000
9
+
10
+ # Fairplay / anticheat config
11
+ fairplay:
12
+ useFairplay: true
13
+ maxPing: 250
14
+ pingTimeoutTime: 30000
15
+
16
+ weather:
17
+ cycleSpeed: 100
18
+ frozeCycle: false
19
+ defaultTemplate: "z1br"
20
+
21
+ # Anything to do with loot, vehicle, and npc spawning / despawning
22
+ worldobjects:
23
+ # Respawn timers
24
+
25
+ lootRespawnTimer: 1200000 # 30 minutes
26
+ vehicleRespawnTimer: 600000 # 10 minutes
27
+ npcRespawnTimer: 600000 # 10 minutes
28
+
29
+ # Despawn timers
30
+
31
+ # Player dropped items on the ground
32
+ itemDespawnTimer: 600000 # 10 minutes
33
+ # Spawned objects on the ground
34
+ lootDespawnTimer: 2400000 # 40 minutes
35
+ deadNpcDespawnTimer: 600000 # 10 minutes
36
+
37
+ # Misc
38
+
39
+ vehicleSpawnCap: 100
40
+ # How far any other vehicle has to be for another to spawn
41
+ vehicleSpawnRadius: 50
42
+ # How far another spawned npc has to be for another to spawn
43
+ npcSpawnRadius: 3
44
+ chanceNpc: 100 # To be reworked: 100 max
45
+ chanceScreamer: 5 # To be reworked: 1000 max
46
+
47
+ # Trees, blackberry bushes, and sticks
48
+ speedtree:
49
+ minBlackberryHarvest: 1
50
+ maxBlackberryHarvest: 2
51
+ # from blackberry bushes only
52
+ branchHarvestChance: 0.1 # maximum of 1 for 100% chance
53
+
54
+ minStickHarvest: 1
55
+ maxStickHarvest: 2
56
+
57
+ treeRespawnTimeMS: 1800000 # 30 minutes
58
+ minWoodLogHarvest: 2
59
+ maxWoodLogHarvest: 6
60
+ minTreeHits: 12 # minimum hits it takes to chop a tree
61
+ maxTreeHits: 20 # maximum hits it takes to chop a tree
62
+
63
+ construction:
64
+ allowPOIPlacement: false
65
+ allowStackedPlacement: false
66
+ allowOutOfBoundsPlacement: false
67
+ placementRange: 30
68
+ spawnPointBlockedPlacementRange: 25
69
+ vehicleSpawnPointBlockedPlacementRange: 30
70
+ playerFoundationBlockedPlacementRange: 70
71
+ playerShackBlockedPlacementRange: 20
@@ -1,154 +1,150 @@
1
1
  [
2
2
  {
3
- "iv": "8c90845e032c38464b5a3e5820bb5c45",
4
- "encryptedData": "bca259907948206500bb42ad5e1a9f4d"
3
+ "iv": "2b48ee30a254dd80dc4d0e6a95c650e7",
4
+ "encryptedData": "cfe1fd810cba02bd45db47dc995e7756"
5
5
  },
6
6
  {
7
- "iv": "a4436440d7d36b8a22af09fdd813d08e",
8
- "encryptedData": "66e2928af6efd639b4e9464a7fa4eb6c"
7
+ "iv": "2af5b9b060781f3396c4e5a833998397",
8
+ "encryptedData": "1160785c17ad86248ce992754aa2258b"
9
9
  },
10
10
  {
11
- "iv": "2e9cbbfe7de38c59572f4c0bf85f7661",
12
- "encryptedData": "3ad2fc74ad4d8cecab9074c427a2392c"
11
+ "iv": "3baa34430d5e6e203f9f971171752c42",
12
+ "encryptedData": "eb7e6fb4320911f6b0aadc47b4834106"
13
13
  },
14
14
  {
15
- "iv": "73a906139cd139d8880c3dcc152e302d",
16
- "encryptedData": "af26785772f8ef94ba931ce9a4780e00"
15
+ "iv": "c06ce26d111f16a5471c0010853b1c1c",
16
+ "encryptedData": "7998a2208e9f5028195e4f409a6ce56c"
17
17
  },
18
18
  {
19
- "iv": "263d1a127633ad6c00de1ba47f06a361",
20
- "encryptedData": "6924d9317e635b1dac78deb164788fb6"
19
+ "iv": "2ee850532a5c49c523ee530f6fd06cca",
20
+ "encryptedData": "fc8193ec83a8d5a95bd6ce7f89827115"
21
21
  },
22
22
  {
23
- "iv": "fe6608eed4a3cf28354004a792550525",
24
- "encryptedData": "de349e2aa05d5e58690a3e806732eb94"
23
+ "iv": "09dbdbda68d9955090f7f5a974d7728f",
24
+ "encryptedData": "ca29d6e5841c45eeb495844339021724"
25
25
  },
26
26
  {
27
- "iv": "10cfc9dd813104fe4b9b577fb23b1b91",
28
- "encryptedData": "5fa2783c3f06d8c1b4f85f8823ee55be"
27
+ "iv": "dd6010930ade0acbdf0de5fa5f6d9f3c",
28
+ "encryptedData": "6cde5deeb449c49f735cdc30cd18f0c8"
29
29
  },
30
30
  {
31
- "iv": "a497efff0df2c096ab5d14247eae369c",
32
- "encryptedData": "4c91f63636f31ddf96a886fc0db11bb4"
31
+ "iv": "0f32ecf8adac83f748541cb476910e45",
32
+ "encryptedData": "07091cdf9880af2526865efa6efc72f1"
33
33
  },
34
34
  {
35
- "iv": "6c84b63a73f5c4276c4e76a73c9281ea",
36
- "encryptedData": "c5f329532e3809a9c57f9b0a8725853b"
35
+ "iv": "c96255ac6a605d0251fe43cb4d576813",
36
+ "encryptedData": "e34a8f8555054f962e1f2060324563a2"
37
37
  },
38
38
  {
39
- "iv": "f342d26539c40184e97d90f6fe6fcb6b",
40
- "encryptedData": "a29c8262f7b089d7cd84dfad3831b59e"
39
+ "iv": "9db8e16d8fc05e459844fa7837a09113",
40
+ "encryptedData": "e04e729d86b5824d3edafe78bc5ae157"
41
41
  },
42
42
  {
43
- "iv": "b52a327682c30f9c0887b2ecf3bebf05",
44
- "encryptedData": "e2196222f65714bb41643f51b59bc870"
43
+ "iv": "619515abae23e9648dc328091e68245f",
44
+ "encryptedData": "8332f9fc03eb535667397db003318bf4"
45
45
  },
46
46
  {
47
- "iv": "25c3caf68c4135d8221568ba7f8e3fdf",
48
- "encryptedData": "578a008ef639f9d4eb8b664ee945f316"
47
+ "iv": "c2221c8863f016ed653acf96fcb2c5bd",
48
+ "encryptedData": "1e7565aa455e3361ade6f512841e95b2"
49
49
  },
50
50
  {
51
- "iv": "db37fc34abc36b17792b363ccb1fb0e3",
52
- "encryptedData": "22a003a05fab2ea843749ece8b1bec63"
51
+ "iv": "7935b070629b3f22095731d10c4f2766",
52
+ "encryptedData": "d8cb8f1afde5edc5715dbf00e788b4e8"
53
53
  },
54
54
  {
55
- "iv": "87de81bdbd4788a7fba03d5c2c753fd7",
56
- "encryptedData": "fac329d4b50826d300f0778ea5a40b46"
55
+ "iv": "f2c06b384ff3b8043d3e1390140a039d",
56
+ "encryptedData": "56d816c1b019e921a10455a684d79646"
57
57
  },
58
58
  {
59
- "iv": "386c1d6082bfa4804f89467c5047f026",
60
- "encryptedData": "1e6dee6a2554b1fc46326e4faee7c95a"
59
+ "iv": "87eda56002a90e8b032a7a79b08a0c10",
60
+ "encryptedData": "725089b885f763280ce65e50e1a5b92a"
61
61
  },
62
62
  {
63
- "iv": "6ee15370ff5dac362c94a1c28a3ff52d",
64
- "encryptedData": "69f879fe71bc487ba0aec5207d606dc0"
63
+ "iv": "9396af3d9cd84028f331dfa1a2c0d62a",
64
+ "encryptedData": "935b19e0ceb8cce804a0491314b509ee"
65
65
  },
66
66
  {
67
- "iv": "7bcd4dd172d9c36b5ec8d41ca717e59d",
68
- "encryptedData": "335aa6429ce61388aa50680ebde0e7e2"
67
+ "iv": "60f15b680f4cfb1de3ce74240e91b70f",
68
+ "encryptedData": "3b738454f6a39b5b9ee986fc1d12b31a"
69
69
  },
70
70
  {
71
- "iv": "616e683a3f69e010034ac77941c81581",
72
- "encryptedData": "c550f7188a83f5ef6c04accab28bb2e1"
71
+ "iv": "1dfa30e7b2187ae977e2a3c8ffa22d78",
72
+ "encryptedData": "1c84dac304f81e4110122a3fe22800f0"
73
73
  },
74
74
  {
75
- "iv": "d82604901288e495bf207e1c52faad8e",
76
- "encryptedData": "38bf8cffb438c062f1cfe72980fa0762"
75
+ "iv": "4a13a3d44eb86a4f0c0834fb89e8ee01",
76
+ "encryptedData": "9f12b60d2840b5989fa80dd00a7df51b"
77
77
  },
78
78
  {
79
- "iv": "0c38f1a9281e4e7fe007edfac9a38197",
80
- "encryptedData": "481876c3940b00d2df4b60a84eb912c4"
79
+ "iv": "d267136c11956aaee83466267626a8ef",
80
+ "encryptedData": "20304f2fbdad4eb928c30a8bfe518b73"
81
81
  },
82
82
  {
83
- "iv": "36b9c6fba1534187b58729d1fe9361b2",
84
- "encryptedData": "60c3fe3dce26a311759b5783c02b127f"
83
+ "iv": "bf03ff841e1e36650e51f5e1ac40fe7c",
84
+ "encryptedData": "bea5c8ea1a86893de458877d3598a0a7"
85
85
  },
86
86
  {
87
- "iv": "81cdf3f0f2baecc1fd87439f29a8bbaf",
88
- "encryptedData": "549e73957a4c0793c457fecf803122be"
87
+ "iv": "3ee7f4a5b111daed4332e3de4db15d1c",
88
+ "encryptedData": "1d2604718c0fc0d94bae1808348f442b"
89
89
  },
90
90
  {
91
- "iv": "5e4342c4303cb76d44cc00b172258277",
92
- "encryptedData": "017d8e6bd82bad6a763b674cfb980141"
91
+ "iv": "a0560744770373d4b18a9f383f24dc5c",
92
+ "encryptedData": "a4cfa4dbc523378bb3a823c4b9f2d07d"
93
93
  },
94
94
  {
95
- "iv": "ae51ff44b7448dba99ad7380f8e9a6cf",
96
- "encryptedData": "4eade5f020733ad69ee37c980adae05f"
95
+ "iv": "a93db412f566ee3e1cf7164a9b3be9ad",
96
+ "encryptedData": "ac64c4080689e54553ea997018b50ffa"
97
97
  },
98
98
  {
99
- "iv": "41c28ef2ae801d4173d083f99dc844c6",
100
- "encryptedData": "7fa8a4f411845f4e55535836bd977da4"
99
+ "iv": "e76eccc8264b5cf024f739671043b6b9",
100
+ "encryptedData": "f30bc273ade3979998508cb4358a6b7b"
101
101
  },
102
102
  {
103
- "iv": "4ced1ffc7110a9525d37f4cabbb25345",
104
- "encryptedData": "9652af687350594c9964a1ad21c784a6"
103
+ "iv": "35d2bee726ccf4b4863f83022b80d271",
104
+ "encryptedData": "cebd5ec2255cfaeabb20657f1f908cc9"
105
105
  },
106
106
  {
107
- "iv": "8a73b49f827da4e4fc92a83033fd71a4",
108
- "encryptedData": "65b201bbe8c81069b829c0535e0c811d"
107
+ "iv": "fb136b15a80a717d28d2a6c6611bee40",
108
+ "encryptedData": "68def6e6f9c218fb6618ffb146532472"
109
109
  },
110
110
  {
111
- "iv": "0e16f98305b45d955a0fc9051fa81051",
112
- "encryptedData": "486498930f9b89306f71a59ae4cc2624"
111
+ "iv": "df6c0878e4efa2f2c14864e9906bfd41",
112
+ "encryptedData": "dbfeff6affed62ee974127049a524c76"
113
113
  },
114
114
  {
115
- "iv": "b8ea4f7290b92d4c3b02988e32e92fd1",
116
- "encryptedData": "f223e2569a1094a87fb67c47923cf6fd"
115
+ "iv": "aff3a166c3842b5e2bc8aeb655f6189f",
116
+ "encryptedData": "96ee6c543da5d1ed0905d7ebdba70a9a"
117
117
  },
118
118
  {
119
- "iv": "c6f419b52cfbc2d106b3196af254a1de",
120
- "encryptedData": "0113e4c450351eb0eedaab4866c8c5b5"
119
+ "iv": "f114b410b87f1569b7207d963e3a36d8",
120
+ "encryptedData": "e50804596de013a31c3a289608a11fd3"
121
121
  },
122
122
  {
123
- "iv": "82ec052b0073d51845266d64409be3ba",
124
- "encryptedData": "65fb12500065bc91ca9e85b0be60225c7ad2320ad7d9b1cfbc259b02dbf65db0"
123
+ "iv": "ea043fc0a66a96f804c53b285c9dcbfa",
124
+ "encryptedData": "3dc040929cc2f1f20ccc7b335b843076511f9760523aa86c88d881b1879d4484"
125
125
  },
126
126
  {
127
- "iv": "1e64d381e9169a27d9eb258c940ae84d",
128
- "encryptedData": "f8185c8e9a589a113d4894177908088dd617b085e928d84e213dd7cf7e618ea6"
127
+ "iv": "9755049555722a513424670a85289ce5",
128
+ "encryptedData": "225a347b79c813706be1f4e0d7941916526c94969d3f4803de9864d8346660a7"
129
129
  },
130
130
  {
131
- "iv": "60de70e34e20cd17e16a145ef4b9e61c",
132
- "encryptedData": "24e28a665d0c06f86d3720219357f1be"
131
+ "iv": "ceadface7364f5212f81c01c6fd53d29",
132
+ "encryptedData": "2ba1959c7686a1a330eb05497e3496b8"
133
133
  },
134
134
  {
135
- "iv": "e1913f82a4b964ecab62a5e6b517b241",
136
- "encryptedData": "c456fc202871d15acd644c92900e8313"
135
+ "iv": "fc982708f6a5c775200ad3a045e8c26c",
136
+ "encryptedData": "e642dd593bee40671149befe513022ab"
137
137
  },
138
138
  {
139
- "iv": "a3505c84bc140a9a6a7eff275c3a93a2",
140
- "encryptedData": "7c2f7a499b419bcb3f7abd143177b314"
139
+ "iv": "b5e6f0f083d2edf45c50b7d1fef1e52c",
140
+ "encryptedData": "2c79e7fb6fe68661b8c83619567c2a03"
141
141
  },
142
142
  {
143
- "iv": "06b3e45dfd6e50f7cbf66eefc075ace9",
144
- "encryptedData": "aa667fe55d3d1ac7ad30e636922a0eed"
143
+ "iv": "c74682c5eb30a5fac140c22095ba271c",
144
+ "encryptedData": "432735281822b6d5aa504dadbb0659c6"
145
145
  },
146
146
  {
147
- "iv": "304a5731d37bcf49287d8fd6f9e19361",
148
- "encryptedData": "8b2bc04f2c0f8e7dd38ef9b041810c04"
149
- },
150
- {
151
- "iv": "2008bc98968e48590db853c977453843",
152
- "encryptedData": "cf7d7711092e961e6df7f2c175c309b1"
147
+ "iv": "97aa2d1dfcd17ddc36a3d9c196972d0c",
148
+ "encryptedData": "90e9e9f9bb950ea82409478f1137db95"
153
149
  }
154
150
  ]
@@ -0,0 +1,71 @@
1
+ server:
2
+ welcomeMessage: "Welcome to H1emu! :D"
3
+ adminMessage: "You are an Admin!"
4
+ proximityItemsDistance: 2
5
+ interactionDistance: 3
6
+ charactersRenderDistance: 350
7
+ tickRate: 2000
8
+ worldRoutineRate: 30000
9
+
10
+ # Fairplay / anticheat config
11
+ fairplay:
12
+ useFairplay: true
13
+ maxPing: 250
14
+ pingTimeoutTime: 30000
15
+
16
+ weather:
17
+ cycleSpeed: 100
18
+ frozeCycle: false
19
+ defaultTemplate: "z1br"
20
+
21
+ # Anything to do with loot, vehicle, and npc spawning / despawning
22
+ worldobjects:
23
+ # Respawn timers
24
+
25
+ lootRespawnTimer: 1200000 # 30 minutes
26
+ vehicleRespawnTimer: 600000 # 10 minutes
27
+ npcRespawnTimer: 600000 # 10 minutes
28
+
29
+ # Despawn timers
30
+
31
+ # Player dropped items on the ground
32
+ itemDespawnTimer: 600000 # 10 minutes
33
+ # Spawned objects on the ground
34
+ lootDespawnTimer: 2400000 # 40 minutes
35
+ deadNpcDespawnTimer: 600000 # 10 minutes
36
+
37
+ # Misc
38
+
39
+ vehicleSpawnCap: 100
40
+ # How far any other vehicle has to be for another to spawn
41
+ vehicleSpawnRadius: 50
42
+ # How far another spawned npc has to be for another to spawn
43
+ npcSpawnRadius: 3
44
+ chanceNpc: 100 # To be reworked: 100 max
45
+ chanceScreamer: 5 # To be reworked: 1000 max
46
+
47
+ # Trees, blackberry bushes, and sticks
48
+ speedtree:
49
+ minBlackberryHarvest: 1
50
+ maxBlackberryHarvest: 2
51
+ # from blackberry bushes only
52
+ branchHarvestChance: 0.1 # maximum of 1 for 100% chance
53
+
54
+ minStickHarvest: 1
55
+ maxStickHarvest: 2
56
+
57
+ treeRespawnTimeMS: 1800000 # 30 minutes
58
+ minWoodLogHarvest: 2
59
+ maxWoodLogHarvest: 6
60
+ minTreeHits: 12 # minimum hits it takes to chop a tree
61
+ maxTreeHits: 20 # maximum hits it takes to chop a tree
62
+
63
+ construction:
64
+ allowPOIPlacement: false
65
+ allowStackedPlacement: false
66
+ allowOutOfBoundsPlacement: false
67
+ placementRange: 30
68
+ spawnPointBlockedPlacementRange: 25
69
+ vehicleSpawnPointBlockedPlacementRange: 30
70
+ playerFoundationBlockedPlacementRange: 70
71
+ playerShackBlockedPlacementRange: 20
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "h1z1-server",
3
- "version": "0.26.2-3",
3
+ "version": "0.26.2-5",
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",
@@ -13,10 +13,12 @@
13
13
  "h1z1-server-demo-2016": "scripts/h1z1-server-demo-2016.js"
14
14
  },
15
15
  "dependencies": {
16
+ "@types/js-yaml": "4.0.5",
16
17
  "@types/node": "18.13.0",
17
18
  "debug": "4.3.4",
18
19
  "h1emu-core": "1.1.2",
19
20
  "h1z1-dataschema": "1.7.0",
21
+ "js-yaml": "4.1.0",
20
22
  "mongodb": "5.0.1",
21
23
  "threads": "1.7.0",
22
24
  "typescript": "4.9.5"