Forgified Fabric API

Forgified Fabric API

13M Downloads

[Networking] FFAPI login query handling conflicts with Sponge (indefinite wait / payload discard)

Sam-Chai opened this issue · 1 comments

commented

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

  1. Install SpongeNeo + FFAPI on a NeoForge 1.21.1 server.
  2. 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.