Skip to content

v0.0.5 causes keepalive timeout kicks for Feather Client players ~30s after join (TPS 20, backend Paper) #9

Description

@supersostar

Summary

FeatherServerAPI v0.0.5 appears to wedge connections for Feather Client players on our production Paper server. Affected players are kicked with "keepalive timeout" roughly 30–90 seconds after joining, while the backend reports TPS 20.0 and normal tick times.

Disabling the FeatherServerAPI plugin stopped this kick pattern entirely (200+ kicks in one day → baseline).

We have not been able to reproduce this on our local/offline dev server with the same plugin version.

Environment

FeatherServerAPI v0.0.5
Server software Paper (1.21.x backend)
Proxy Velocity
Network Production SMP (~remote players), whitelist off
Feather Client Latest (players connecting via Feather launcher)

Plugins using FeatherServerAPI

  • Store — Feather HTML balance overlay (FeatherAPI.getUIService(), PlayerHelloEvent)
  • HeartChat — blocks Feather nametags mod to avoid duplicate nameplates (feather-block-mods: [nametags])

Steps to reproduce (production)

  1. Install FeatherServerAPI v0.0.5 on a Paper backend behind Velocity
  2. Join with Feather Client
  3. Stay connected / explore for ~30–90 seconds
  4. Player is kicked: keepalive timeout

Expected behavior

Feather Client players stay connected. Keepalive packets are answered normally.

Actual behavior

Feather Client players are disconnected with keepalive timeout after ~30–90 seconds, despite:

  • Backend TPS holding at 20.0
  • Tick times in normal range (~4 ms)
  • No obvious server-side lag

What we tried

  • Disabled FeatherServerAPI → this class of kick stopped immediately
  • Ruled out server performance (TPS, thread dumps)
  • Ruled out proxy plugin red herrings (Sonar/Alert removed; kicks continued until Feather was disabled)
  • Local/offline server with same v0.0.5: no issue observed (likely different load: single player, LAN, no proxy, no remote upload congestion)

Additional context

This occurred during a wider network incident (ISP upload congestion, chunk delivery, etc.), but the host’s measurements isolated FeatherServerAPI as the source of this specific keepalive kick pattern for Feather Client players. Other issues were separate; disabling Feather only fixed the ~30s Feather-client kicks.

We need FeatherServerAPI for:

  • Custom balance HUD overlay (Store)
  • Blocking duplicate nametag mods (HeartChat)

We currently cannot re-enable it on production without bringing back the kicks. v0.0.5 is the latest release — no newer version to upgrade to.

Request

  • Confirmation whether this is a known issue in v0.0.5
  • Workaround or config flag if one exists
  • ETA or guidance for a fixed release

Happy to provide spark profiles, proxy logs, or plugin list if helpful.

Server: Heartbase SMP (MyShowBro Network) (ip: play.myshowbro.net)
Reporter: [supersostar]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions