Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    1.21.xTargets Minecraft 1.21bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions