Commit Graph

1130 Commits

Author SHA1 Message Date
Zach Brown 24d21453cf SPIGOT-596: Fix EntityDismountEvent 2015-10-25 17:12:43 -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
md_5 f70bbd9ade SPIGOT-1208: Don't skip ticks for explosive creepers. 2015-10-03 11:51:46 +10: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
md_5 e006d41117 Rebuild patches. 2015-09-01 18:07:28 +10:00
md_5 1915993318 SPIGOT-1117: Barrier blocks are transparent for xray purposes 2015-08-07 15:34:06 +10:00
Melair af58d5536e Ensure that inactiveTick on EntityItem obeys magic values for age and pickupDelay. 2015-07-29 10:40:32 +01:00
md_5 f468d641ab Update for latest CraftBukkit changes. 2015-07-30 17:22:16 +10:00
md_5 2f2cf5ae5b Update to Minecraft 1.8.8 (Pre-)Release. 2015-07-27 22:20:54 +10:00
Thinkofdeath c9ff2e2b51 SPIGOT-1050: Add a missing case in the disable usercache saving option 2015-07-23 21:43:27 +01:00
Aikar 2b62b33603 Don't allow sendPacket once disconnect has been processed. 2015-07-23 16:23:21 +10:00
md_5 3902c978d4 Clear Packet Queue on Disconnect 2015-07-22 19:04:46 +10:00
md_5 68e3c1e364 Add note about BungeeCord when in offline mode.
See PR #10 for motivation.
2015-07-13 19:22:08 +10:00
md_5 fc3e568b8d SPIGOT-997: Add restart API for server. 2015-07-13 19:12:24 +10:00
md_5 a5da72e7fa Use Map for getPlayer(String) lookup. 2015-07-13 19:05:30 +10:00
md_5 048aee04d3 Rebuild patches for updates. 2015-07-12 19:59:20 +10:00
md_5 84c55fb710 Fix conflicts. 2015-07-10 22:33:16 +10:00
md_5 4f889d12fd Rebuild patches. 2015-06-21 09:24:26 +10:00
Thinkofdeath 169f71cf52 Add a missing Spigot comment 2015-06-16 10:24:54 +01:00
Thinkofdeath 5338c3c023 Remove a special case in vanilla's chunk saving as it interferes with our autosave changes 2015-06-16 10:19:25 +01:00
md_5 49a8cf4716 Fix patches from camera API 2015-06-09 09:16:01 +10:00
md_5 8203d6f696 Remove UserCache import as it is used now. 2015-06-07 20:03:31 +10:00
md_5 7e51dc4e18 Fix merge conflicts from access transform update. 2015-06-06 19:47:02 +10:00
md_5 ef79a102b7 Update to Minecraft 1.8.7 2015-06-05 20:56:58 +10:00
Antony Riley 0712a5c5ff Fix map decorations to store UUIDs internally. 2015-06-05 09:43:14 +03:00
md_5 0730a13e5c Remove custom links patch. 2015-06-01 19:22:52 +10:00
md_5 f2e9b61f57 SPIGOT-945 - random light ticking not called whenoptimal chunks is zero. 2015-06-01 17:06:20 +10:00
md_5 b528389cd0 Rebuild patches for scoreboard API pull to Bukkit. 2015-05-29 19:35:21 +10:00
Thinkofdeath 20ea4d658c SPIGOT-929: Remove the hopper ticks patch 2015-05-26 21:13:14 +01:00
Thinkofdeath 83492e7bf2 SPIGOT-927: Only schedule ticks for blocks in loaded chunks 2015-05-26 14:44:43 +01:00
md_5 a18bcfaf43 Add back hopper tick scheduling
Tick a hopper only if certain conditions have changed i.e. inventory changes, redstone updates, etc.
2015-05-26 19:16:27 +10:00
md_5 fc9d5d432a Fix crop growth patch 2015-05-26 19:13:21 +10:00
olivervscreeper 2e3882ba60 Added growth rate modifier to NetherWart 2015-05-26 08:35:03 +01:00
Ginger Geek 8050f01466 Allow specifying location of spigot.yml
As requested here: http://www.spigotmc.org/threads/specify-location-of-spigot-yml.67747/
2015-05-25 20:09:58 +01:00
md_5 f4b537ae66 Update to Minecraft 1.8.6 2015-05-25 22:05:40 +10:00
Thinkofdeath f15e313938 Update to 1.8.5 2015-05-22 14:52:56 +01:00
Thinkofdeath 80d0e8ffa7 Update to 1.8.4 2015-05-09 21:23:26 +01:00
Evan Haskell e5752934e4 Fix tile tick capping variable becoming out of sync 2015-04-30 15:54:10 -04:00
md_5 89b59f7c3d Fix exiting due to count condition eating packets. 2015-04-20 19:11:52 +10:00
Thinkofdeath 98e006c856 Fix a deadlock that could happen in offline mode when shutting down the server 2015-04-20 09:49:39 +01:00
md_5 19d9d39eac Use CLQ for main thread tasks.
Means netty threads aren't blocked for long synchronisations whilst tasks are running.
2015-04-19 20:20:50 +10:00
Thinkofdeath 911a5d776b Upstream merge 2015-04-16 22:34:44 +01:00
Thinkofdeath 9f979ee4bf Improve NBTReadLimiter 2015-04-16 17:38:35 +01:00
Thinkofdeath 7230cfe24d Upstream merge 2015-04-16 11:19:45 +01:00
md_5 548dca016c Rebuild #3 2015-04-09 13:45:13 +10:00
md_5 e5af9ac1b5 Rebuild #2 2015-04-09 13:39:59 +10:00
md_5 e249de236b Hash rebuild 2015-04-09 13:18:56 +10:00
md_5 a0a29a2911 SPIGOT-750: Barrier blocks are transparent for xray purposes 2015-04-09 10:23:32 +10:00
Thinkofdeath b540d108ac Patch rebuild 2015-04-05 16:09:21 +01:00