Commit Graph

163 Commits

Author SHA1 Message Date
uku
9e743bccff Add config setting for grindstone overstacking (#8156) 2022-10-23 01:25:17 +02:00
201ba4d328 Add fire-tick-delay option (#8037) 2022-10-23 01:57:09 +03:00
e827d176c4 Update settings directory path in exceptions (#7968) 2022-10-13 13:38:06 +02:00
5eb4ada324 Fix configs that relied on outdated min/max y levels (#6986) 2022-10-08 23:52:09 -07:00
1fc4118bd8 Only create paper.yml-README.txt on config conversion (#8334) 2022-10-02 16:29:09 +09:00
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
e14a2a0cce Configurable chat thread limit (#7878) 2022-09-20 01:16:23 +01:00
24d3f7bb49 Restore no-crash behaviour when read-only config file(s) (#8318) 2022-09-17 05:22:17 +02:00
15ce56cb40 Leave a paper.yml.txt stub pointing to new location (#8090) 2022-08-02 13:24:57 -07:00
b4e9e20e79 1.19 Anti-Xray cleanup (#8104) 2022-07-18 12:30:31 +02:00
ed2321032d Use safe method for handling Files#createDirectories (#7997) 2022-06-25 16:40:28 -04:00
c517b28adc Fix number parsing (#8013) 2022-06-17 11:28:18 -07:00
e08802e9ef Add option for strict advancement dimension checks (#7954) 2022-06-14 16:31:20 -07:00
c3f403dd76 Couple config fixes (#7975) 2022-06-13 15:29:44 -07:00
98b65200d8 Use deserialised row keys in config tables (#7962) 2022-06-14 06:20:43 +09:30
8d1748a6f9 Add paper-settings-directory cl argument (#7949) 2022-06-12 10:07:43 +02:00
df842f3d43 Adjust config headers 2022-06-11 13:43:59 -07:00
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
43f46a5f0b Improve migration file errors (#7929) 2022-06-10 10:01:09 -07:00
a488132e74 Remove bad warning 2022-06-10 14:58:25 +02:00
29e793489c improve packet config serializer (#7920) 2022-06-10 01:45:41 -07:00
89e9e14344 couple more migration issues 2022-06-09 22:03:37 -07:00
b347f25afc fix 2 more migration issues 2022-06-09 18:40:07 -07:00
9f383d8097 Fix migration of packet limiter 2022-06-10 01:55:53 +02:00
b3386c382b Make slime spawn checks use tag again and rename config option (#7910) 2022-06-10 00:48:46 +02:00
35d5998b02 remove more unused config options 2022-06-09 15:15:01 -07:00
288cf1e073 fix more config migration issues 2022-06-09 15:03:02 -07:00
1aa8052d41 fix compile issue 2022-06-09 14:50:05 -07:00
4d7c2c787c move commands out of configuration 2022-06-09 14:43:27 -07:00
b89848009c minimessage conversion 2022-06-09 14:11:43 -07:00
d433a16bb7 Remove old config options (#7908) 2022-06-09 16:48:35 -04:00
82fbae146b catch IAE from empty transformation builder 2022-06-09 13:06:03 -07:00
6eaa203f77 Remove locname (#7909) 2022-06-09 15:56:21 -04:00
3e0a6e62bb more configuration fixes/changes 2022-06-09 12:51:26 -07:00
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
929bb263c3 Update configurable feature seed patch 2022-06-09 13:16:00 +02:00
2514a4d5ca Readd dummy PaperConfig and PaperWorldConfig classes 2022-06-09 11:46:41 +02:00
2168417373 Move to configurate for paper.yml (#7609) 2022-06-09 01:51:45 -07:00
b31be0569d First server patches 2022-06-07 20:12:34 +02:00
1148687a8d Prepare for 1.19 dev 2022-06-07 18:52:56 +02:00
9b2964fe63 Fix treasure maps discovered settings (#7627) 2022-06-05 17:17:27 -07:00
f65eead418 Remove ChatColor usages (#7543) 2022-06-02 21:26:56 -07:00
14d355612e Add Alternate Current's redstone implementation as an alternative to Vanilla and Eigencraft's. (#7701) 2022-05-07 18:47:28 +02:00
8cdb1bf0ab Use mojang item ids for alternative item despawn rate (#6997) 2022-05-05 00:29:15 +02:00
5c7b445c76 Remove KeyedObject interface (#7680) 2022-03-30 13:28:38 -07:00
20780a5deb Update docs link in paper.yml (#7562) 2022-03-09 10:10:53 +01:00
da03d4a1bc Initial 1.18 update 2022-02-28 22:43:03 -07:00
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
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
d1eed05360 Don't populate a useless spigot.yml field (#6976) 2021-12-01 10:03:46 -08:00