Commit graph

61 commits

Author SHA1 Message Date
Lulu13022002
e827d176c4 Update settings directory path in exceptions (#7968) 2022-10-13 13:38:06 +02:00
Jake Potrebic
5eb4ada324 Fix configs that relied on outdated min/max y levels (#6986) 2022-10-08 23:52:09 -07:00
TetraTheta
1fc4118bd8 Only create paper.yml-README.txt on config conversion (#8334) 2022-10-02 16:29:09 +09:00
Spottedleaf
0f1a8717e8 Rewrite chunk system (#8177)
Patch documentation to come

Issues with the old system that are fixed now:
- World generation does not scale with cpu cores effectively.
- Relies on the main thread for scheduling and maintaining chunk state, dropping chunk load/generate rates at lower tps.
- Unreliable prioritisation of chunk gen/load calls that block the main thread.
- Shutdown logic is utterly unreliable, as it has to wait for all chunks to unload - is it guaranteed that the chunk system is in a state on shutdown that it can reliably do this? Watchdog shutdown also typically failed due to thread checks, which is now resolved.
- Saving of data is not unified (i.e can save chunk data without saving entity data, poses problems for desync if shutdown is really abnormal.
- Entities are not loaded with chunks. This caused quite a bit of headache for Chunk#getEntities API, but now the new chunk system loads entities with chunks so that they are ready whenever the chunk loads in. Effectively brings the behavior back to 1.16 era, but still storing entities in their own separate regionfiles.

The above list is not complete. The patch documentation will complete it.

New chunk system hard relies on starlight and dataconverter, and most importantly the new concurrent utilities in ConcurrentUtil.

Some of the old async chunk i/o interface (i.e the old file io thread reroutes _some_ calls to the new file io thread) is kept for plugin compat reasons. It will be removed in the next major version of minecraft.

The old legacy chunk system patches have been moved to the removed folder in case we need them again.
2022-09-26 01:02:51 -07:00
Shane Freeder
e14a2a0cce Configurable chat thread limit (#7878) 2022-09-20 01:16:23 +01:00
karthanistyr
24d3f7bb49 Restore no-crash behaviour when read-only config file(s) (#8318) 2022-09-17 05:22:17 +02:00
Jake Potrebic
15ce56cb40 Leave a paper.yml.txt stub pointing to new location (#8090) 2022-08-02 13:24:57 -07:00
stonar96
b4e9e20e79 1.19 Anti-Xray cleanup (#8104) 2022-07-18 12:30:31 +02:00
Owen1212055
ed2321032d Use safe method for handling Files#createDirectories (#7997) 2022-06-25 16:40:28 -04:00
Jake Potrebic
c517b28adc Fix number parsing (#8013) 2022-06-17 11:28:18 -07:00
Jake Potrebic
e08802e9ef Add option for strict advancement dimension checks (#7954) 2022-06-14 16:31:20 -07:00
Jake Potrebic
c3f403dd76 Couple config fixes (#7975) 2022-06-13 15:29:44 -07:00
froobynooby
98b65200d8 Use deserialised row keys in config tables (#7962) 2022-06-14 06:20:43 +09:30
Nassim Jahnke
8d1748a6f9 Add paper-settings-directory cl argument (#7949) 2022-06-12 10:07:43 +02:00
Jake Potrebic
df842f3d43 Adjust config headers 2022-06-11 13:43:59 -07:00
Jake Potrebic
33d48ed240 Keep default keys in some maps
Fixes https://github.com/PaperMC/Paper/issues/7913#issuecomment-1152780671
2022-06-10 17:11:12 -07:00
Jake Potrebic
43f46a5f0b Improve migration file errors (#7929) 2022-06-10 10:01:09 -07:00
Nassim Jahnke
a488132e74 Remove bad warning 2022-06-10 14:58:25 +02:00
Jake Potrebic
29e793489c improve packet config serializer (#7920) 2022-06-10 01:45:41 -07:00
Jake Potrebic
89e9e14344 couple more migration issues 2022-06-09 22:03:37 -07:00
Jake Potrebic
b347f25afc fix 2 more migration issues 2022-06-09 18:40:07 -07:00
Nassim Jahnke
9f383d8097 Fix migration of packet limiter 2022-06-10 01:55:53 +02:00
Noah van der Aa
b3386c382b Make slime spawn checks use tag again and rename config option (#7910) 2022-06-10 00:48:46 +02:00
Jake Potrebic
35d5998b02 remove more unused config options 2022-06-09 15:15:01 -07:00
Jake Potrebic
288cf1e073 fix more config migration issues 2022-06-09 15:03:02 -07:00
Jake Potrebic
1aa8052d41 fix compile issue 2022-06-09 14:50:05 -07:00
Jake Potrebic
4d7c2c787c move commands out of configuration 2022-06-09 14:43:27 -07:00
Jake Potrebic
b89848009c minimessage conversion 2022-06-09 14:11:43 -07:00
Owen1212055
d433a16bb7 Remove old config options (#7908) 2022-06-09 16:48:35 -04:00
Jake Potrebic
82fbae146b catch IAE from empty transformation builder 2022-06-09 13:06:03 -07:00
Owen1212055
6eaa203f77 Remove locname (#7909) 2022-06-09 15:56:21 -04:00
Jake Potrebic
3e0a6e62bb more configuration fixes/changes 2022-06-09 12:51:26 -07:00
Nassim Jahnke
c6f937f660 Fix config migration error preventing server startup
There's at least two more, but those are less pressing
2022-06-09 14:27:48 +02:00
Nassim Jahnke
929bb263c3 Update configurable feature seed patch 2022-06-09 13:16:00 +02:00
Nassim Jahnke
2514a4d5ca Readd dummy PaperConfig and PaperWorldConfig classes 2022-06-09 11:46:41 +02:00
Jake Potrebic
2168417373 Move to configurate for paper.yml (#7609) 2022-06-09 01:51:45 -07:00
Nassim Jahnke
b31be0569d First server patches 2022-06-07 20:12:34 +02:00
Nassim Jahnke
1148687a8d Prepare for 1.19 dev 2022-06-07 18:52:56 +02:00
Jake Potrebic
9b2964fe63 Fix treasure maps discovered settings (#7627) 2022-06-05 17:17:27 -07:00
Jake Potrebic
f65eead418 Remove ChatColor usages (#7543) 2022-06-02 21:26:56 -07:00
Space Walker
14d355612e Add Alternate Current's redstone implementation as an alternative to Vanilla and Eigencraft's. (#7701) 2022-05-07 18:47:28 +02:00
Noah van der Aa
8cdb1bf0ab Use mojang item ids for alternative item despawn rate (#6997) 2022-05-05 00:29:15 +02:00
Jake Potrebic
5c7b445c76 Remove KeyedObject interface (#7680) 2022-03-30 13:28:38 -07:00
Noah van der Aa
20780a5deb Update docs link in paper.yml (#7562) 2022-03-09 10:10:53 +01:00
Nassim Jahnke
da03d4a1bc Initial 1.18 update 2022-02-28 22:43:03 -07:00
Spottedleaf
722983fbc7 1.18 misc performance dev branch (#7368)
- Port player chunk loader patch
Makes the chunk system act as it did in 1.17, no additional tickets (and thus logic) to make a chunk ticking.
Adds simulation distance API, deprecates old no-tick method.
- More collision optimisations
Ancient patch from tuinity that never could be pushed to master.
- Fix Optimise ArraySetSorted#removeIf patch
- Execute chunk tasks fairly for worlds while waiting for next tick
- Port Replace ticket level propagator
2022-02-18 09:44:46 -08:00
Nassim Jahnke
a9e4b937c0 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7454)
* Updated Upstream (Bukkit/CraftBukkit/Spigot)

Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
8085edde SPIGOT-6918: Add SpawnCategory API and configurations for Axolotls
04c7e13c PR-719: Add Player Profile API
71564210 SPIGOT-6910: Add BlockDamageAbortEvent

CraftBukkit Changes:
febaa1c6 SPIGOT-6918: Add SpawnCategory API and configurations for Axolotls
9dafd109 Don't send updates over large distances
bdac46b0 SPIGOT-6782: EntityPortalEvent should not destroy entity when setTo() uses same world as getFrom()
8f361ece PR-1002: Add Player Profile API
911875d4 Increase outdated build delay
e5f8a767 SPIGOT-6917: Use main scoreboard for /trigger
a672a531 Clean up callBlockDamageEvent
8e1bdeef SPIGOT-6910: Add BlockDamageAbortEvent

Spigot Changes:
6edb62f3 Rebuild patches
7fbc6a1e Rebuild patches

* Updated Upstream (CraftBukkit)

Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
de951355 SPIGOT-6927: Fix default value of spawn-limits in Worlds
2022-02-12 14:20:33 +01:00
Jake Potrebic
d1eed05360 Don't populate a useless spigot.yml field (#6976) 2021-12-01 10:03:46 -08:00
Jake Potrebic
839b53062f a bunch more patches done 2021-11-24 09:58:26 -08:00
Jason Penilla
ed6d43ddb0 Prepare for updating server patches 2021-11-23 00:57:41 -08:00