md_5
4755809a62
Tigthen up access to getVersion - should help with some disconnects. Great spot by @thinkofdeath
2014-04-12 19:06:58 +10:00
md_5
4976381ad8
Fix missed variable in entity activation range
2014-04-12 19:01:59 +10:00
md_5
fad54a7a3e
Upstream merge
2014-04-12 18:17:59 +10:00
md_5
a3b28bf525
Fix more legacy support
2014-04-12 18:15:24 +10:00
md_5
2a02b37ac2
Strip dashes when sending UUIDs to older clients.
2014-04-12 18:04:17 +10:00
md_5
8971d2afa7
Fix several occurances of missed diff.
2014-04-12 17:49:22 +10:00
md_5
ec9e487811
Address Serious Issues with Offline Players
...
Such as name being entirely unresolved! This fixes the whitelist command and no doubt lots more.
2014-04-12 17:17:26 +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
998bcd056a
Old / New Version Support.
...
This adds support for newer / older Minecraft versions.
At present it supports protocol versions 4 and 5 (1.7.2-1.7.8).
2014-04-12 15:11:23 +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
c2dd459650
Nearly done, testing time.
2014-04-12 14:38:17 +10:00
md_5
06b0dec1c5
Fix some stuff
2014-04-12 14:27:04 +10:00
md_5
205b113b18
Stage 1.5
2014-04-12 14:18:50 +10:00
md_5
83ce6724ca
Stage 1
2014-04-12 14:18:37 +10:00
md_5
7a108da7f3
Remove some snapshot related patches in preparation for update.
2014-04-12 14:01:22 +10:00
Thinkofdeath
b32a7595bf
Remove the server skin validation
...
Doesn't really help in catching the plugins causing the issues
2014-04-11 16:13:15 +01:00
Thinkofdeath
40570f5b14
Display 1.7.8 as the current version
2014-04-11 15:46:24 +01:00
Thinkofdeath
3f8ecf497b
Validate skins server side to try catch some out of date plugins
2014-04-11 13:08:04 +01:00
Thinkofdeath
c499672aef
Display 'Spigot' in client crashes, server lists and Mojang stats
2014-04-11 11:55:29 +01:00
Thinkofdeath
80e3edb2b2
Find and fix broken player skulls and handle skulls with incorrectly cased player names
2014-04-10 21:59:55 +01:00
Thinkofdeath
11fe7bede1
Lets say this didn't happen
2014-04-10 21:23:07 +01:00
Thinkofdeath
63233d4a0e
Don't convert skulls if the request fails for some reason
2014-04-10 21:12:49 +01:00
Thinkofdeath
a67082c90e
Use authlib to look up skull textures.
...
Might cover a case I missed
2014-04-10 17:45:21 +01:00
Thinkofdeath
1e1ba0f873
Fix the console issue
...
QueueLogAppender doesn't like being added twice
2014-04-10 12:56:45 +01:00
Thinkofdeath
74fe17c43b
Fix 1.7.7 support (Bungee will still have issues)
2014-04-10 11:56:42 +01:00
Thinkofdeath
8a1c663032
Check the length of the response as the API can sometimes be incorrect
2014-04-09 20:44:07 +01:00
Thinkofdeath
5f03f206c3
Don't spam warnings when Mojang's API goes down. (Which happens a lot)
2014-04-09 15:22:36 +01:00
Thinkofdeath
98825a6430
Close the inputstreams/connections used for head conversion
2014-04-09 14:54:31 +01:00
Thinkofdeath
e95737ad2c
Convert player heads async
2014-04-09 13:53:23 +01:00
Thinkofdeath
4c69717e7b
Prevent player skulls from crashing 1.7.6 clients. They'll be missing their textures due skin changes
2014-04-08 13:38:47 +01:00
Thinkofdeath
ac8f1531ec
Merge remote-tracking branch 'remotes/origin/1.7.6'
2014-04-08 12:23:47 +01:00
Thinkofdeath
35048d22f5
Pass the offline/bungee uuid to PreLogin events ( Closes #147 )
2014-04-07 00:42:38 +01:00
Thinkofdeath
7103dff380
Add 1.7.6pre1 support.
...
This doesn't require any configuration changes and will support 1.7.2 / 1.7.5 etc as well.
2014-04-05 09:11:28 +11:00
Thinkofdeath
ded44c47f0
Upstream merge
2014-04-03 21:12:44 +01:00
Thinkofdeath
2bf205d5f9
Fixed mob spawners being treated as solid blocks for the orebfuscator
...
Mob spawners are treated as solid blocks as far as the game is concerned for lighting and other tasks but for rendering they can be seen through, therefor we special case them so that the antixray doesn't show the fake blocks around them.
2014-04-03 10:50:48 +01:00
md_5
710f33af71
Correct patch start comment.
2014-04-02 18:05:47 +11:00
Ginger Geek
fe031329f3
Allows greater control over Tab Command Complete.
...
You can now specify how many letters of the command must be typed before it will be tab completed this will help deter people from just spamming round all the commands to see if there is one incorrectly set up.
0 will tab complete all commands
-1 will disable tab complete
1 will mean you have to type the first letter
2 will mean you have to the second letter... etc...
2014-04-02 18:01:40 +11:00
md_5
04d72bc702
Merge some stuff from upstream.
2014-04-02 17:54:35 +11:00
FrozenBrain
a562fecb4b
Fix TileEntities getting ticked after being queued for removal
2014-04-02 17:53:34 +11:00
drXor
2fb9953244
Configurable boss sound radii.
2014-04-02 17:49:11 +11:00
Thinkofdeath
b4686b49be
Replace the village window patch with one that effects all windows ( Closes #143 )
2014-03-30 17:00:57 +01:00
md_5
c349a2493b
Prevent the inevitable server lag|crashes caused by people doing a blocking operation on the main thread.
2014-03-30 09:16:12 +11:00
md_5
f5167c9e46
Upstream: Add more expansive UUID based operations
2014-03-30 09:09:24 +11:00
Thinkofdeath
6bba77bba3
Re-add a fixed version of the "Improved Ping Sending" patch
2014-03-28 21:54:36 +00:00
Thinkofdeath
0f0c2734df
address -> realAddress
2014-03-27 11:53:41 +00:00
md_5
97a67451a5
Fix several occurances of missed diff between the current version of mc-dev.
2014-03-27 16:01:20 +11:00
Thinkofdeath
0c70e688f7
Use the right constructor for bungeecord support
2014-03-26 23:53:19 +00:00
Thinkofdeath
152e14cadc
Remove the Improved Ping Sending patch
2014-03-26 20:34:47 +00:00
Thinkofdeath
fdfc07bd39
Handle case where currentTick could be negative
...
@Aikar is there a better way to handle this?
2014-03-26 15:18:11 +00:00
md_5
48d7a1a40f
Make restart command ignore async checks. This is needed for the watchdog to properly restart.
2014-03-25 16:13:09 +11:00
md_5
5164642604
Remove async op catcher to its own class
2014-03-25 16:11:45 +11:00
Thinkofdeath
5beb96b1de
Upstream merge
2014-03-24 20:36:29 +00:00
Thinkofdeath
7fd79ff28d
Move part of the Watchdog patch back into the correct patch
...
I have no idea how I managed to mess this up
2014-03-24 17:51:06 +00:00
Thinkofdeath
f5643a1d34
Fix missed diff in TileEntityHopper
2014-03-24 12:01:26 +00:00
md_5
3c4481aa87
Fix conflicts
2014-03-24 17:12:40 +11:00
Thinkofdeath
6d22914df8
Re-add missed method to the Player Collision API
2014-03-23 18:16:32 +00:00
Thinkofdeath
58a6cb892b
Cap villagers' window name to prevent client disconnects
2014-03-23 10:54:53 +00:00
Thinkofdeath
9b863cd5f2
Fix the removal of potion effects
2014-03-23 09:49:23 +00:00
md_5
c70bb68362
Fix some merge conflicts
2014-03-23 15:21:51 +11:00
Thinkofdeath
12aa3ca6ef
Check for manually prefixed commands or commands that don't need a prefix for calling vanilla commands with command blocks
2014-03-23 01:29:13 +00:00
md_5
09d6e4d9e1
this.t() -> this.u() - make the server actually tick!
2014-03-23 11:34:50 +11:00
md_5
c9605032d0
Don't print permgen warning for java 8+
2014-03-23 11:20:02 +11:00
Thinkofdeath
69324bba91
Update to 1.7.5
2014-03-23 00:06:43 +00:00
Thinkofdeath
0d601be5dd
Re-add missing Player part of the particle API
2014-03-20 22:29:54 +00:00
Thinkofdeath
670d08ceb0
Remove the lastChunkAccessed if it is unloaded.
...
This fixes an issue where a chunk would be unloaded but remain in lastChunkAccessed meaning calls on getChunkAt could return a chunk that is no longer loaded, this caused an issue where the chunk could be reloaded whilst in use reverting any block changes. This caused findEndPortal to return null even after createEndPortal which would crash the server trying to teleport to a null location.
2014-03-18 09:52:01 +00:00
drXor
d69ddc3163
Allow enchanting tables to enchant any item when plugins prompt them to.
2014-03-16 16:54:38 +11:00
drXor
ddf5477f57
Change various "Nope!" kick messages to something more descriptive and less confusing for players.
2014-03-15 16:44:38 +11:00
md_5
f117731919
Optimize Player Lookup - #112
...
Optimize player lookup and various player operations. We mainly do this by keeping a map instead of iterating through all players. We also speed up the duplicate login check and a few other checks by simply checking for one matching player.
Thanks @aikar for some of the implementation
2014-03-15 14:34:26 +11:00
drXor
01e6512f06
Allow the potion effect caused by WitherSkulls to be cancelled along with damage cancellation (e.g. via events).
2014-03-15 14:14:01 +11:00
md_5
342630e7b4
Alter BungeeCord support to require BungeeCord when it is enabled.
2014-03-15 08:46:24 +11:00
Thinkofdeath
4adef05290
Re-add the Fix ConcurrentModificationException while being idle kicked in a vehicle patch
2014-03-12 21:26:40 +00:00
md_5
254df64f1b
Rebuild patch hashes, fix build.
2014-03-10 09:14:45 +11:00
md_5
71fce21cdd
Strengthen entity list guard patch back up to its original level. Whilst upstream fixes attempt to fix this, they aren't fully functional and can cause the server to crash. This way we can both identify bad plugins and stop all crashes.
2014-03-10 09:04:25 +11:00
md_5
6ed812be08
Pop guard entity list patch to top
2014-03-10 08:37:28 +11:00
md_5
3740e09267
Add more spigot links
2014-03-09 14:33:30 +11:00
Thinkofdeath
22e3ef2350
Prevent hoppers from loading chunks
2014-03-07 19:56:42 +00:00
FrozenBrain
4bd27f7d0f
Use one PermissibleBase for all Command Blocks.
...
This fixes issues with too many command blocks lagging or crashing the server, as well as just increases their performance in general.
2014-03-03 18:00:42 +11:00
Thinkofdeath
3b52578a51
Normalize spaces on when reading a chat packet
2014-02-26 14:47:01 +00:00
md_5
eb9e4c0460
Update "Don't special case x move value" patch to ensure that move events are always fired, regardless if there are any "special cases"
2014-02-24 18:04:12 +11:00
drXor
505ac3fb4e
Silent Lightning API
2014-02-23 20:37:28 +00:00
Zach Brown
4517f82aa8
Update SHA1 Info
2014-02-17 20:56:13 -06:00
Zach Brown
eed20ead01
Fix ClearTickList to return correct value
...
Previously it always returned false, this fixes it to return whatever value the user has it set to.
2014-02-17 20:55:42 -06:00
Dmck2b
88d8ca53cc
Return entity-tracking field other to intended usage.
2014-02-17 12:19:44 +00:00
hcherndon
ede7aeb8b4
Unfinalize the isDisconnected() method by bukkit.
2014-02-15 09:23:33 +00:00
md_5
a08d1e540d
Set lastTick to prevent first few ticks from being too quick
2014-02-13 17:34:01 +11:00
md_5
d44874ea0b
Make the TPS command accurate by averaging over the sample interval, not just the current tick.
2014-02-13 17:27:41 +11:00
Thinkofdeath
73fe3123f6
Re-add the replace-commands feature
2014-02-12 20:45:59 +00:00
Thinkofdeath
5284bd1a74
Upstream merge
2014-02-12 14:06:33 +00:00
md_5
5aad14d2b6
Cap Channel Registrations to 128 entries
2014-02-12 20:03:12 +11:00
md_5
7c5df6b5bb
Allow Disabling Creative Item Filter
2014-02-12 18:18:07 +11:00
Tux
95653d8b2d
Add support for fetching hidden players via Spigot object
2014-02-09 14:05:23 -05:00
Aikar
ee9d8c7590
Fire BlockPlaceEvent for Half Slab Completion
...
Fixes BUKKIT-5390
2014-02-09 19:02:00 +11:00
md_5
d504751f12
Add option to silence commandblock output to console: commands.silent-commandblock-console
2014-02-09 14:39:15 +11:00
Thinkofdeath
3c5f2712e6
Readd Spam Filter Exclusions patch
2014-02-08 08:15:21 +00:00
Thinkofdeath
18c8e057b2
Fix dispensing bone meal not having the correct data value
2014-02-06 22:01:07 +00:00
Thinkofdeath
7c1dbb44a5
Hopefully fix the AntiXray this time. Thanks to @geNAZt for helping
2014-02-05 21:40:15 +00:00
Thinkofdeath
9746d9bfc6
Revert "Fix the isLoaded check for AntiXray" Seems to causes issues still
...
This reverts commit fc52435f5b
.
2014-02-05 19:55:31 +00:00
Thinkofdeath
fc52435f5b
Fix the isLoaded check for AntiXray
2014-02-05 11:37:16 +00:00
md_5
170aa26ca3
You're never gonna win, are you. People want bugs as a result of increased performance fixed, but then they want more performance as a result of bugs fixed. This reverts orebfuscator back to being threaded, and thus more performant, but unsafe.
2014-02-04 17:24:18 +11:00
md_5
4e47d75136
Allow air as an orebfuscator block
2014-02-03 17:55:58 +11:00
Dmck2b
0dbe0ab691
Fix nerf-spawner-mobs
2014-02-02 17:03:20 +00:00
md_5
bff5ac5d37
Async chunk compression needs a little bit more work still, disable for now
2014-02-02 12:26:23 +11:00
md_5
77fbb062d9
Refactor chunk compression to use its own thread pool in order to eliminate disconnect race conditions caused by Mojang's nasty disconnect routines.
2014-02-02 09:41:27 +11:00
md_5
fd83772302
Cap Entity Collisions
...
Limit a single entity to colliding a max of configurable times per tick.
This will alleviate issues where living entities are hoarded in 1x1 pens.
2014-02-01 18:14:48 +11:00
Aikar
be31d62f43
Cap Entity Collisions
...
Limit a single entity to colliding a max of configurable times per tick.
This will alleviate issues where living entities are hoarded in 1x1 pens.
2014-02-01 18:13:02 +11:00
Smove
b4530237fb
Implement Locale Getter for Players
2014-02-01 18:12:22 +11:00
md_5
61a227c8c3
Add warning when null chunk buffers are encountered - most likely due to the orebfuscator plugin.
2014-02-01 18:07:22 +11:00
md_5
161e853450
In short, there isn't actually anything wrong with the async chunk compressor, it just accidentally caused console logging of errors which were previously ignored.
...
This commit restores that behaviour
You may be asking yourself why we are completely ignoring any errors which come this far down the pipeline.
The answer is quite simple:
Mojang did it
The default Mojang pipeline doesn't have any ChannelOutboundHandlerAdapter or similar instances, and thus nothing to handle exceptionCaught
So when a channel.write() or channel.flush() fails, the error message is actually just passed straight to the future provided.
It is then subsequently discarded, the channel closed, and no one except the user was any the wiser it actually happened!
Unfortunately for us, the default exceptionCaught in this class sends a blaring warning to the server admins indicating that it couldn't send a packet to a disconnected user!
We don't care about these warnings, if we did something wrong to disconnect the user, it is already logged in the proper location, as are broken sockets
tl;dr no need to blare warnings on each write to a broken socket
2014-02-01 17:53:32 +11:00
md_5
12358efad3
Use correct bitmask variable for orebfuscator
2014-02-01 10:44:25 +11:00
Thinkofdeath
31f53fbbbe
Upstream merge
2014-01-31 20:42:29 +00:00
md_5
8decebe96e
Don't allow respawning offline players
2014-01-31 18:15:33 +11:00
md_5
4864fd1c26
Sacrifice oreobfuscator performance for safety and reliability.
2014-01-31 16:07:28 +11:00
Thinkofdeath
42a026634b
Correctly set arrows' current block
2014-01-30 20:42:01 +00:00
md_5
564ebde3ad
Move exception logging to method body so we don't end up logging all outbound exceptions, which other plugins (cough ProtocolLib) may or may not be causing.
...
Also rumours this patch causes the server to break with ProtocolLib installed.
@aadnk
2014-01-30 16:02:25 +11:00
md_5
7bd5666ee2
Show full stack trace for errors during chunk caching/compression
2014-01-30 06:58:37 +11:00
md_5
a780739071
Use a crc32 of all the blocks in the chunk as our hash key. This is much more unique.
2014-01-29 12:51:20 +11:00
md-5
1bf13129a5
Merge pull request #108 from Dmck2b/PermGenLink
...
Add more information about changing PermGen size
2014-01-28 16:04:00 -08:00
md_5
911b500845
Fix unit tests
2014-01-29 09:08:29 +11:00
md_5
feacfb991d
[Experimental] - Enable compressed bulk chunk cache.
...
Sort chunks a final time before sending. This gives the advantage that chunks will load as close to the player as they possibly can, and then move out, as well as increase the cache hit rate when using smaller bulk chunk limits such as the default of 5.
2014-01-29 09:04:51 +11:00
md_5
23615e1c9f
Use simpler iterator
2014-01-29 08:47:29 +11:00
md_5
202b1fd11d
Implement a compressed chunk cache. This still needs a lot of work to figure out a good mechanism for looking up previous chunks, however at the moment when coupled with a high bulk chunk limit, it can be effective for solving lag issues.
2014-01-29 08:47:29 +11:00
md_5
cd7bb0da14
Only 1 class is compressible, don't bother interfacing.
2014-01-29 08:38:37 +11:00
md_5
638b1724d0
Only create a single executor / compressor instance.
2014-01-29 08:38:37 +11:00
md_5
e8933c1890
Allow Configuring Chunks per Packet. This enables server owners to cram more chunks per packet, potentially leading to higher compression ratios, thus saving bandwidth and load time.
...
This is currently set at the Vanilla default value of 5, however initial testing seems to suggest there could be good performance / usability / bandwidth gains by setting it to its maximum value of 32768. Testers are welcome to experiment with this option, beware the placebo though!
2014-01-29 08:38:37 +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
Dmck2b
73d3519fca
Add more information about changing PermGen size
2014-01-28 17:51:26 +00:00
md_5
6bf69c66f3
Merge tick shuffling branch into master.
2014-01-27 08:40:12 +11:00
md_5
d3f7cce233
Revert Spigot branding.
2014-01-26 21:54:02 +11:00
md_5
6eefe4e38e
Allow configuring of player sample size, and default the sample to 12, the same as Vanilla. This has some performance overhead, as we have to shuffle the list each time, but this is better than the server displaying as offline!
2014-01-26 21:50:53 +11:00
md_5
ab3c5a42f7
Revert "Experimentally brand as "Spigot". This will be reverted if *any* plugin compatibility issues arise."
...
This reverts commit 71255cf140
.
2014-01-26 21:33:46 +11:00
md_5
8e785b132f
Always use real player count for displayed online players.
2014-01-26 12:48:32 +11:00
md_5
aec53a59da
Initialise ping array on startup. The code to decide when to regenerate the array is a bit iffy (Mojang!), as it relies on System.nanoTime() which is not an absolute time source.
2014-01-26 12:30:38 +11:00
md_5
fa94a8a99a
Adjust TPS command to start at 20tps, show * for catchup TPS, and round to 2 decimal places.
2014-01-26 12:17:55 +11:00
md_5
8832052c84
Fix Ping Player Sample to bring it back in line with Vanilla behaviour. The behaviour which Bukkit introduced recently is broken on larger servers as it introduces too many players to the list.
2014-01-26 12:14:05 +11:00
md_5
14c0d5cba9
We want to use Math.min, not max to cap displayed TPS to 20
2014-01-26 11:04:55 +11:00
md_5
71255cf140
Experimentally brand as "Spigot". This will be reverted if *any* plugin compatibility issues arise.
2014-01-26 09:17:40 +11:00
md_5
3d6f241c12
Fix double comparison issues.
2014-01-25 16:18:32 +11:00
md_5
53f2f7499c
Don't allow plugins to create scoreboards async - this can crash the server.
2014-01-25 15:23:21 +11:00
brutuscat2
2f9b4a8573
TPS isn't capitalized
...
It makes me want to hurt someone when its written like "Tps"
2014-01-24 22:36:32 -05:00
md_5
a50a1d4c83
Implement a new TPS command which will show the average TPS over the last 1,5 and 15 minutes, using the same algorithm as the linux kernel (exponentiallialy damped moving average).
2014-01-25 14:09:21 +11:00
md_5
49f9f20d1c
Add Spigot links.
2014-01-23 13:17:47 +11:00
md_5
526b404545
Move watchdog and timings code to tick method, not tick loop itself.
2014-01-22 19:23:59 +11:00
md_5
29c6c774dd
Pop tick loop patch to top
2014-01-22 19:19:39 +11:00
md_5
2367cf0a3d
Reapply tick loop patch.
2014-01-22 19:16:21 +11:00
Dmck2b
279df65068
Fix missing colons
2014-01-21 21:34:03 +00:00
md_5
80c8e1ac31
Don't disconnect player when we have no vanilla tab completions.
2014-01-21 15:32:54 +11:00
Thinkofdeath
d8ad596ece
Don't let trees replace any block when growing
2014-01-20 20:44:11 +00:00
Dmck2b
77d030879a
Allow disabling of ZombiePigmen spawning in portals
2014-01-20 20:20:14 +00:00
md_5
8f2da2ca93
Check j, not i
2014-01-20 15:42:52 +11:00
md_5
74f78b8b88
Reduce memory of hiddenPlayers map.
2014-01-20 13:50:37 +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
mikeprimm
12b6f06e81
Merge pull request #95 from SpigotMC/optimize-nextticklist
...
Port Optimize NextTickList processing patch for 1.7.x
2014-01-18 18:18:31 -08:00
Mike Primm
f0c97f24b8
Port Optimize NextTickList processing patch for 1.7.x
2014-01-18 13:57:03 -06:00
Thinkofdeath
027e514ebf
Update chat link fix to use Bukkit's current system instead of the old one
2014-01-18 19:36:47 +00:00
Thinkofdeath
c746557f95
Support vanilla's direction tag on fireballs
2014-01-18 14:30:50 +00:00
Thinkofdeath
0fbde2862d
Add /tellraw to the vanilla commands defaults
2014-01-18 13:21:13 +00:00
md_5
49ae0093db
Add getRawAddress back
2014-01-17 09:46:59 +11:00
Thinkofdeath
90779a43f9
Block data values that crash the client
2014-01-15 22:13:08 +00:00
md_5
65a4f51285
Upstream merge
2014-01-15 20:28:26 +11:00
Thinkofdeath
fc5cf5a518
Move replace-commands to commands.replace-commands
2014-01-15 09:20:19 +00:00
Thinkofdeath
21656db5d1
Fix ConcurrentModificationException while being idle kicked in a vehicle
2014-01-14 20:14:36 +00:00
md_5
af480b8b95
Revert previous change to clear chunk list on the end of each tick, make it configurable instead.
...
Whilst the new behaviour was technically correct as it prevented the possibility of the chunk tick list actually increasing over time, it introduced a few issues, namely the fact that it slowed growth to unreasonable levels, and interfered with the values which server admins have finally tuned, and come to enjoy over the last few years.
If it is absolutely essential that growth be halted and ticking reduced as much as possible, the config option is there for power users.
If we wish to 'fix' this by default in the future, a new chunk ticking algorithm, which actually has meaningful config options should be designed.
2014-01-14 19:16:43 +11:00
md_5
0add6ac4af
Tweak tab complete disabled to only disable completion of the /command section, and not any subsequent arguments to the command, such as player names or plugin provided completions.
2014-01-13 08:57:22 +11:00
md_5
83c105ef02
Remove accidentally added code
2014-01-13 08:28:17 +11:00
md_5
58dc769bb5
Replace AutoSave Mechanism
...
The problem here is that MinecraftServer.save(..), will attempt to sleep whilst all pending chunks are written to disk, however due to various and complicated bugs, it will wait for an incorrect amount of chunks, which may cause it to sleep for an overly long amount of time. Instead we will mimic the save-all command in its behaviour, which is both safe and performant.
2014-01-12 21:07:27 +11:00
md_5
8bfd4a8ccb
Add more code to try and Debug [Mojang] Crash Reports Crashing
2014-01-12 20:56:59 +11:00
md_5
acd5d21a06
Take 2 at fixing unbreakable code
2014-01-10 15:39:36 +11:00
md_5
1220314f79
Fix ItemStack Unbreakable Code.
...
This code needs brackets to be compiled correctly.
2014-01-10 15:17:23 +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
1e8cb6d468
Update Client's Hand when BlockPlaceEvent Cancelled
...
Send a Packet103SetSlot to client when a BlockPlaceEvent is cancelled.
Fixes BUKKIT-5284
Currently, whenever a player places a block in a protected area the
equipped itemstack size on client is never updated properly since the
client thinks the block was placed. The reason this happens is because
ItemStack.matches returns true since the server does not decrement stack
size if a BlockPlaceEvent is cancelled. This causes
PlayerConnection.a(handlePlace) not to send the appropriate packet to
client which causes the bug.
2014-01-08 14:45:45 +11:00
md_5
92db88d292
Update Chest Animation when Cancelling Event
...
Update chest animation after cancelling InventoryOpenEvent. Fixes BUKKIT-1440
Currently if a plugin cancels an InventoryOpenEvent for vanilla chests,
the chest animation for clients is stuck in the open state since
IInventory's closeChest method is never called. To fix the issue, closeChest
is called before exiting the display GUI method.
More info can be found here
https://bukkit.atlassian.net/browse/BUKKIT-1440
2014-01-08 14:44:50 +11:00
md_5
7e43d71c76
Clear chunkTickList at the end of every tick.
2014-01-08 14:38:38 +11:00
md_5
6c0c101bff
Fix orebfuscator startup message showing hide blocks instead of replace blocks
2014-01-06 11:38:59 +11:00
md_5
cd0c975a6d
Fix Biome Decoration Crashes
...
We don't really know what affect this will have on the terrain generation, but its better than crashing and not having terrain generate at all!
2014-01-05 09:35:15 +11:00
Thinkofdeath
885ae9871e
Disconnect for spam in the main thread
2014-01-03 17:33:41 +00:00
Thinkofdeath
9f71f7e3db
Handle different sizes (G,K) for the PermGen warning
2013-12-28 23:54:44 +00:00
md_5
12a1363cea
Revert "Use Entity.teleportTo in CraftEntity.teleport"
...
This reverts commit adaf7c3ae8
.
2013-12-24 14:52:45 +11:00
slide23
4fd3ddc33e
Add Late Bind Option
...
Add late-bind config option to delay binding until loading is done.
2013-12-24 10:22:53 +11:00
Andrew Krieger
adaf7c3ae8
Use Entity.teleportTo in CraftEntity.teleport
...
Entity.teleportTo is largely stable and correct. CraftEntity.teleport,
however, still cannot properly handle cross-world teleportation. Fix it
to defer to the better code in core Minecraft.
2013-12-24 10:18:01 +11:00
md_5
d072f55caa
Revert the revert for now.
2013-12-23 21:03:39 +11:00
md_5
624acbd0c8
Increase verbosity of watchdog dumps
2013-12-23 21:01:45 +11:00
md_5
cad440b56a
Revert check pending blocks patch as it (may) be causing some crash issues
2013-12-23 20:19:37 +11:00
md_5
f7086eb96d
Disable connected check on setScoreboard. Mojang's semi async Netty implementation can lead to race conditions, and this exception being thrown when it really shouldn't.
2013-12-23 15:58:41 +11:00
md_5
45bbe59c15
Fix missing bitshifts
2013-12-23 15:43:33 +11:00
md_5
16467dc148
Warn if PermGen may be insufficient. Since 1.7 Mojang added a lot of new classes to their jar. This, coupled with plugins, may cause the loaded classes to exceed the default perm gem of 64mb. As such we will print a small warning advising users to set a higher PermGen if they haven't already.
2013-12-23 14:08:28 +11:00
Dan Mulloy
9272a671f7
Fix Biome Decoration Crashes
2013-12-23 11:18:44 +11:00
md_5
b32968b9a0
Add option to nerfs mobs from spawners. When this option is enabled, mobs which originate from a mob spawner will not have any AI, ie: brains. They will generally only be affected by water movement, with the exception of blazes which will still emit fireballs and float up and down.
...
This is disabled by default as it has a strong behavioural impact.
2013-12-22 21:02:55 +11:00
md_5
7b87ab6548
Add the getCubes patch back. Turns out the user with lockups had 23k+ entities in a single chunk.
2013-12-22 10:41:48 +11:00
md_5
6a98142bd5
Fix patch tree.
2013-12-22 10:06:06 +11:00
md_5
31c9311b07
Redo previous getCubes removal.
2013-12-22 10:05:27 +11:00
md_5
7890d0a442
Fix patches some more.
2013-12-22 10:04:44 +11:00
md_5
b47555dc7a
Revert "Remove getCubes patch as under some circumstances it can loop around itself forever. For anyone wishing to reimplement this patch, the rationale behind it is quite simple, get all cubes within each chunk at the same time."
...
This reverts commit 06233ce472
.
2013-12-22 10:03:57 +11:00
DerFlash
78bc1384a7
Save ticks lived to nbttag
2013-12-22 10:00:13 +11:00
md_5
06233ce472
Remove getCubes patch as under some circumstances it can loop around itself forever. For anyone wishing to reimplement this patch, the rationale behind it is quite simple, get all cubes within each chunk at the same time.
2013-12-22 09:59:17 +11:00
md_5
2549f4c043
Force Load Chunks for Biome Decoration. May solve some random.nextInt() crashes people have been seeing.
2013-12-21 20:08:42 +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
Thinkofdeath
ed2fd14801
Re-add the particle API
2013-12-20 21:37:22 +00:00
md_5
a1c8965df5
Stage BiomeDecorator so we can get line numbers to match for stack traces.
2013-12-19 17:45:12 +11:00
Thinkofdeath
ee8495a246
Allow the console to use vanilla commands
2013-12-18 11:40:35 +00:00
md_5
8278880f0f
Fall back to our own URL clicking method as it works with more cases.
2013-12-18 20:41:42 +11:00
md_5
e9cb6ec3c5
Upstream merge
2013-12-18 17:48:18 +11:00
md_5
fe00a77ac8
Invert command complete check
2013-12-18 17:24:24 +11:00
md_5
4978db4332
Log Cause of Unexpected Exceptions
2013-12-18 13:39:28 +11:00
md_5
61400aa00c
Fire PreLogin Events in Offline Mode
2013-12-18 13:32:30 +11:00
Thinkofdeath
eafbb2a4c1
Add VanillaCommandWrapper which allows use of vanilla commands instead of Bukkit's versions
2013-12-18 10:33:58 +11:00
frymaster
bd5e1fbba9
Remove references to chunklist
...
Commit c576054539790bdeb35285f62863d74b48c0782d removed the chunklist collection stored in ChunkProviderServer, however it has been partially restored in some places by 7e1ac0a77129b169704c1e222ff2deb3ab6cd2d2. As not all references to this were restored, this has caused the chunklist and chunks collections to become out of sync, resulting in a memory leak.
2013-12-18 09:30:21 +11:00
md_5
8ebb465bf0
Revert processed disconnect change - the flag is not set as reliably as it was in previous server versions.
2013-12-18 08:44:28 +11:00
md_5
db08e84804
Use the processedDisconnect flag for disconnects. This means that we will only say the player has disconnected once the server tick look has processed them as such. Fixes some issues with players quitting during join.
2013-12-17 18:25:05 +11:00
md_5
154239b0fb
Allow Bungee to pass through UUIDs. This will be added to bungee in a few days, so people get a chance to update Spigot first.
2013-12-16 22:39:18 +11:00
md_5
de92a23d18
Delay creation of serverconnection until needed so that our settings can take effect.
2013-12-16 11:47:23 +11:00
md_5
37eb6b4024
Don't box / rebox on object addition
2013-12-14 19:50:33 +11:00
md_5
0e03c0defe
Add an attempt at backwards compatability for (broken) NMS plugins. Also set negative no entry values as these cannot occur.
...
cc @aadnk
2013-12-14 19:48:13 +11:00
md_5
7899e58d02
Merge in some stuff
2013-12-14 17:58:22 +11:00
md_5
20b8330a25
Prevent Mineshaft Structure Saving.
...
There is very little reason to keep track of Mineshafts as the only persistent behaviour within them is through the use of mob spawners, which are of course stored within the map itself. As such we can disable them from being saved, indefinitely, until there is reason to do so.
2013-12-13 15:22:51 +11:00
md_5
8a2de3a655
Configurable Amount of Netty Threads, defaulting to 4
...
This brings back the option that the Spigot version of netty saw. By default Netty will try and use cores*2 threads, however if running multiple servers on the same machine, this can be too many threads. Additionally some people have 16 core servers. If 32 Netty threads are allowed in this setup, then the lock contention, and thus blocking between threads becomes much greater, leading to decreased performance.
2013-12-13 11:59:09 +11:00
md_5
994b960bb7
*aggression
2013-12-13 11:54:00 +11:00
md_5
da809d3cf0
Allow Disabling Zombie Villager Agression.
...
Useful for larger servers who want a nice performance boost at the expense of a little bit of gameplay mechanic changes. I believe this brings the mechanics of zombie vs villager back in line with 1.5.
2013-12-13 11:48:56 +11:00
md_5
ce85ede2bb
Optimize DataWatcher
...
Use primitive orientated collections, as well as more effective copies across collections.
2013-12-13 11:45:53 +11:00
md_5
704728d670
Split out the configuration of engine modes 1 and 2 to eliminate the block lag seen when mining stone or wood and using engine mode 1.
...
Now we maintain a new list of blocks to replace with ores in engine mode 2, to ensure that we only update when players mine blocks that are potentially not an ore. We could perhaps even elimate this slight lag from mode 2 by reducing the need for calling update(x,y,z)
2013-12-13 11:28:47 +11:00
md_5
269a2f7635
Pop anti xray patch to top
2013-12-13 11:10:33 +11:00
Thinkofdeath
5b756ab152
Fix new lines break URL matching
2013-12-11 18:09:41 +00:00
Thinkofdeath
dedbed0faf
Fix Orebfuscator
2013-12-11 09:37:27 +00:00
md_5
3860a7b228
Bring bungee support back in line with what the protocol update had
2013-12-11 11:25:32 +11:00
md_5
5c14b02d79
Upstream merge
2013-12-10 09:36:28 +11:00
Thinkofdeath
206ba33be5
Fix the "Faster UUID for entities" patch ( Fixes #81 )
2013-12-09 16:19:26 +00:00
TheUnnamedDude
653ca13f16
Fix TNT crashing servers when breaking item frames
2013-12-09 11:37:51 +00:00
Thinkofdeath
8374c041ac
Fix a possible error with links
2013-12-09 10:38:44 +00:00
md_5
74c808df0f
Upstream merge
2013-12-09 18:01:02 +11:00
md_5
75344a14e9
Remove OS X Special Chars from Signs
2013-12-08 16:52:54 +11:00
md_5
b51765cc5d
Fix crash caused by tnt destroying item frames
2013-12-06 20:32:13 +11:00
md_5
d8487572a0
Fix Jungle Tree Generation
2013-12-06 17:17:16 +11:00
md_5
50e8a5a766
Fix Jungle Tree Generation
2013-12-06 17:16:56 +11:00
ItsHarry
897d6a7ea5
Allow Teleportation of Vehicles and Passengers
2013-12-05 21:59:53 +01:00
md_5
83a93937f7
Fire EntityDamageByEntityEvent for ItemFrames. This allows them to be protected more effectively.
2013-12-05 18:41:50 +11:00
md_5
6ec37d4fe9
Dont let commands run async
2013-12-05 16:57:01 +11:00
md_5
a98a7ce919
Duplicate Disconnect Prevention. In 1.7 mojang removed the this.disconnected flag. We add it back to prevent users from forcibly disconnecting themselves in a short amount of time.
2013-12-05 16:33:50 +11:00
md_5
1e4407fd04
Fix broken async chat. Since Mojang introduced netty, but removed async packet handling, there are now only a few threads available to consume packets. Unfortunately we now have to maintain async chat support. In order to allow Async events to not kill these precious few threads, we do what we did in our Netty implementation, and offload these to their own, decoupled thread pool.
2013-12-05 13:57:12 +11:00
Thinkofdeath
0e1ef989f9
Fix color codes breaking urls
2013-12-04 14:41:40 +00:00
md_5
e770480d4b
Fix shade fix accidentally being unmerged
2013-12-04 19:57:08 +11:00
md_5
a01054711d
Take random light updates option into account before relighting a chunk on its first tick.
2013-12-03 15:51:04 +11:00
md_5
acf410d391
Address some chunk gen speed issues - see below for current reasoning.
...
As of 1.7, Mojang added a check to make sure that only chunks which have been lit are sent to the client. Unfortunately this interferes with our modified chunk ticking algorithm, which will only tick chunks distant from the player on a very infrequent basis. We cannot unfortunately do this lighting stage during chunk gen as it appears to put a lot more noticeable load on the server, than when it is done at play time. For now at least we will simply send all chunks, in accordance with pre 1.7 behaviour.
2013-12-03 15:43:02 +11:00
md_5
538ddc9cc4
Upstream merge
2013-12-03 15:13:39 +11:00
md_5
3190acce29
Fix Huge Mushroom Caps
2013-12-03 11:28:39 +11:00
md_5
dcb5fc4b1a
[Bukkit Bug] Clear flower pots on drop so that they are not dropped twice.
2013-12-03 11:10:10 +11:00
Thinkofdeath
651dc5f9c4
Fix some chunks not being sent to the client
2013-12-02 23:44:13 +00:00
md_5
9306e0ec10
Remove spurious patch going into final repo
2013-12-03 10:19:35 +11:00
md_5
c8145fb896
Actually fix division by 0 in growth
2013-12-03 09:05:49 +11:00