Commit Graph

78 Commits

Author SHA1 Message Date
Aikar
88826e053a 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-10 15:46:34 -05:00
md_5
6a6ecc5d1d Update for latest CraftBukkit changes. 2015-07-30 22:11:20 -05:00
md_5
4e9d1b2b24 Update to Minecraft 1.8.8 (Pre-)Release. 2015-07-27 17:01:45 -05:00
md_5
f5e295d087 Remove UserCache import as it is used now. 2015-06-07 15:47:52 -05:00
md_5
2c46441a7b Update to Minecraft 1.8.6 2015-05-25 15:24:33 -05:00
Thinkofdeath
033b54d5de Update to 1.8.4 2015-05-18 16:56:05 -05:00
Thinkofdeath
943a2a3782 Upstream merge 2015-04-18 16:00:01 -05:00
Thinkofdeath
ee319fcbb2 Improve NBTReadLimiter 2015-04-16 15:36:08 -05:00
md_5
8b5be7ad8e Rebuild #2 2015-04-08 22:47:31 -05:00
md_5
222fd361e3 Hash rebuild 2015-04-08 22:28:28 -05:00
Thinkofdeath
4b61cd6e60 Add missing mc-dev import 2015-03-19 19:28:35 -05:00
Thinkofdeath
894b59c400 Rebuild patches 2015-03-08 05:03:38 -05:00
Thinkofdeath
e5290a457a Update to Minecraft 1.8.3 2015-03-08 05:03:19 -05:00
md_5
78f0bacf0a Patch rebuild. 2015-02-28 00:35:00 -06:00
md_5
384699a51a Upstream merge. 2015-01-06 22:09:08 -06:00
Zach Brown
3650ca36dd Update from upstream SpigotMC take 2: Update harder 2014-12-27 16:07:04 -06:00
Zach Brown
c7f1eed0bf Update from upstream SpigotMC
3beb7729816
a77ed5758a7
52c130fc6d9
2014-12-20 19:09:49 -06:00
Zach Brown
6a5e553feb Update from upstream SpigotMC
a3168ab2ce4
9b45d9fa8d3
b43a31a5c25
a926b96d5d1
d6b5ba7ca03
bb782d07aed
5a74d55c678
47b1dff3e68 [M]
2014-12-18 17:33:08 -06:00
Zach Brown
74110558b2 Update from upstream SpigotMC
81e4ab71ca4
b023457499d
dc776bee32b
116e6fc98dc
2b97a3846f2
2014-12-12 22:47:57 -06:00
Zach Brown
19972e09b8 Update SpigotMC's patches
5a0150f586ed3eb15fe6f1f596d1a5a7d806f0f9 Fix ITEM_BREAK
e6a3911057bd94d8bd7021cbb4923fb84fb106d1 Upstream merge
d1cdcf8d4c3639f956474f02ed662517cffbe23e Remove old patch
068df64aeee368377e1673667bffc7a6dcf90554 Rebuild all patches
2014-11-30 16:16:48 -06:00
Zach Brown
1c49ff69f4 Update Spigot's Patches round 2?
The hell happened here.
:
Fix Build 2339ac14a8e
Regen the patches 89d3fcbdfaf

This new system breaks a lot :(
2014-11-28 18:06:26 -06:00
Zach Brown
de86706b70 Update PaperSpigot to Minecraft 1.8 2014-11-28 15:01:21 -06:00
Zach Brown
cab333b217 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-11-28 14:19:07 -06:00
Zach Brown
8e365012c0 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
Byteflux
aeead930a1 Better nerf for TNT Cannons ...
Drops the item
Applies to all Falling Block Entities
2014-07-30 03:35:32 -05:00
Zach Brown
03ff104849 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
398f6983bd 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:20:28 -05:00
Zach Brown
7b0c576798 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
1207bc585d Apply our patches over Spigot-Server and Spigot-API directly 2014-06-24 08:04:20 -05:00
md_5
b4f8ae96a2 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.
2014-06-20 19:40:55 +10:00
md_5
74c275f71c Upstream merge 2014-04-24 16:33:42 +10:00
Thinkofdeath
3c59415aa1 Remove NBTTagCompound and related patches 2014-04-23 12:44:02 +01:00
Thinkofdeath
05bb44c24b Stop player skull's name being incorrectly set to the profiles's toString 2014-04-17 13:02:29 +01:00
md_5
dff782210a 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.
2014-04-15 10:32:55 +10:00
md_5
e11d481452 Use Provided Case for Non Existent Offline Players.
Fixes issues with using scoreboards to provide information via pseudo players being all lower cased.
2014-04-14 09:48:49 +10:00
md_5
75deb2c530 Revert "Print Warning not Stack Trace."
This reverts commit 7edfec9059.
2014-04-12 15:29:45 +10:00
md_5
7edfec9059 Print Warning not Stack Trace.
When loading the data .json files.
2014-04-12 15:18:33 +10:00
md_5
c467867aca 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. 2014-04-12 14:49:42 +10:00
md_5
06b0dec1c5 Fix some stuff 2014-04-12 14:27:04 +10:00
Thinkofdeath
b4686b49be Replace the village window patch with one that effects all windows (Closes #143) 2014-03-30 17:00:57 +01:00
Thinkofdeath
69324bba91 Update to 1.7.5 2014-03-23 00:06:43 +00:00
md_5
254df64f1b Rebuild patch hashes, fix build. 2014-03-10 09:14:45 +11:00
md_5
82cf01b53f 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.
2014-01-29 08:38:37 +11:00
md_5
6bf69c66f3 Merge tick shuffling branch into master. 2014-01-27 08:40:12 +11:00
md_5
a0deef28ee 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.
2014-01-20 13:44:41 +11:00
Thinkofdeath
afe4189e46 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.
2014-01-09 14:28:04 +00:00
Thinkofdeath
4ed5d54dde Allow statistics to be disabled/forced 2014-01-08 22:43:39 +00:00
md_5
6a98142bd5 Fix patch tree. 2013-12-22 10:06:06 +11:00
md_5
b42275d94c Fix accidentally reverted mc-dev imports. 2013-12-21 19:14:34 +11:00
md_5
1c099a713b Upstream merge, nothing major. 2013-12-21 19:13:39 +11:00