PaperMC/Spigot-API-Patches
Minecrell 99efa104db Call PaperServerListPingEvent for legacy pings (#1057)
* Make the legacy ping handler more reliable

The Minecraft server often fails to respond to old ("legacy") pings
from old Minecraft versions using the protocol used before the switch
to Netty in Minecraft 1.7.

Due to packet fragmentation[1], we might not have all needed bytes
available when the LegacyPingHandler is called. In this case, it will
run into an error, remove the handler and continue using the modern
protocol.

This is unlikely to happen for the first two revisions of the legacy
ping protocol (used in Minecraft 1.5.x and older) since the request
consists of only one or two bytes, but happens frequently for the
last/third revision introduced in Minecraft 1.6.

It has much larger, variable packet sizes due to the inclusion of
the virtual host (the hostname/port used to connect to the server).

The solution[2] is simple: If we find more than two matching bytes,
we buffer the remaining bytes until we have enough to fully read and
respond to the request.

[1]: https://netty.io/wiki/user-guide-for-4.x.html#wiki-h3-11
[2]: https://netty.io/wiki/user-guide-for-4.x.html#wiki-h4-13

* Add legacy ping support to PaperServerListPingEvent

Add a new method to StatusClient check if the client is a legacy
client that does not support all of the features provided in the
event.
2018-03-30 19:00:01 +02:00
..
Ability-to-apply-mending-to-XP-API.patch Ability to apply mending to XP API 2017-12-20 17:50:26 -05:00
Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch Ability to change PlayerProfile in AsyncPreLoginEvent 2018-03-18 11:46:14 -04:00
Access-items-by-EquipmentSlot.patch Access items by EquipmentSlot 2016-03-26 22:23:42 -07:00
Add-a-call-helper-to-Event.patch Add event call helper 2016-03-18 00:24:00 -04:00
Add-API-methods-to-control-if-armour-stands-can-move.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Add-ArmorStand-Item-Meta.patch Add ArmorStand Item Meta 2018-01-27 20:40:42 -05:00
Add-async-chunk-load-API.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:07:40 +00:00
Add-BaseComponent-sendMessage-methods-to-CommandSend.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Add-BeaconEffectEvent.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Add-command-to-reload-permissions.yml-and-require-co.patch Update B/CB/S 2017-11-10 17:31:39 -05:00
Add-configuration-option-to-prevent-player-names-fro.patch Properly fix JavaDoc linting issues 2017-06-10 17:11:10 -05:00
Add-EntityZapEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Add-exception-reporting-event.patch Update B/CB/S 2017-11-08 16:13:57 +00:00
Add-extended-PaperServerListPingEvent.patch Add extended PaperServerListPingEvent (#980) 2018-03-23 04:19:59 +01:00
Add-getI18NDisplayName-API.patch Add getI18NDisplayName API 2017-07-26 23:44:09 -04:00
Add-getTPS-method.patch Update API patches to MC 1.12pre2 2017-05-14 08:46:44 -05:00
Add-handshake-event-to-allow-plugins-to-handle-clien.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Add-legacy-ping-support-to-PaperServerListPingEvent.patch Call PaperServerListPingEvent for legacy pings (#1057) 2018-03-30 19:00:01 +02:00
Add-MetadataStoreBase.removeAll-Plugin.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:07:40 +00:00
Add-methods-for-working-with-arrows-stuck-in-living-.patch Update to 1.12.1 2017-08-03 16:36:06 +02:00
Add-player-view-distance-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Add-PlayerArmorChangeEvent.patch Add PlayerArmorChangeEvent 2017-11-10 23:46:55 -05:00
Add-PlayerInitialSpawnEvent.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Add-PlayerJumpEvent.patch Update documentation around PlayerJumpEvent 2017-09-29 14:58:24 -04:00
Add-PlayerLocaleChangeEvent.patch Update upstream B/CB/S 2017-05-27 23:25:17 -05:00
Add-PlayerUseUnknownEntityEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Add-ProjectileCollideEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Add-sender-name-to-commands.yml-replacement.patch Update B/CB/S 2017-11-08 16:13:57 +00:00
Add-SkullMeta.setPlayerProfile-API.patch Add SkullMeta.setPlayerProfile API 2018-01-19 00:38:49 -05:00
Add-source-to-PlayerExpChangeEvent.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:07:40 +00:00
Add-String-based-Action-Bar-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
add-Trove-and-FastUtil-to-Bukkit.patch Fix NPE when getting location from players EnderChest (fixes #1041) 2018-03-10 13:07:40 +00:00
Add-UnknownCommandEvent.patch Fix javadoc warnings 2017-07-03 16:38:49 +01:00
Add-workaround-for-plugins-modifying-the-parent-of-t.patch [CI-SKIP] Add Minecrell to MIT list (#1035) 2018-03-08 16:08:21 +01:00
Add-World-createExplosion-Location-float-boolean-boo.patch Add World#createExplosion(Location, float, boolean, boolean) API 2017-12-19 16:25:38 -05:00
Allow-Changing-of-Player-Sample-in-ServerListPingEve.patch Deprecate player sample list that includes only the player name 2017-10-12 15:50:17 +02:00
Allow-plugins-to-use-SLF4J-for-logging.patch [CI-SKIP] Add Minecrell to MIT list (#1035) 2018-03-08 16:08:21 +01:00
Allow-Reloading-of-Command-Aliases.patch Update B/CB/S 2017-11-10 17:31:39 -05:00
API-to-get-a-BlockState-without-a-snapshot.patch Fix javadocs 2017-11-25 17:53:42 +00:00
Arrow-pickup-rule-API.patch Update upstream B/CB/S 2017-05-15 11:25:20 -05:00
AsyncTabCompleteEvent.patch Always copy completions for #setCompletions in Tab Complete Events 2017-12-20 01:09:54 -05:00
Automatically-disable-plugins-that-fail-to-load.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Basic-PlayerProfile-API.patch Add Setters for ID/Name and add completeByCache for Profile API 2018-03-25 21:50:46 -04:00
Check-Paper-versions.patch Update upstream CB, reduce version cache time 2017-02-07 16:29:26 -06:00
Complete-resource-pack-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Custom-replacement-for-eaten-items.patch Properly fix JavaDoc linting issues 2017-06-10 17:11:10 -05:00
Display-warning-on-deprecated-recipe-API.patch Display warning on deprecated recipe API 2017-12-09 12:42:11 -05:00
ensureServerConversions-API.patch Implement ensureServerConversions API 2017-07-26 23:40:49 -04:00
Entity-AddTo-RemoveFrom-World-Events.patch Update Entity AddTo|RemoveFrom World events to be EntityEvents 2016-06-24 00:16:46 -04:00
Entity-fromMobSpawner.patch Update B/CB/S 2017-11-08 16:13:57 +00:00
Entity-Origin-API.patch Update B/CB/S 2017-11-08 16:13:57 +00:00
EntityPathfindEvent.patch EntityPathfindEvent 2016-03-28 21:24:45 -04:00
EntityRegainHealthEvent-isFastRegen-API.patch Fix javadoc warnings 2017-07-03 16:38:49 +01:00
ExperienceOrbMergeEvent.patch ExperienceOrbMergeEvent 2017-12-19 22:57:46 -05:00
ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch ExperienceOrbs API for Reason/Source/Triggering player 2017-12-19 16:46:27 -05:00
Expose-client-protocol-version-and-virtual-host.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Expose-server-CommandMap.patch Update upstream B/CB/S 2017-05-15 11:25:20 -05:00
Expose-WorldBorder-isInBounds-Location-check.patch Update upstream B/CB/S 2017-01-25 22:27:42 -06:00
Fill-Profile-Property-Events.patch Properly flag profile events as async as needed 2018-02-01 23:24:27 -05:00
Fireworks-API-s.patch Update upstream B/CB 2017-01-06 15:45:59 -06:00
Fix-ServerListPingEvent-flagging-as-Async.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Fix-upstream-javadoc-warnings-and-errors.patch Update B/CB 2018-02-08 10:07:27 +00:00
getPlayerUniqueId-API.patch getPlayerUniqueId API 2018-03-22 01:41:44 -04:00
Graduate-bungeecord-chat-API-from-spigot-subclasses.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Handle-plugin-prefixes-in-implementation-logging-con.patch [CI-SKIP] Add Minecrell to MIT list (#1035) 2018-03-08 16:08:21 +01:00
IllegalPacketEvent.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Implement-deprecated-player-sample-API.patch Improve backward compatibility of deprecated player sample API (#1065) 2018-03-26 23:45:18 +02:00
Improve-the-Saddle-API-for-Horses.patch Update B/CB 2018-02-08 10:07:27 +00:00
Item-canEntityPickup.patch Renumber patches, fix conflicts, update for 1.12 2017-06-11 20:02:57 -05:00
LivingEntity-setKiller.patch LivingEntity#setKiller 2017-08-24 15:18:41 -04:00
LootTable-API.patch Update B/CB/S 2017-08-05 23:36:47 +01:00
Made-EntityDismountEvent-Cancellable.patch Paper 1.9 2016-02-29 17:09:49 -06:00
Make-plugins-list-alphabetical.patch Update B/CB/S 2017-11-10 17:31:39 -05:00
Misc-Utils.patch Remove Ignore invalid Marker Icon ID's in maps 2017-04-22 15:32:06 +01:00
Optimize-Hoppers.patch Optimize Hoppers 2018-01-18 01:00:51 -05:00
Player-affects-spawning-API.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Player-Tab-List-and-Title-APIs.patch Update B/CB/S 2017-12-05 01:34:10 +00:00
Player.setPlayerProfile-API.patch Update javadoc on setPlayerProfile 2018-03-18 13:28:01 -04:00
PlayerAdvancementCriterionGrantEvent.patch PlayerAdvancementCriterionGrantEvent (#978) 2018-01-21 12:23:34 -06:00
PlayerAttemptPickupItemEvent.patch PlayerAttemptPickupItemEvent additions 2017-11-10 22:49:53 -05:00
PlayerNaturallySpawnCreaturesEvent.patch PlayerNaturallySpawnCreaturesEvent 2018-01-14 17:36:24 -05:00
PlayerPickupExperienceEvent.patch Make PlayerPickupExperienceEvent extend PlayerEvent 2017-12-19 22:08:28 -05:00
PlayerPickupItemEvent-setFlyAtPlayer.patch Update Upstream 2017-07-30 18:41:08 -04:00
PlayerTeleportEndGatewayEvent.patch Properly fix JavaDoc linting issues 2017-06-10 17:11:10 -05:00
POM-changes.patch Update upstream B/CB/S 2017-12-27 22:45:33 -06:00
PreCreatureSpawnEvent.patch Remove warning for custom entities in precreaturespawn, add note to event 2018-01-28 22:50:35 -05:00
Profile-Lookup-Events.patch Move ProfileWhitelistVerifyEvent to use new PlayerProfile API 2018-01-19 00:12:03 -05:00
ProfileWhitelistVerifyEvent.patch Move ProfileWhitelistVerifyEvent to use new PlayerProfile API 2018-01-19 00:12:03 -05:00
Provide-E-TE-Chunk-count-stat-methods.patch Add World.getPlayerCount 2017-01-13 23:00:33 +11:00
Reduce-thread-synchronization-in-MetadataStoreBase.patch Reduce thread synchronization in MetadataStoreBase 2016-03-28 22:10:01 -04:00
Shoulder-Entities-Release-API.patch Shoulder Entities Release API 2017-06-17 15:20:25 -04:00
Tameable-getOwnerUniqueId-API.patch Rename getOwnerUUID to Tameable#getOwnerUniqueId for consistency 2018-02-24 01:16:01 -05:00
Timings-v2.patch Update upstream B/CB/S 2017-12-27 22:45:33 -06:00
Use-ASM-for-event-executors.patch Cache generated EventExecutors (fixes #786) 2017-09-06 21:18:36 +01:00