Skip to content

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

@Sam-Chai

Description

@Sam-Chai

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions