Commit Graph

1038 Commits

Author SHA1 Message Date
Thinkofdeath 57ffba423f Remove the "Allow skull owners to be removed" patch as it was fixed upstream 2014-05-04 12:38:30 +01:00
md_5 38e8d2b53c Upstream merge: possibly fix some head related bugs. 2014-05-04 10:22:14 +10:00
Thinkofdeath e24ab2a11f Upstream merge: Fix ender crystal stack overflow 2014-05-03 23:29:47 +01:00
Jonas Konrad dda042aca8 Fix race condition that could kill connections before they
were initiated
2014-05-02 20:11:54 +10:00
Thinkofdeath 5d4ed8047a Upstream merge: Chicken jockey despawning and generation fixes 2014-04-30 15:13:37 +01:00
Thinkofdeath 06bfcd26fb Allow skull owners to be removed 2014-04-30 12:51:07 +01:00
Thinkofdeath b30f0b69c6 Remove a file that snuck in to the last commmit 2014-04-29 09:30:17 +01:00
Thinkofdeath e161d2f0cb Disable Watchdog when restarting 2014-04-29 09:24:36 +01:00
md_5 7af31d2942 Revert "Merge pull request #155 from yawkat/killed-connections-fix"
This reverts commit ce42d88219, reversing
changes made to c3eeab45cd.
2014-04-27 10:52:18 +10:00
Jonas Konrad f48f848b81 Fix race condition that could kill connections before they
were initiated
2014-04-25 23:49:04 +02:00
Thinkofdeath c3eeab45cd Fix hoppers replacing the items with the left overs from removing instead taking the items off the stack 2014-04-24 20:49:29 +01:00
Thinkofdeath 3139af91dc Fix broken hopper logic when moving more than one item in a stack 2014-04-24 20:07:39 +01:00
md_5 74c275f71c Upstream merge 2014-04-24 16:33:42 +10:00
Thinkofdeath 7cae4cb66f Actually remove the old patches 2014-04-23 12:48:39 +01:00
Thinkofdeath 3c59415aa1 Remove NBTTagCompound and related patches 2014-04-23 12:44:02 +01:00
Thinkofdeath 908927b6ef Silence skull related console spam 2014-04-23 10:40:32 +01:00
David 1b91579091 Remove a line that would otherwise just be reiterating a set int 2014-04-23 02:04:25 +01:00
David 86941d3883 Prevent anvils from eating the spare items in the second slot 2014-04-23 01:05:25 +01:00
David b28f1ead6d Prevent the console from locing up, due to too many messages flooding it, but only notifing of issue of the server crashes 2014-04-21 12:56:06 +01:00
David 755ba081f2 Swallow StackOverflowError when updating physics.
Prevents an otherwise unneeded crash.
2014-04-21 17:02:17 +10:00
Thinkofdeath 9624ae9d3d Convert player skulls async 2014-04-20 14:07:59 +01:00
md_5 ca27a33e84 Don't special case 'invalid' usernames for UUIDs.
This renders any automatically generated username to have the same UUID, thus make pseudo players somewhat limited. When using such names for scoreboards etc you should be using our enhanced String based scoreboard API anyway.
Thanks @ElgarL for pointing this out.
2014-04-20 18:59:04 +10:00
md_5 28eddfcc38 Log null TileEntity Owner.
Should prevent a crash and provide some info on the location.
2014-04-20 11:17:14 +10:00
md_5 421be6f37e Add items per tick to the hopper configurations 2014-04-19 09:22:44 +10:00
md_5 50a70a29e4 More upstream merge 2014-04-19 09:15:37 +10:00
Thinkofdeath 0908362738 Treat color codes as an end of a url 2014-04-18 19:27:20 +00:00
Thinkofdeath a118e4c40d Upstream merge 2014-04-18 17:08:19 +00:00
Thinkofdeath 4342681445 Upstream merge: 1.7.9 2014-04-17 20:50:10 +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 7c5eaf30f1 Add Score.isScoreSet()Z API.
Also fix generics on CraftScore.getScore()I.
2014-04-17 19:36:09 +10:00
md_5 b2c227e89c Expand team API to allow arbitrary strings. 2014-04-17 19:22:33 +10:00
md_5 05b9fd72af Fix BanList command and other *list functionality 2014-04-17 19:03:18 +10:00
Aikar 1d37fe9bbe Convert Horses owner to UUID 2014-04-16 16:14:26 +10:00
md_5 39a3d7dde1 Correct Ban Expiration 2014-04-16 11:14:49 +10:00
md_5 2c68786295 Fix ban expire dates. 2014-04-16 10:10:38 +10:00
md_5 90246b4c94 Print stack only when debug is enabled 2014-04-16 10:00:53 +10:00
md_5 4da2a9b07a Validate CraftSkull getOwner - prevents it from being called when hasOwner is false. 2014-04-16 09:47:03 +10:00
md_5 05a8645290 Allow non hidden update lock 2014-04-15 19:28:39 +10:00
mrapple 9360048150 Fix EditBook Event 2014-04-15 12:17:49 +10:00
md_5 10a61a9d08 Remove whitelist fix patch, pulled upstream & also slightly incorrect, userCache.a() does not perform a full lookup. 2014-04-15 12:03:38 +10:00
md_5 f2d99a6bf3 Check Skull canPlace - ensures skulls are only placed where they are supposed to. 2014-04-15 10:48:55 +10: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 64eb4b8327 Fix despawn rate to be >= 2014-04-15 09:37:11 +10:00
Thinkofdeath 7313a6b822 Fix arrows and fireworks not having their despawn counters ticked when inactive 2014-04-14 17:22:45 +01:00
md_5 72d5f50bb7 Check for Blank OfflinePlayer Names - the internal representation does not allow them, so lets catch it early when the issue lies with the user. 2014-04-14 17:22:57 +10:00
md_5 3e2a7bb17c Add note about BungeeCord 2014-04-14 14:55:06 +10:00
md_5 282ba1fdc7 Upstream merge 2014-04-14 14:35:29 +10:00
Fabian Fassbender eff9004f15 Add skin forwarding support for BungeeCord. 2014-04-14 11:41:45 +10:00
Devin Ryan 5483861924 Prevent crash from a ConversationTracker exception. Fixes BUKKIT-5436 2014-04-14 11:34:57 +10:00
md_5 0410a40c1f Add obfuscation helper patch to assist update process. 2014-04-14 10:42:54 +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
gjmcferrin@gmail.com c9c88ab4c8 Properly cancel fishing event. Fixes BUKKIT-5396
Previously, when cancelling a PlayerFishEvent with State.FISHING, the next
fishing attempt would automatically result in a new PlayerFishEvent with
State.FAILED_ATTEMPT because the player's hooked entity was not properly
cleared. This ensures that the player's hooked entity value is set to null so
that the next attempt will result in the proper state being called.
2014-04-13 20:13:56 +10:00
myiume c6140eafcc Fix PlayerFishEvent not properly cancelling. Fixes
BUKKIT-5245,BUKKIT-5396

PlayerFishEvent event states are not properly being cancelled,
the FishingHookEntity being deleted when the event is cancelled,
thus making the event happen. The event states of CAUGHT_ENTITY,
CAUGHT_FISH, FAILED_ATTEMPT, IN_GROUND must keep the
EntityFishingHook alive in order to cancel the event.
Removed the entity despawn lines when event is cancelled
and added a cancelled action for FAILED_ATTEMPT state.
2014-04-13 20:13:13 +10:00
md_5 84643687e6 Fix more missed diff - IPs not showing in console 2014-04-13 16:35:17 +10:00
md_5 1384382aeb Use Correct firstPlayed Value. 2014-04-13 14:46:03 +10:00
md_5 eba34fbe49 Use Offline Player Data Once if Required.
If we are online mode and the only copy of player data we can find is the player's offline mode data, we will attempt a once off conversion by reading this data and then renaming the file so it won't be used again.
2014-04-13 14:41:33 +10:00
md_5 73eca94c45 Print Stack on InternalException - for debugging some ConcurrentMod issues. 2014-04-13 09:01:16 +10:00
Thinkofdeath d30c334bd3 Fix patch numbers
Changes nothing but it was bugging me
2014-04-12 16:00:16 +01:00
md_5 e5012f8abf Let the user know we are trying to convert. Gotta figure out whats up with Mojang's API. 2014-04-12 23:31:14 +10:00
md_5 8bb505c271 Add huge update warning. This server will not start until the user types Y E S into the console. 2014-04-12 21:37:38 +10:00
md_5 247236b793 Treat Bungee as Online Mode. This is very important for people, IP forwarding MUST be enabled. 2014-04-12 21:24:25 +10:00
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