Fix disconnect after handling handshake sometimes producing error

PS sends disconnect packet and closes connection after the send is
completed, which means that there can be a delay between those actions.
Client however sends handshake packet and instantly sends the loginstart
packet after that, but since the listener is still the handshake one,
handling of this packet would produce an error and cause an immediate
connection drop. To avoid that a login listener which doesn't actually
handle any login packets is now set first.
4 files changed
tree: 5c198dce49167e436fdd8d06f63aab4af0ba5c04
  1. .editorconfig
  2. .gitattributes
  3. .github/
  4. .gitignore
  5. LICENSE
  6. README.md
  7. build.gradle
  8. gradle/wrapper/
  9. gradlew
  10. gradlew.bat
  11. jitpack.yml
  12. processors/
  13. resources/
  14. settings.gradle
  15. src/protocolsupport/
  16. tests/
README.md

ProtocolSupport

Build Status Chat

Support 1.16, 1.15, 1.14, 1.13, 1.12, 1.11, 1.10, 1.9, 1.8, 1.7, 1.6, 1.5, 1.4.7 clients on Spigot 1.17

Important notes:

  • Only latest version of this plugin is supported
  • This plugin can't be reloaded or loaded not at server startup

Known issues:

  • [Anything that is not latest] Items in creative mode may not work as expected, or may not work at all

Known wontfix issues:

  • [Anything that is not latest] Stats are not sent
  • [1.12 and earlier] Chests are seen as enderchests (Intentional to prevent rendering glitches). Block mappings can be changed using API if you with to see chests as chests again.
  • [1.8 and earlier] Can't control vehicle (Not directly translatable at network level, too much work to implement serverside)
  • [1.4.7 and earlier] Server shows up as “incompatible” in the server list (Impossible to fix due to the lack of an way to verify the client version during server list ping)

Website: https://protocol.support/

Spigot: https://www.spigotmc.org/resources/protocolsupport.7201/

BukkitDev: https://dev.bukkit.org/projects/protocolsupport/

Main Jenkins: https://build.hurricanegames.org/job/ProtocolSupport/
Backup Jenkins: https://ci.velocitypowered.com/job/ProtocolSupport/


Licensed under the terms of GNU AGPLv3