Commit Graph

1112 Commits

Author SHA1 Message Date
md_5
a8ea02ef5a Use FastMatches for ItemStack Dirty Check
The check to find dirty itemstacks and send update packets each tick can be very intensive as it checks the entire itemstack, including the entire NBT map. To save on this, 19/20 times we will simply compare the basic count/data/type. If for some strange reason the NBT of an item already existing in an inventory is changes, it will take up to 1 second to show, with an average time of half a second. This odd 0.5 second delay is far preferable to lag every tick, and shouldn't be noticed by anyone.
2015-02-22 00:39:44 -06:00
md_5
ce48a8a139 Allow Capping (Tile)Entity Tick Time.
This patch adds world configuration options for max-tick-time.entity / max-tick-time.tile which allows setting a hard cap on the amount of time (in milliseconds) that a tick can consume. The default values of 50ms each are very conservative and mean this feature will not activate until the server is well below 15tps (minimum). Values of 20ms each have been reported to provide a good performance increase, however I personally think 25ms for entities and 10-15ms for tiles would give even more significant gains, assuming that these things are not a large priority on your server.

For tiles there is very little tradeoff for this option, as tile ticks are based on wall time for most things, however for entities setting this option too low could lead to jerkiness / lag. The gain however is a faster and more responsive server to other actions such as blocks, chat, combat etc.

This feature was commisioned by Chunkr.
2015-02-22 00:39:37 -06:00
Thinkofdeath
0b3670b5a1 SPIGOT-593: Fix a mistake with the EntitySlice patch 2015-02-20 21:47:05 -06:00
md_5
c39bee77cc Fix compile of activation range, oops 2015-02-20 21:46:50 -06:00
md_5
0e14ff9789 Use Standard List for EntitySlices. 2015-02-20 21:46:40 -06:00
Thinkofdeath
da7c9b23b0 Upstream merge 2015-02-19 16:44:53 -06:00
md_5
3ea2235dbd More conflict resolution. 2015-02-14 20:15:47 -06:00
md_5
6008bb8fab Fix merge conflicts. 2015-02-14 20:15:35 -06:00
Thinkofdeath
e1a6979f1a Fix entity activation range for fireworks and items 2015-02-14 20:15:26 -06:00
Thinkofdeath
450a0ff892 Upstream merge 2015-02-13 14:21:43 -06:00
Thinkofdeath
461353e2cb SPIGOT-522: Remove the global api cache option
This was useful when plugins first started upgrading to uuid because each
plugin would implement their own way for grabbing uuid's from mojang. Because
none of them shared the result they would quickly hit the limits on the api
causing the conversion to either fail or pause for long periods of time. The
global api cache was a (very hacky) way to force all plugins to share a cache
but caused a few issues with plugins that expected a full implementation of
the HTTPURLConnection. Due to the fact that most servers/plugins have updated
now it seems to be a good time to remove this as its usefulness mostly has
expired.
2015-02-06 09:03:19 -06:00
Thinkofdeath
4de67b82cf Fix the 'Remove uneeded validation' patch
Looks like it may have been broken during the 1.8 update (or it was always
broken)
2015-01-30 23:58:01 -06:00
Thinkofdeath
d7dbedcf72 Fix merge conflicts 2015-01-25 21:56:18 -06:00
Thinkofdeath
a131bfb513 SPIGOT-459: Update the structure saving warning 2015-01-25 21:56:09 -06:00
md_5
86c8d0492a Fix merge conflicts. 2015-01-25 02:02:43 -06:00
Thinkofdeath
5ed9079a1b Me and windows are not getting along 2015-01-18 12:40:31 -06:00
Thinkofdeath
a7339d5ed5 Whoops 2015-01-18 12:40:23 -06:00
Thinkofdeath
3c20eb4a97 Upstream merge 2015-01-18 12:40:16 -06:00
md_5
478838714f Merge 2015-01-16 10:46:27 -06:00
Thinkofdeath
d41f0754f0 SPIGOT-326: Fix an overflow issue which caused particles to only show in a 1 block radius 2015-01-16 10:46:15 -06:00
md_5
bfc8900321 Merge in changes. 2015-01-16 10:39:55 -06:00
md_5
88b3850470 Allow sun JVM classes for Spigot 2015-01-12 11:15:19 -06:00
md_5
3de5e003f5 Upstream merge. 2015-01-12 11:15:14 -06:00
md_5
fb6f1e914b SPIGOT-401: Add async catcher for mob effects. 2015-01-12 11:15:07 -06:00
md_5
35f381961d Fix patches 2015-01-08 21:52:40 -06:00
md_5
384699a51a Upstream merge. 2015-01-06 22:09:08 -06:00
Zach Brown
b360cf686f Update from upstream SpigotMC
eb39b4729ce
59b08be5833
a723278f74a
2015-01-04 20:01:24 -06:00
Zach Brown
3650ca36dd Update from upstream SpigotMC take 2: Update harder 2014-12-27 16:07:04 -06:00
Zach Brown
250c1711bd Update from upstream SpigotMC
f234263c871
9f2d587b97e
6d85d979798
24ca434ad3c
5ffe41c3910
13716d9d5ee
2014-12-27 15:39:37 -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
8bbab87c6b Update from upstream SpigotMC
3e3ea0bd0d8
320ed92779f
612de468951
2014-12-14 15:54:10 -06:00
Zach Brown
74110558b2 Update from upstream SpigotMC
81e4ab71ca4
b023457499d
dc776bee32b
116e6fc98dc
2b97a3846f2
2014-12-12 22:47:57 -06:00
Zach Brown
690205b676 Update from upstream SpigotMC
44608631338 [M]
29dbaa783fe
edf691c2e93
da9bbdfaea9
330d66bfb62
2014-12-10 22:21:51 -06:00
Zach Brown
1c211713c6 Update from upstream SpigotMC
c5492f80081
d5bf8668b99
a93b19a04cd
2014-12-09 19:58:37 -06:00
Zach Brown
28414e7e28 Update from upstream SpigotMC
6669d6ecd2b
b2740df50bb
bf71dc61149
fba27a2ea80
92ee7e7f8ec
b28f0d3de23
4beb4ac3918
0ddb6f3dde8
afe301fe892
b8f6402bbbe
2014-12-07 13:26:30 -06:00
Zach Brown
c9daa16dac Update from upstream SpigotMC
72d33338f08
2a70ece9ab2 [M]
abcf7aa4a40
9a88a38258c [M]
8dc4297e34f
2014-12-05 21:33:40 -06:00
Zach Brown
2a30a76ac5 Merge with Spigot
da32fe1d549 <- Increase max scoreboard objective size
2014-12-03 18:13:06 -06:00
Zach Brown
c55b9c30d7 Update from upstream SpigotMC
66af3b310e0
a969bf6c85d
95d56229d8f
87c1d0c8b7c
baf01cc7f84
38b8866783d [M]
2014-12-02 00:02:15 -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
06c1cf41ab Update Spigot's Patches
Fix Build 2339ac14a8e
Regen the patches 89d3fcbdfaf

This new system breaks a lot :(
2014-11-28 18:03:01 -06:00
Zach Brown
de86706b70 Update PaperSpigot to Minecraft 1.8 2014-11-28 15:01:21 -06:00
Zach Brown
4100c7f703 Add Spigot binary patch 20141113a 2014-11-28 14:19:09 -06:00
Byteflux
2a92d3a54a Update with more Spigot binary patches 2014-11-28 14:19:09 -06:00
Byteflux
1a6b7c9d79 Update with latest patches from upstream SpigotMC 2014-11-28 14:19:08 -06:00
Zach Brown
cdbc7da18f Update 1.8-proto from upstream SpigotMC
Default to integer instead of hearts to match 1.7 behavior SpigotMC/Spigot@dd5ae56242
Add a tab header / footer packet for use by plugins SpigotMC/Spigot@16a1f257e8
Fix an error with particle handling and add the new 'mobappearance' p... SpigotMC/Spigot@39fdf43ae7
Use correct length when converting maps to 1.8 wire format SpigotMC/Spigot@416bbd0a32
Add title packet for use by plugins SpigotMC/Spigot@a1570f68e5
2014-11-28 14:19:08 -06:00
Zach Brown
9a517de244 Update 1.8-proto from upstream SpigotMC
Fix ProtocolLib compatibility. SpigotMC/Spigot@710eb7514b
Bump protocol to 1.8 SpigotMC/Spigot@dd01fbe415
Merge the Protocollib fix into the snapshot branch SpigotMC/Spigot@8ff46693f6
Correctly send the MC|Brand packet SpigotMC/Spigot@0e0982d98c
Block EchoPet as it causes client crashes with the 1.8 patch SpigotMC/Spigot@480804b38f
Replace invalid items for 1.8 clients with (kinda) sane replacements SpigotMC/Spigot@892c121ff1
Fix the furnace progress bars for 1.8 clients SpigotMC/Spigot@a799b4d5ea
2014-11-28 14:19:08 -06:00
Zach Brown
15b553bed3 Update from upstream SpigotMC
Fix double plants having the incorrect top half SpigotMC/Spigot@377b69d787
Fix boats thinking that they were always on land for 1.8 clients SpigotMC/Spigot@4a083f819e
Correct the action used in updateGamemode. this isn't used by the ser... SpigotMC/Spigot@face904a9a
Allow the updated version of protocollib to be enabled SpigotMC/Spigot@4614a615cc
2014-11-28 14:19:07 -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
495c399ff4 Add Spigot's 1.8 protocol patch - Update from upstream
Add support for Minecraft 1.8.x SpigotMC/Spigot@b15ae91145
Skip loading of ProtocolLib SpigotMC/Spigot@508ec8f573
Apply the block fix to block change packets SpigotMC/Spigot@b9349e416d
Blacklist Orebfuscator as well. SpigotMC/Spigot@b2ba105762
2014-09-01 14:11:02 -05:00
Zach Brown
c777f40058 Update from upstream SpigotMC
Add unbreakable API to item meta SpigotMC/Spigot@b1af008222
Configure how often EntityHangings calculate if they should die. SpigotMC/Spigot@ac6e1fc32d
Copy ItemStacks in DataWatcher to prevent ConcurrentModificationExcep… SpigotMC/Spigot@2af28ffbd1
Add the spigot.yml into the timings paste SpigotMC/Spigot@d61f38bd58

Note: This commit moves the entity-hanging tick into Spigot's spigot.yml and out of our paper.yml
2014-08-25 16:33:18 -05:00
Zach Brown
f7bb4ad8a3 Update from upstream SpigotMC
Included Commits:
Update IRC channel to irc.spi.gt SpigotMC/Spigot@a791c555e7
Remove inv close patch for now SpigotMC/Spigot@a3abb3bea9
Limit TNT Detonations per tick SpigotMC/Spigot@8f9c601aed
Use sane default config values SpigotMC/Spigot@1cbbb9b62e

These commits were not included as they were quickly reverted:
Only close if we are actually placing a block SpigotMC/Spigot@ea0b1b2d67
Revert for the above SpigotMC/Spigot@28faa0bd20
Add isUnbreakable and setUnbreakable to ItemMeta. Also fixes a bug wh... SpigotMC/Spigot@32e6d74a5f
Revert for the above SpigotMC/Spigot@4b5a26b11c
2014-08-24 02:40:45 -05:00
Zach Brown
e33fc912a7 Update from upstream SpigotMC
Skip invalid enchants in CraftMetaItem SpigotMC/Spigot@542e0798da
2014-08-19 13:40:15 -05:00
Zach Brown
5b4bc3081a Update from upstream SpigotMC
Upstream merge (we must go deeper) SpigotMC/Spigot@1e7bc383c3
2014-08-18 10:43:17 -05:00
Zach Brown
a4647a8a71 Update from upstream SpigotMC
Fix empty `ench` tags being wiped by the meta system SpigotMC/Spigot@cc9a1a417f
Add Hunger Config Values SpigotMC/Spigot@2cd515e224
Make debug logging togglable SpigotMC/Spigot@d31b1d616f

Spigot has implemented a system of hunger exhaustion similar to ours, as such a lot of config values have been moved there.
Our exhaustion patch has been trimmed and only a few values for exhaustion remain in paper.yml, the others now sit in spigot.yml
2014-08-17 16:47:36 -05:00
Zach Brown
d301626815 Update from upstream SpigotMC
Fix Corrupted Trapped Chests SpigotMC/Spigot@08de30ca3e
Don't time async events SpigotMC/Spigot@c3a9e71da3
2014-08-15 14:35:58 -05:00
Zach Brown
174855f19d Update from upstream SpigotMC
Part revert to fix (0) in place of file name SpigotMC/Spigot@2fbc1f2704
Fix the last PR SpigotMC/Spigot@b2199df3f7
2014-08-11 15:49:06 -05:00
Zach Brown
3727c00bdd Update from upstream SpigotMC
Abridged: Force close player inventories when they move/interact
This prevents modified clients from using the 2x2 crafting square as permanent storage

Force Close Inventory On Move SpigotMC/Spigot@db78a70788
Only close once, if needed SpigotMC/Spigot@b652de8e7f
Move to interact event closing SpigotMC/Spigot@b5378850d3
Disregard arm swings - racy SpigotMC/Spigot@f86634e280
2014-08-10 00:21:18 -05: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
Zach Brown
c08319bf13 Update from upstream SpigotMC
Fix LEFT_CLICK_AIR detection when not in creative SpigotMC/Spigot@883534a72a
2014-08-07 14:33:06 -05:00
Zach Brown
dca3a3b021 Update from upstream SpigotMC
Fixed: Check cast SpigotMC/Spigot@7efa75c63a
2014-08-06 18:16:23 -05:00
Zach Brown
27e94ec67b Update from upstream SpigotMC
Fix timings SpigotMC/Spigot@7d79f6bf5e
Fix the particle api using the wrong Material class SpigotMC/Spigot@f5a1e7a96f
2014-08-05 13:44:19 -05:00
Zach Brown
557a65eb3c Update CraftBukkit 2014-08-04 15:11:38 -05:00
Zach Brown
5ee589911c Upsteam fix missed diff from MC 1.3.1 Update
SpigotMC/Spigot@2e45f5d2fa
2014-08-01 03:51:48 -05:00
Zach Brown
1d84acbcff Update from upstream SpigotMC
Merge the max health attribute patch into the previous one SpigotMC/Spigot@8d45fe7f77
Filter attribute modifiers which cause the attribute to go out of its range SpigotMC/Spigot@463a1eb595
2014-07-31 19:16:47 -05:00
Zach Brown
7cab612cfb Update from upstream SpigotMC
Skip online mode UUID lookups when in offline mode and not using Bungee. SpigotMC/Spigot@25b673fd7e
2014-07-30 03:39:03 -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
df10dcf656 Update from upstream SpigotMC
Set the minimum max health attribute value to 0.1 SpigotMC/Spigot@d3b9fa0d1f
Add an option for a global cache for any request on Mojang's api SpigotMC/Spigot@3452c620df
Handle cases where the api fails to return a profile SpigotMC/Spigot@6a6eff3319
2014-07-29 14:59:47 -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
6d67f53a26 Fix CraftBukkit-Patches/0032 that got mangled in the upstream update 2014-07-27 14:26:04 -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
7dd671146d Update from upstream SpigotMC
Don't use Bukkit.getLogger as the CraftServer isn't loaded at this point SpigotMC/Spigot@5c48793ecf
Modify the block placement limit to allow for the odd random packet or two SpigotMC/Spigot@7768676ae2
2014-07-24 22:21:57 -05:00
Zach Brown
a5c9b31256 Update from upstream SpigotMC
No need to wait for the conversation to finish SpigotMC/Spigot@67b502b6f8
2014-07-23 10:56:36 -05:00
Zach Brown
4aef5602d5 Update from upstream SpigotMC
Remove defensive copy in EAR SpigotMC/Spigot@f1ba1f6c07
Make "moved wrongly limit" configurable SpigotMC/Spigot@f7ab380e16
Fix null Tile Entity Worlds (we already had this) SpigotMC/Spigot@b271cdbfa0
Fix slow tab complete for some commands SpigotMC/Spigot@f3b7952c73
Only suggest ops to deop and remove whitelist add case entirely SpigotMC/Spigot@0e1fcfbe70
Allow tab complete for /whitelist add SpigotMC/Spigot@27f8aa22bd
2014-07-22 15:25:09 -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
b2ec959ec7 Upstream - Classloader changes and interact limiter changes 2014-07-16 14:11:44 -05:00
Zach Brown
56df661368 Configurable delay for mob AI targetting
Allows for interesting gameplay elements and other interesting tweaks
2014-07-14 01:24:09 -05:00
Zach Brown
489e293d69 Upstream - Don't overwrite invalid config files 2014-07-12 19:38:57 -05:00
Zach Brown
604d0e801d Upstream - Don't crash when a skele shoots an item frame 2014-07-11 08:17:54 -05:00
Zach Brown
5c711db6f1 Restore our earlier and simpler TNT direction bias fix 2014-07-11 03:57:06 -05:00
Iceee
1ffb628a78 Don't tick chests v3 - Now with more not-ticking
As always, thanks Ice
2014-07-11 01:57:39 -05:00
Zach Brown
2352f9cadd Use CraftBukkit's damage API fix instead of our own
... here's hoping theirs works
2014-07-10 21:47:05 -05:00
Dmck2b
9e2cc27fb0 Actually fix the spawn chunks persistence patch 2014-07-10 13:47:43 -05:00
Zach Brown
f23a372321 Revert "Update spawn chunk persistence patch"
This reverts commit 27494d6d9f.
2014-07-09 23:46:54 -05:00
Dmck2b
27494d6d9f Update spawn chunk persistence patch 2014-07-09 22:06:09 -05:00
Zach Brown
832f7ad2c3 Configurable nerf for TNT cannons 2014-07-09 17:40:03 -05:00
Zach Brown
56c2ba6437 Replace TNT fix with less buggy solution
... although the last one was pretty funny
2014-07-09 17:07:26 -05:00
Iceee
b848676e2f Don't tick chests v2 2014-07-08 22:56:08 -05:00
Zach Brown
66dd81d53a Better EULA handling 2014-07-08 22:40:26 -05:00
Zach Brown
f125630ef1 PaperSpigot 1.7.10 2014-07-08 22:05:35 -05:00
Aikar
0e9f7b049f Revert Bukkit damage API changes 2014-07-08 19:31:45 -05:00
Zach Brown
cfd51ccfb9 Revert updates to TNT bias patch 2014-07-08 19:28:16 -05:00
Evan A. Haskell
3a120c167c Fix null tile entity worlds crashing the server 2014-07-08 18:26:32 -05:00
Dmck2b
74692cfcd3 Allow toggling of chunk persistance 2014-07-09 00:00:00 +01:00
Zach Brown
8d8bbf09ec Update TNT directional bias patch
Includes work by SportBukkit - Thanks guys
2014-07-08 16:31:38 -05:00
Zach Brown
e75a3020e5 Upstream merge 2014-07-08 16:10:12 -05:00
Zach Brown
bba86b10b2 Experimental: Don't tick chests
This isn't used anywhere and only adds to the load. This change should be considered experiemental however as it needs testing
2014-07-07 16:29:19 -05:00
Dmck2b
42744f8853 Add configurable despawn ranges for living entities 2014-07-06 22:23:20 -05:00
gsand
64863c09c3 Player Exhaustion Multipliers 2014-07-06 19:19:11 -05:00