Commit graph

18 commits

Author SHA1 Message Date
Aikar
1127deb87d Rebuild all patches using the new rebuild pattern 2020-05-06 05:48:49 -04:00
Aikar
fd5c98a9ef Optimize Network Manager to not need synchronization
Removes synchronization from sending packets
Makes normal packet sends no longer need to be wrapped and queued like it use to work.
Adds more packet queue immunities on top of keep alive to let the following scenarios go out
without delay:
  - Keep Alive
  - Chat
  - Kick
  - All of the packets during the Player Joined World event

Hoping that latter one helps join timeout issues more too for slow connections.

Removes processing packet queue off of main thread
  - for the few cases where it is allowed, order is not necessary nor
    should it even be happening concurrently in first place (handshaking/login/status)

Ensures packets sent asynchronously are dispatched on main thread

This helps ensure safety for ProtocolLib as packet listeners
are commonly accessing world state. This will allow you to schedule
a packet to be sent async, but itll be dispatched sync for packet
listeners to process.

This should solve some deadlock risks

This may provide a decent performance improvement because thread synchronization incurs a cache reset
so by avoiding ever entering a synchronized block, we get to avoid that, and packet sending is a really
hot activity.
2020-05-06 05:22:03 -04:00
Aikar
b06cb423cb 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:
b999860d SPIGOT-2304: Add LootGenerateEvent

CraftBukkit Changes:
77fd87e4 SPIGOT-2304: Implement LootGenerateEvent
a1a705ee SPIGOT-5566: Doused campfires & fires should call EntityChangeBlockEvent
41712edd SPIGOT-5707: PersistentDataHolder not Persistent on API dropped Item
2020-05-01 18:03:47 -04:00
Ytnoos
f7e48582b5 Revert "Re-track players that dismount from other players" 2020-04-22 00:06:30 +02:00
Aikar
a25f99d254 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:
122289ff Add FaceAttachable interface to handle Grindstone facing in common with Switches
a6db750e SPIGOT-5647: ZombieVillager entity should have getVillagerType()

CraftBukkit Changes:
bbe3d58e SPIGOT-5650: Lectern.setPage(int) causes a NullPointerException
3075579f Add FaceAttachable interface to handle Grindstone facing in common with Switches
95bd4238 SPIGOT-5647: ZombieVillager entity should have getVillagerType()
4d975ac3 SPIGOT-5617: setBlockData does not work when NotPlayEvent is called by redstone current
2020-04-02 17:07:06 -04:00
Spottedleaf
9774f1ff47 1.15.2 update (#2887)
Functional GUI fix added by billygalbreath
2020-01-21 18:02:07 -08:00
Shane Freeder
0f24e5eeeb Restore 0129-Optimize-World.isLoaded-BlockPosition-Z.patch 2019-12-16 02:58:10 +00:00
Omer Uddin
33db268d5d Implement optional per player mobspawning (#2171) 2019-08-21 06:02:51 +05:00
Spottedleaf
f01c2b2b7c Update to 1.14.4 (#2333) 2019-07-19 21:01:24 -07:00
Shane Freeder
61c0f2d99e Updated Upstream (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

CraftBukkit Changes:
eb2e6578 SPIGOT-5116: Fix concurrent modification exception inside ChunkMapDistance
989f9b3d SPIGOT-4849: Fix server crash when accessing chunks during chunk load/unload/populate events
f554183c SPIGOT-5171: Don't fire PlayerTeleportEvent if not actually moving
2349feb8 SPIGOT-5163: Cancelling PlayerBucketFillEvent visually removes the targeted block

Spigot Changes:
9a643a6a Remove DataWatcher Locking
2019-07-16 23:09:32 +01:00
Shane Freeder
443dad0d3c 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:
c2d72c82 SPIGOT-3102: Add EXPLOSION SpawnReason

CraftBukkit Changes:
fca41573 SPIGOT-5136: EntityPortalEvent getting called on interdimensional entity teleports
604c8bf0 SPIGOT-3102: Add EXPLOSION SpawnReason
375969a6 Re-add chunk GC for plugin chunk loads
58151368 SPIGOT-5123: Snapshot tile entities can end up with a non-null world
491c8482 SPIGOT-5130: PersistentDataContainer not removing values on TileEntities

Spigot Changes:
d05d3c1f Rebuild patches
2019-07-05 03:13:38 +01:00
Shane Freeder
da6d8e9da9 Revert "Optimize Persistent Data loading" (Fixes #2229) 2019-06-25 05:14:30 +01:00
Spottedleaf
30fbda1376 Better format 2019-06-17 17:43:18 -07:00
Spottedleaf
ec6ade68e0 Add WorldName to blockstate location 2019-06-17 17:41:53 -07:00
Spottedleaf
a4a1cae173 Fix chunks refusing to save (#2196)
We should only set hasBeenLoaded to false potentially after saving a chunk
other wise we will not save it. The method to do this is
PlayerChunk#l(), which we were potentially calling for chunks we were not saving.
2019-06-17 00:47:51 -07:00
Spottedleaf
b1b5cc1713 fix exception message 2019-06-15 11:07:03 -07:00
Spottedleaf
1cda6342bf Proper paper commenting 2019-06-15 10:36:09 -07:00
Spottedleaf
7d67870905 Show blockstate location if we failed to read it 2019-06-15 10:30:43 -07:00