[Networking] FFAPI login query handling conflicts with Sponge (indefinite wait / payload discard)
Sam-Chai opened this issue · 1 comments
Minecraft version
1.21.1
Describe the bug
When running a Sponge-powered NeoForge server together with FFAPI, login custom query handling may hang or drop because of FFAPI’s current packet tracking logic
Steps to reproduce
- Install SpongeNeo + FFAPI on a NeoForge 1.21.1 server.
- Let both mods send/expect login queries during handshake.
Observe: Clients hang indefinitely (“waiting for login response”), or Disconnect with Unexpected custom data from client.
Logs
No response
Additional context
When running a Sponge-powered NeoForge server together with FFAPI, login custom query handling may hang or drop because of FFAPI’s current packet tracking logic:
- FFAPI records every outgoing login query (regardless of who sent it).
- On receiving, FFAPI expects to see a response for every recorded query, and tries to handle it.
- If FFAPI fails to handle, it discards the payload content.
This leads to two conflict scenarios with Sponge:
- Sponge handles first → FFAPI never sees the outgoing query, but still expects a response → indefinite wait.
- FFAPI handles first but fails → payload is discarded → Sponge no longer has access to the content → unexpected disconnect.
The issues from Sponge is here: SpongePowered/Sponge#4228 (comment)
I am doing my work (try to write some mods to mixin that cause the problem's code)
If possible, we could try to fix that together.