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