Skip to content

ProtocolLib2PacketEvents v1.0.9 — FastLoginPlus Channel Fix

Pre-release
Pre-release

Choose a tag to compare

@Namnarak Namnarak released this 12 Oct 18:20
9202a00

ProtocolLib2PacketEvents v1.0.9 — FastLoginPlus Login Channel Hotfix

Pre-release: for production regression DecoderException: Received unknown packet id 49 and FastLoginPlus Player ... disconnected during session verification, aborting seen with two actual Java login attempts on Leaf 1.21.11 / PacketEvents 2.13.0 after v1.0.8.

Changes

  • Associate every generated pre-login TemporaryPlayer with the Netty injector of its corresponding PacketEvents User via the existing channel map. FastLoginPlus uses TemporaryPlayerFactory.getInjectorFromPlayer() to monitor session verification and locate the encryption transport. In v1.0.8 this injector was null.
  • Resolve the actual NMS net.minecraft.network.Connection from the channel's existing packet_handler. An injector created before this handler was installed now refreshes the native connection once available; rejects channels without a valid Connection rather than fabricating one.
  • FastLoginPlus's legacy FuzzyReflection.getMethodByParameters("a", SecretKey.class) now safely finds the unique modern Leaf/Paper setEncryptionKey(SecretKey) method when the obfuscated name a is absent. If multiple candidates exist, fail explicitly.
  • Preserves v1.0.7's deferred pre-login PacketEvents User channel routing and v1.0.8's constructor-initialized ENCRYPTION_REQUEST with shouldAuthenticate=true. No AuthMe policy change or cracked login bypass.

Validation

  • Commit: 9202a004828f1cee3a47d490f6d94367f67b8a47
  • GitHub Actions: https://github.com/CyoriaSMP-Team/ProtocolLib2PacketEvents/actions/runs/38289819879 (passed)
  • 29 Maven tests (0 failures/errors; 1 skipped) and shaded JAR build passed on Java 25 locally; GitHub Java 17 CI passed.
  • Production deploy 2026-10-13 01:18-01:20: backup of v1.0.8, FLP/AuthMe configs and consistent SQLite snapshot created. Controlled MCSManager restart, Leaf ready in 77.084s, P2P enabled and bridged 437 PacketEvents packet types; AuthMe 6.0.1, FastLoginPlus 0.7.0, CyoriaCore 3.0.5, CYC 8/8 started. AuthMe database still 91 accounts with quick_check=ok.

Important: No legitimate Java Premium login had completed by the time of this release. A real authorized account must retest the end-to-end encryption/login path before calling this fully fixed or stable. If it still fails, collect client error and new server latest.log with exact time; do not disable online authentication to work around it.

Rollback files on Home Server: /home/namkrub-home-server/Projects/Minecraft/P2P-NativeLogin-Fix-20261013/rollback/. Network packet-hook JAR updates require an MCSManager restart, NOT Bukkit /reload.