Commit Graph

1635 Commits

Author SHA1 Message Date
Aikar
929a5b40ed Bump thread count for chunk loading 2015-11-15 19:41:12 -06:00
Aikar
314c8f06cc Don't damage ArmorStands that are already dead 2015-11-15 19:40:32 -06:00
Zach Brown
24d21453cf SPIGOT-596: Fix EntityDismountEvent 2015-10-25 17:12:43 -05:00
Zach Brown
7b80afb6ef Remove TE/E Removal Optimizations
Causes pistons to eat blocks in certain circumstances, double piston extenders most notably
2015-10-24 02:20:30 -05:00
Aikar
ee9886c278 Update tick limiter removal and TE/E removal optimizations 2015-10-24 02:12:33 -05:00
Aikar
eac397cbab Implement EMC's optimized entity and tileentity removal 2015-10-16 22:23:05 -05:00
Zach Brown
0ab0bcc85d Don't point users at spigotmc when watchdog kills the server 2015-10-16 21:50:04 -05:00
Zach Brown
264f2c2d09 Disable spigot tick limiters 2015-10-16 21:43:03 -05:00
Zach Brown
9f7447824d Rebuild patch for upstream changes 2015-10-07 21:32:01 -05:00
md_5
af5daaeeeb Fix incorrect logic in entity tick limiter to match tile entity tick limiter.
Simply a fix to the small performance shortpath.
2015-10-07 17:23:59 +11:00
Aikar
2d37e27b37 Remove an unused list of TileEntities slowing down removal 2015-10-06 23:27:01 -05:00
Zach Brown
43fee1c16e Rebuild patches for upstream changes 2015-10-02 22:58:02 -05:00
md_5
f70bbd9ade SPIGOT-1208: Don't skip ticks for explosive creepers. 2015-10-03 11:51:46 +10:00
Zach Brown
dcef1d444b Remove our own (outdated) TE handling, for one that's closer to vanilla 2015-09-19 09:34:17 -05:00
Zach Brown
2190d87f45 Rebuild patches 2015-09-18 20:44:37 -05:00
vemacs
b12044f2b7 Re-add entity/tile entity tick limiters 2015-09-12 23:29:23 -05:00
Zach Brown
603159dedf Remove several broken or unnecessary patches.
Removes PlayerMicroMoveEvent API, the ability to disable the AsyncCatcher, and the TeleportPassengerVehicleWithPlayer patch
2015-09-12 19:57:39 -05:00
Aikar
7e89c54e7c Don't sleep between chunk saves
For some unknown reason, Minecraft is sleeping 10ms between every single chunk being saved to disk.
Under high chunk load/unload activity (lots of movement / teleporting), this causes the chunk unload queue
to build up in size.

This has multiple impacts:
1) Performance of the unload queue itself - The save thread is pretty ineffecient for how it accesses it
   By letting the queue get larger, checking and popping work off the queue can get less performant.
2) Performance of chunk loading - As with #1, chunk loads also have to check this queue when loading
   chunk data so that it doesn't load stale data if new data is pending write to disk.
3) Memory Usage - The entire chunk has been serialized to NBT, and now sits in this queue. This leads to
   elevated memory usage, and then the objects used in the serialization sit around longer than needed,
   resulting in promotion to Old Generation instead of dying young.

If there is work to do, then the thread should be doing its work, and only sleep when it is done.
2015-09-09 21:16:42 -04:00
Aikar
bbc7b0999f Optimize Chunk Saving Memory Allocation and Compression
Minecraft ineffeciently uses OutputStreams by calling .write(int) on the stream.
For Chunks, this is a DeflaterOutputStream, which allocates a single byte EVERY write.

This is causing the server to allocate tons of new byte[1] objects.
Additionally, this is very ineffecient for the Deflate process.

By Buffering Writes the same way it already is Buffering Reads, we will
write to the stream much more effeciently.

Also a more effecient RegionFile zero'ing for new chunks to speed up
new chunk generation.
2015-09-09 20:48:46 -04:00
Zach Brown
3d490255dc Rebuild patches 2015-09-01 20:14:41 -05:00
md_5
e006d41117 Rebuild patches. 2015-09-01 18:07:28 +10:00
Zach Brown
de98ff5d80 Use spigot.yml's view distance setting 2015-08-29 03:12:41 -05:00
Techcable
3e8e275447 Lookup game profiles for users that aren't onine 2015-08-15 14:05:03 -05:00
Byteflux
51cbd00f88 Re-add Spigot's hopper-check feature 2015-08-13 10:36:58 -07:00
Techcable
15512b5459 Use the server usercache for player heads 2015-08-11 01:27:18 -05:00
md_5
1915993318 SPIGOT-1117: Barrier blocks are transparent for xray purposes 2015-08-07 15:34:06 +10:00
Zach Brown
df01ae692d [23:29:51] <Byteflux> no tacoz 4 clippeh 2015-08-08 23:33:19 -05:00
Byteflux
d4bd87a7ec Fix NPE in recheckGaps when using async lighting 2015-08-06 21:44:03 -07:00
Byteflux
f2f04fbb77 Add beds and enderchests to list of collidable blocks 2015-08-05 02:31:55 -07:00
Iceee
19d4a47c33 Fix lava/water some times creating air instead of cobblestone 2015-08-04 17:57:17 -07:00
Byteflux
5b6b8beff8 Temporarily use getDouble() internally for calls to getFloat() in Paper configs
getFloat() seems to have an issue with reading modified values and always
returns the default value instead. This needs further investigating, but
for now making it use getDouble() internally appears to resolve the issue.
2015-08-04 17:57:17 -07:00
Byteflux
febaf3c5a1 Configurable TNT explosion volume 2015-08-04 17:47:57 -07:00
Byteflux
c92053d8b0 Add chests and soul sand to list of types falling blocks can collide with 2015-08-04 17:24:47 -07:00
Byteflux
6bcae0c948 Make the recheckGaps method async like other lighting updates 2015-08-04 15:44:54 -07:00
Byteflux
6cbf685402 Optimize getCubes() 2015-08-04 15:25:37 -07:00
Zach Brown
acd17efa2d Rebuild patches 2015-08-02 01:56:08 -05:00
Melair
af58d5536e Ensure that inactiveTick on EntityItem obeys magic values for age and pickupDelay. 2015-07-29 10:40:32 +01:00
Zach Brown
f4d9e4a686 Temporarily remove PlayerMicroMoveEvent implementation
Breaks the existing PlayerMoveEvent, to be re-worked soon
2015-07-30 22:47:22 -05:00
Zach Brown
7d566bf6b7 Update for upstream NMS mapping changes 2015-07-30 22:41:53 -05:00
md_5
f468d641ab Update for latest CraftBukkit changes. 2015-07-30 17:22:16 +10:00
Zach Brown
fd378c06e5 Update PaperSpigot to 1.8.8 2015-07-27 17:26:21 -05:00
md_5
2f2cf5ae5b Update to Minecraft 1.8.8 (Pre-)Release. 2015-07-27 22:20:54 +10:00
Zach Brown
9486b3747e Re-add recentTps array for plugins that make bad choices 2015-07-26 15:58:37 -05:00
Zach Brown
a1497e2182 Rebuild 2015-07-25 18:00:37 -05:00
Sudzzy
21ee673718 Configurable container update tick rate 2015-07-23 22:06:57 -07:00
Byteflux
7a75de5fb8 Add javadocs to BeaconEffectEvent 2015-07-23 21:41:35 -07:00
Thinkofdeath
c9ff2e2b51 SPIGOT-1050: Add a missing case in the disable usercache saving option 2015-07-23 21:43:27 +01:00
Byteflux
a5a657d88c Rebuild patches 2015-07-23 13:37:52 -07:00
Byteflux
a8b69d72c7 Add BeaconEffectEvent 2015-07-23 12:57:12 -07:00
Byteflux
c8f3b4ba4f Fix package naming of PaperSpigot events to be consistent with Bukkit/Spigot
Right now this only affects the recently added PlayerMicroMoveEvent. I
figured this should be done to keep the events organized in the same way
Bukkit and Spigot do. This should lead to a less cluttered event package
when we do add more events.
2015-07-23 09:56:24 -07:00