Archiviert
13
0
Commit graph

4492 Commits

Autor SHA1 Nachricht Datum
froobynooby
6bf04cd5ed
Reduce entity tracker updates on move 2020-03-31 03:58:13 +01:00
Spottedleaf
de5b093c05
Handle chunk unloading during block tick 2020-03-30 05:07:04 +01:00
Spottedleaf
be7b40634d
performance: Improve Activation Range entity iteration
Faster Entity iteration using the chunks full entity list and array access.

Faster chunk lookups skipping the cache, as the pattern of access was not suitable
for cache usage (each request will likely blow cache)

This reduces the cost of Entity Activation Range's initial marking.
2020-03-29 23:35:04 -04:00
Aikar
bacbd8805f
performance: Many Entity Activation Range Improvements
1) Immunity no longer gives 20 tick immunity, each immunity check can
give its own tick value on how long it lasts, drastically cutting down on most to 0-1 ticks.

2) Fixed Villager Immunity to use proper 1.15 check for Breeding.

3) Fixed Water Mobs being 100% immune due to the inWater check...

4) Fixed flying mobs being 100% immune due to the !onGround check...

5) Made Insentient mobs only check for the hasTasks during immunity check window, not every single tick. this made them way more active than desired
  - this puts behavior closer to inline with my original behavior in Spigot, but still does some checks to allow them temporary immunity, just not as much as before.

6) Inactive Entities would "inch" while trying to move, effectively getting nowhere. Now while an entity is inactive, it just won't even try to move.
  - this saves us from the expensiveness of Entity movement 1 out of 20 ticks. Now they will only move while either active or triggered a true immunity.
2020-03-29 23:33:39 -04:00
Shane Freeder
269394fe15
Update hidden-configs 2020-03-30 03:52:56 +01:00
Shane Freeder
a55532115f
Updated Upstream ()
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
2020-03-27 06:18:08 +00:00
Shane Freeder
9a7ca3dbc5
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears 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:
564ed152 #482: Add a DragonBattle API to manipulate respawn phases etc
9f2fd967 #474: Add ability to set other plugin names as provided API so others can still depend on it

CraftBukkit Changes:
fc318cc1 #642: Add a DragonBattle API to manipulate respawn phases etc
796eb15a #644: Fix ChunkMapDistance#removeAllTicketsFor not propagating ticket level updates
a6f80937 SPIGOT-5606: call BlockRedstoneEvent for fence gates

Spigot Changes:
a03b1fdb Rebuild patches
2020-03-26 02:44:23 +00:00
Spottedleaf
68ec946c7a
Fix memory leak in TickListServer (#3068)
Only occurred when entries were scheduled with huge tick delays

Add two flags to debug excessive tick delays:
-Dpaper.ticklist-warn-on-excessive-delay=true (false by default)
and -Dpaper.ticklist-excessive-delay-threshold=ticks which
sets the excessive tick delay to the specified ticks (defaults to
60 * 20 ticks, aka 60 seconds)
2020-03-25 14:56:18 -05:00
Spottedleaf
49fdb18206
Timings changes (#3044)
* Timings changes

- Increment entity tick count only when an entity ticks
- Remove chunk inhabited timer
- Try finally entity timings

* Add activated entity ticks

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-03-19 02:03:32 -04:00
Nassim
d63075dff8
Pass fireworks through vanished players (#3021) 2020-03-18 13:58:50 +00:00
Shane Freeder
4d991f1946
[CI-SKIP] Rebuild patches 2020-03-18 12:42:18 +00:00
Spottedleaf
26070a0e5c
Indicate ticking status in entity list command (#2856) 2020-03-18 12:38:24 +00:00
Spottedleaf
2ff7b4800b
Optimise Chunk#getFluid (#2860)
Removing the try catch and generally reducing ops should make it
faster on its own, however removing the try catch makes it
easier to inline due to code size
2020-03-18 12:21:35 +00:00
Spottedleaf
c23ebb780d
Optimise ticklistserver (#2957) 2020-03-18 12:17:28 +00:00
Shane Freeder
e4602b6d48
Drop Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch
This patch appears to be no longer relevant, and is seemingly a leading
cause of datapack performance being horrific
2020-03-15 20:03:36 +00:00
Kyle Wood
73def10738
Update Paperclip 2020-03-15 02:54:57 -07:00
Jan
0ad8cf73ff
Call BlockRedstoneEvent for fence gates (#3026)
Co-authored-by: Jan Boerman <Janboerman95@gmail.com>
2020-03-14 13:39:54 +00:00
Shevchik
c8dea96ee1
Prevent blocking on adding a new network manager (#3027)
Previous solution could still block network thread (while addPending is executing). This window is small, but removing it completely is better. This should probably also speed up concurrent adds, because no locking will be performed anymore.
The only possible downside is that adding elements one by one to synchronized list might be slower (But it's done while already locked, so maybe jvm will avoid additional locking?),
2020-03-14 11:20:50 +00:00
BillyGalbreath
ac2bbf62c8
Fix NPE on GUI during Windows Lock Screen (#3023) 2020-03-13 07:02:30 +00:00
Zero
e1281a1414
Configurable chance of villager zombie infection (Closes #2501)
This allows you to solve an issue in vanilla behavior where:
* On easy difficulty your villagers will NEVER get infected, meaning they will always die.
* On normal difficulty they will have a 50% of getting infected or dying.
2020-03-10 16:13:58 +00:00
William Blake Galbreath
ad708dd3f3
Add option to allow iron golems to spawn in air (Closes #1965, Closes #1851) 2020-03-10 15:35:54 +00:00
Shane Freeder
b16fd5c3a3
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears 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:
6148fca7 SPIGOT-5484: Add more spawn tick settings

CraftBukkit Changes:
fc249340 SPIGOT-5484: Add more spawn tick settings

Spigot Changes:
6de3d4be Rebuild patches
2020-03-10 11:01:21 +00:00
Shane Freeder
2e44dc1ae3
Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
7f61a252 #640: Fix chunk load/unload callbacks for chunk load cancellations
2020-03-07 08:47:53 +00:00
Shane Freeder
2c07231eeb
Validate tripwire hook placement before update 2020-03-07 00:08:51 +00:00
Shane Freeder
31872198b4
Fix dead telepotation logger format 2020-03-06 23:29:13 +00:00
Shane Freeder
7bd0b6ab1a
[CI-SKIP] Add PAPER_TEST_APP_ARGS 2020-03-04 22:27:59 +00:00
Shane Freeder
ccf1d5908f
Prevent teleporting dead entities (#2803) 2020-03-03 05:34:30 +00:00
Gergely Sarkozi
5ce1dd48e1
Add hand to BlockMultiPlaceEvent (fixes #2997) (#2998) 2020-03-02 20:55:31 +00:00
Shane Freeder
3ad47bcf8e
Reduce chunk range timers 2020-03-02 19:56:04 +00:00
Shane Freeder
793bae0d45
Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
13ed05de Prepare for Java 14
6b00b145 #639: Deep clone itemmetas persistent container on clone
2020-03-02 19:17:49 +00:00
Shane Freeder
4df3dad85d
Reduce PlayerNaturallySpawnCreaturesEvent calls 2020-02-29 23:49:45 +00:00
Andrew Mollenkamp
c0f4b24e3a
Fix random ticks (Fixes #2990) (#2992) 2020-02-27 08:42:47 +00:00
Shane Freeder
b077005910
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears 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:
fd28180e #479: Add LivingEntity#attack, LivingEntity#swingMainHand, LivingEntity#swingOffHand
ae72ba3a SPIGOT-5591: Allow concurrent potion effects

CraftBukkit Changes:
3d61a853 Fix formatting in CraftLivingEntity
f7ab3055 #633: Add LivingEntity#attack, LivingEntity#swingMainHand, LivingEntity#swingOffHand
d5ef2eab SPIGOT-5591: Allow concurrent potion effects
25a9a9ff SPIGOT-5592: Custom ChunkGenerator can cause bugged dirt
3f6d0de9 Make it clear in error messages that api-version above 1.13 is also supported
2020-02-25 18:57:15 +00:00
Cat73
0809d6be3e
[CI-SKIP] fix avoid-hopper-search obfhelper hint type (#2989) 2020-02-25 18:42:52 +00:00
Shane Freeder
892f479fb4
Fix nullability annotation for Tameable#getOwnerUniqueId (Fixes #2968) 2020-02-22 15:30:42 +00:00
Shane Freeder
49503ef043
Don't NPE on exporting config with null values (Fixes #2973) 2020-02-22 15:22:06 +00:00
Shane Freeder
7434b6d710
Fix ProjectilCollideEvent cancellation (Fixes #2953) 2020-02-22 15:00:41 +00:00
Shane Freeder
e5e4e9f717
Do not send PlayerProfile info before initial server send 2020-02-22 14:13:29 +00:00
Shane Freeder
4e0ed1f812
Backport fix for MC-167561 (Fixes #2886, closes#2960) 2020-02-21 18:46:00 +00:00
Shane Freeder
9946cef8c5
Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears 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:
f52c70ab Fix incorrect nullability in MultipleFacing
6af4c0b2 SPIGOT-5311: Add API to get/set item associated with throwable projectiles
97aeae56 Add set/isAware to disable Vanilla AI components of a Mob

CraftBukkit Changes:
fba9f487 Improve legacy conversion of some materials that changed post flattening
b1ba8749 Move Bukkit.Aware loading/saving to correct location
f7cdb53c SPIGOT-5311: Add API to get/set item associated with throwable projectiles
689f429c #634: Cross platform patch scripts
ab85433d Add set/isAware to disable Vanilla AI components of a Mob

Spigot Changes:
8faa8b45 Rebuild patches
2020-02-21 17:52:20 +00:00
Zach Brown
9f5fadcc7c
Remove extraneous space from host info log message
This has been bothering me for a long time now.
2020-02-18 22:57:49 -06:00
BillyGalbreath
d60a10c9ff
Make the GUI graph fancier (#2928) 2020-02-18 22:52:18 -06:00
Zach Brown
ecfaff5283
Revert "Add root/admin user detection (#2432)"
This reverts commit 555ca59af7.

Unknown issue on CentOS/RHEL(?) requires further examination.
2020-02-18 22:32:13 -06:00
egg82
555ca59af7
Add root/admin user detection (#2432)
This patch detects whether or not the server is currently executing as a privileged user and spits out a warning. The warning serves as a sort-of PSA for newer server admins who don't understand the risks of running as root.

We've seen plenty of bad/malicious plugins hit markets, and there's been a few close-calls with exploits in the past. Hopefully this helps mitigate some potential damage to servers, even if it is just a warning.
2020-02-18 22:10:41 -06:00
Gergely Sarkozi
e1f3b6d033
fix tripwire hook BlockPlaceEvent (fixes #2969) (#2971) 2020-02-18 21:51:51 -06:00
BillyGalbreath
33a615de43
Add option to nerf pigmen from nether portals (#2937)
* Add option to nerf pigmen from nether portals
2020-02-18 19:42:05 -06:00
Zach Brown
125a517dc7
Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit 37f32da8..918061b7:
  > SPIGOT-5468: Beehive TileEntity was not loaded for BlockStateMeta
2020-02-18 18:58:19 -06:00
Zach Brown
df0d7b0d5c
Update upstream CB
--- work/CraftBukkit
Submodule work/CraftBukkit d171d7eb..37f32da8:
  > SPIGOT-5573, SPIGOT-5574: Move CustomChunkGenerator generation code back to buildBase()
2020-02-12 18:23:37 -06:00
Shane Freeder
6ea3c2cf3b
[CI-SKIP] Rebuild patches 2020-02-12 14:03:09 +00:00
Spottedleaf
d7bed4cb07
Heavily optimise random block ticking (#2914)
* Optimise random block ticking

Massive performance improvement for random block ticking.
The performance increase comes from the fact that the vast
majority of attempted block ticks (~95% in my testing) fail
because the randomly selected block is not tickable.

Now only tickable blocks are targeted, however this means that
the maximum number of block ticks occurs per chunk. However,
not all chunks are going to be targeted. The percent chance
of a chunk being targeted is based on how many tickable blocks
are in the chunk.
This means that while block ticks are spread out less, the
total number of blocks ticked per world tick remains the same.
Therefore, the chance of a random tickable block being ticked
remains the same.
2020-02-12 13:49:52 +00:00