Repository navigation
ProtocolLib2PacketEvents v1.0.10 — Pre-login Channel Fix
Pre-releaseProtocolLib2PacketEvents v1.0.10 — Late Pre-login Channel Binding
Pre-release: live Java Premium login regression validation still outstanding.
Reproduction
After deploying v1.0.9 on Leaf 1.21.11, a legitimate Java account's client was disconnected. FastLoginPlus logged Player NamKrub disconnected during session verification, aborting at 01:21:34 and 01:24:23 on 2026-10-13; one login timed out and another disconnected. The prior v1.0.8 client reported Received unknown packet id 49.
Fix
- Stop requiring the native Minecraft
packet_handlerto exist at the exact moment PacketEvents notifies ProtocolLib2PacketEvents about LOGIN_START. A live Netty Channel is sufficient for binding the generatedTemporaryPlayerto its actual connection. - Refresh that binding every time FastLoginPlus calls
TemporaryPlayerFactory.getInjectorFromPlayer()during async Mojang session verification, so a late-installed nativenet.minecraft.network.Connectionbecomes visible for AES initialization. - Never bind a disconnected/non-Netty channel; keep all Mojang Premium authentication checks in FastLoginPlus and preserve previous pre-login/PacketEvents wrapper safety fixes. Do not enable cracked login fallback or bypass authentication.
Verification
- Commit:
7727b5a3505afe60caa5b25be6fb1e4778a37fc4 - Main CI: https://github.com/CyoriaSMP-Team/ProtocolLib2PacketEvents/actions/runs/38291091412 — passed.
- 30 local Maven tests, 0 failures, 0 errors, 1 skipped. Includes a Netty EmbeddedChannel / PacketEvents User regression test that verifies early Channel binding and later native handler association.
- Production: MCSManager graceful restart 2026-10-13. Leaf booted in 76.549 seconds; PacketEvents 2.13.0 bridged 437 packet types, FastLoginPlus 0.7.0 / AuthMe 6.0.1 enabled; CyoriaCore 3.0.5 / CYC 8/8 enabled. AuthMe database 91 accounts,
quick_check=ok.
Do not mark this stable yet: A real Java Premium client must successfully join the server with a verified Mojang session. No successful premium login had been verified when the release was created. If the problem persists, use the exact new error/time and server log to isolate the remaining pre-login packet flow. Do not disable Premium verification as a workaround.
Rollback v1.0.9, FastLoginPlus/AuthMe config backups and AuthMe DB snapshot remain at /home/namkrub-home-server/Projects/Minecraft/P2P-LateLogin-Fix-20261013/rollback/. Restart Minecraft via MCSManager for packet transport changes; Bukkit /reload is not safe for this plug-in.