Commit graph

67 commits

Author SHA1 Message Date
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
md_5
f468d641ab Update for latest CraftBukkit changes. 2015-07-30 17:22:16 +10:00
md_5
8203d6f696 Remove UserCache import as it is used now. 2015-06-07 20:03:31 +10:00
Thinkofdeath
80d0e8ffa7 Update to 1.8.4 2015-05-09 21:23:26 +01: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
d96ecbc04b Add missing mc-dev import 2015-03-15 22:18:05 +00:00
Thinkofdeath
c0638b6ffb Update to Minecraft 1.8.3 2015-02-28 11:36:22 +00:00
Zach Brown
105e5e9ba4 Update from upstream SpigotMC take 2: Update harder 2014-12-27 16:07:04 -06:00
Zach Brown
afa737e5a5 Update from upstream SpigotMC
a3168ab2ce4
9b45d9fa8d3
b43a31a5c25
a926b96d5d1
d6b5ba7ca03
bb782d07aed
5a74d55c678
47b1dff3e68 [M]
2014-12-18 17:33:08 -06:00
Zach Brown
6e2bd0745f Update from upstream SpigotMC
81e4ab71ca4
b023457499d
dc776bee32b
116e6fc98dc
2b97a3846f2
2014-12-12 22:47:57 -06:00
Zach Brown
a52eb21fd8 Update PaperSpigot to Minecraft 1.8 2014-11-27 17:17:45 -08:00
Zach Brown
a0e810eaf9 Rebase (Update) from upstream SpigotMC
Don't send requests of every player was found in the global api cache SpigotMC/Spigot@841270ff1e
Correctly set the response code for the cached lookups and return the ... SpigotMC/Spigot@f170b7899c
Don't try and re-set the global api cache on reload SpigotMC/Spigot@b410a00a66
Use a compile time sneaky throw hack. SpigotMC/Spigot@508462b96b
Fix a missed rename in WorldGenGroundBush SpigotMC/Spigot@0614d8fae9
2014-08-31 13:56:05 -05:00
Zach Brown
c42e01a8b4 Update from upstream SpigotMC
Upstream Merge (Bukkit + CraftBukkit) SpigotMC/Spigot@da20125dab
Plug WorldMap Memory Leak SpigotMC/Spigot@da20125dab
2014-08-08 17:15:42 -05:00
Zach Brown
86c0528de1 Update from upstream SpigotMC
Allow Attribute Capping. SpigotMC/Spigot@fb3a9d38dd
Fix unit tests (broken in the above) SpigotMC/Spigot@1e98f1161f
Update attribute maxes again once loaded SpigotMC/Spigot@2bf4481e15
2014-07-28 03:00:45 -05:00
Zach Brown
b6b4545b44 Update from upstream SpigotMC
Make "moved too quickly" limit configurable SpigotMC/Spigot@99a0a640e8
Undeprecate Player#updateInventory()V SpigotMC/Spigot@5c32e1cb48
Fetch complete profile for skull items, similarly to TileEntitySkull. SpigotMC/Spigot@33d758773e
Move getDouble into the Spigot Configuration patch SpigotMC/Spigot@b5dd202af1
Add missing particle to particle API SpigotMC/Spigot@273c64bbad
Log debug levels to the log file. SpigotMC/Spigot@348eae75f4
Fix PlayerItemDamageEvent (we already had this #badupstreamrelations) SpigotMC/Spigot@e207ea23cd
Move hopper patch to top for PR180 SpigotMC/Spigot@abb775108d
Don't be so spammy on Java 6 SpigotMC/Spigot@5abb82b1ca
Apply NBTReadLimiter to more things SpigotMC/Spigot@408944e9f5
2014-07-27 14:14:24 -05:00
Zach Brown
e7f3ca4505 Restructure PaperSpigot as a new set of modules
Allows us much greater control over the Spigot portion of the code
and makes us more "proper"
Credit to @Dmck2b for originally passing the idea along a while back
2014-07-21 15:46:54 -05:00
Zach Brown
8ae366785c Apply our patches over Spigot-Server and Spigot-API directly 2014-06-24 07:21:58 -05:00
Spigot
9bb3f58321 Prevent Unbounded IntCache Growth
Based on work by Peter Lawrey, this commit prevents unbounded growth of the integer cache and instead caps it to a value specified in the configuration (1024 by default). Should prevent thrashing, especially around world generation.

By: md_5 <git@md-5.net>
2014-06-20 19:40:55 +10:00
Spigot
b56d35552d Upstream merge
By: md_5 <git@md-5.net>
2014-04-24 16:27:12 +10:00
Spigot
3309f466e2 Remove NBTTagCompound and related patches
By: Thinkofdeath <thethinkofdeath@gmail.com>
2014-04-23 12:44:02 +01:00
Spigot
6bbb74e114 Stop player skull's name being incorrectly set to the profiles's toString
By: Thinkofdeath <thethinkofdeath@gmail.com>
2014-04-17 13:02:29 +01:00
Spigot
79a14f8a9f Fix Player Banning
This issue stems from the fact that Bukkit's API only allows a UUID to be banned, but Minecraft requires both a UUID and name. To fix this we modify the code to require a UUID or a name, or both. The correct fix would be expanding the API to be able to provide a name, however this would require plugin changes.

By: md_5 <git@md-5.net>
2014-04-15 10:32:55 +10:00
Spigot
b6ad1541ce Use Provided Case for Non Existent Offline Players.
Fixes issues with using scoreboards to provide information via pseudo players being all lower cased.

By: md_5 <git@md-5.net>
2014-04-14 09:47:44 +10:00
Spigot
1fcb203b64 Revert "Print Warning not Stack Trace."
This reverts commit ed178c8ad3.

By: md_5 <git@md-5.net>
2014-04-12 15:29:45 +10:00
Spigot
ed178c8ad3 Print Warning not Stack Trace.
When loading the data .json files.

By: md_5 <git@md-5.net>
2014-04-12 15:18:33 +10:00
Spigot
78305649b8 Finish up Minecraft 1.7.8 support. This is a dev build, no warranty etc etc. It does not yet support Minecraft 1.7.2/1.7.5.
By: md_5 <git@md-5.net>
2014-04-12 14:49:42 +10:00
Spigot
c3fd1723b1 Fix some stuff
By: md_5 <git@md-5.net>
2014-04-12 14:27:04 +10:00
Spigot
e16cd1f8c5 Replace the village window patch with one that effects all windows (Closes #143)
By: Thinkofdeath <thethinkofdeath@gmail.com>
2014-03-30 17:00:57 +01:00
Spigot
b215942177 Update to 1.7.5
By: Thinkofdeath <thethinkofdeath@gmail.com>
2014-03-23 00:06:43 +00:00
Spigot
3985d6815c Rebuild patch hashes, fix build.
By: md_5 <git@md-5.net>
2014-03-10 09:14:45 +11:00
Spigot
615107d0d3 Implement Threaded Bulk Chunk Compression.
This offloads chunk compression to a new thread, which should help with the pauses often seen when teleporting large amounts of players.

By: md_5 <git@md-5.net>
2014-01-28 20:32:37 +11:00
Spigot
0c538f5fe5 Merge tick shuffling branch into master.
By: md_5 <git@md-5.net>
2014-01-27 08:40:12 +11:00
Spigot
14d0eb5b67 Remove NextTickList processing whilst we look into an issue.
http://www.spigotmc.org/threads/lwc-locks-randomly-going-missing-after-using-1249.10505/

Catch stalling on corrupted map data / NBT arrays.

By: md_5 <git@md-5.net>
2014-01-20 13:44:41 +11:00
Spigot
63e137c5f0 Fix anvil collisions
This fixes the server incorrectly moving the player out of an anvil when touching it on the side. The server used the rotation of the last placed anvil instead the of the rotation of the anvil the player was touching.

By: Thinkofdeath <thethinkofdeath@gmail.com>
2014-01-09 14:28:04 +00:00
Spigot
34acf177c9 Allow statistics to be disabled/forced
By: Thinkofdeath <thethinkofdeath@gmail.com>
2014-01-08 22:00:00 +00:00
Spigot
fe21d2887d Fix patch tree.
By: md_5 <git@md-5.net>
2013-12-22 10:06:06 +11:00
Spigot
4ddeed1993 Fix accidentally reverted mc-dev imports.
By: md_5 <git@md-5.net>
2013-12-21 19:14:34 +11:00
Spigot
2c6428f4b1 Upstream merge, nothing major.
By: md_5 <git@md-5.net>
2013-12-21 19:13:39 +11:00
Spigot
e715887ac8 Stage BiomeDecorator so we can get line numbers to match for stack traces.
By: md_5 <git@md-5.net>
2013-12-19 17:44:57 +11:00
Spigot
823793d899 Add VanillaCommandWrapper which allows use of vanilla commands instead of Bukkit's versions
By: Thinkofdeath <thethinkofdeath@gmail.com>
2013-12-17 13:56:38 +00:00
Spigot
ec82d3b06b Optimize DataWatcher
Use primitive orientated collections, as well as more effective copies across collections.

By: md_5 <git@md-5.net>
2013-12-13 11:45:53 +11:00
Spigot
a6e7c7a91e Upstream merge
By: md_5 <md_5@live.com.au>
2013-12-09 18:00:58 +11:00
Spigot
c9d51dff33 Fire EntityDamageByEntityEvent for ItemFrames. This allows them to be protected more effectively.
By: md_5 <md_5@live.com.au>
2013-12-05 18:41:50 +11:00
Spigot
c575b39624 [Bukkit Bug] Clear flower pots on drop so that they are not dropped twice.
By: md_5 <md_5@live.com.au>
2013-12-03 11:08:07 +11:00
Spigot
35bd15b556 [Bukkit Bug] Fix packed ice generation crashing the server.
By: md_5 <md_5@live.com.au>
2013-12-01 17:52:29 +11:00
Spigot
c3b250520f "It Compiles" - Update Spigot to Minecraft 1.7.2 proper. See below for full release notes (MUST READ).
This is a lightly tested build. You are encouraged to keep backups at all times. Please attempt to report all issues to IRC. The following features are intentionally missing from this build and will be added as soon as humanly possible.
- BungeeCord IP forwarding
- Firing of AsyncLoginEvent in offline mode
- A few custom kick / other hardcoded messages

As always this build comes with no warranty.
Thanks for your support.
~md_5

By: md_5 <md_5@live.com.au>
2013-12-01 17:12:38 +11:00
Spigot
9746fe7a1e Update mc-dev etc.
By: md_5 <md_5@live.com.au>
2013-12-01 15:13:58 +11:00
Spigot
ffa66cbd53 Fix BrewingStands Removing NBT / Potions
By: md_5 <md_5@live.com.au>
2013-10-09 18:20:20 +11:00
Spigot
232904c96f Allow disabling of 1.6.3 structure saving. Use with caution!
By: md_5 <md_5@live.com.au>
2013-09-21 12:33:27 +10:00