Ghost Player

A player cannot rejoin because the server thinks they are still online. A stale session lingers after a crash or disconnect, blocking the new login until it clears.

What does this error mean?
The server tracks each logged-in player. 'Player already logged in' (a ghost session) means a previous connection was not cleaned up, so the server rejects the new one as a duplicate.
Player already logged in
Most Common Causes
  • A client crash leaving the session open.
  • An abrupt disconnect not registered by the server.
  • Proxy (BungeeCord/Velocity) and backend sessions out of sync.
  • A server-side hang during the player's logout.
  • Network drop that left the connection half-open.
How To Diagnose
  1. Check whether the player shows as online when they are not.
  2. If using a proxy, see if proxy and backend disagree.
  3. Look for an unclean disconnect in the logs.
  4. Note any server hang around the disconnect.
Recommended Fixes
  • Wait for timeout
    The ghost session usually clears on its own after the keep-alive timeout.
  • Kick the ghost
    Use a kick command on the stuck name to force-clear the session.
  • Sync the proxy
    On BungeeCord/Velocity, configure proper forwarding so sessions stay consistent.
  • Restart if stuck
    As a last resort, restart the server to clear the lingering session.
Frequently Asked Questions

Often yes, once the keep-alive times out the ghost session is removed.

If proxy and backend disagree on who is online, the backend may see a duplicate login.

Kicking the stuck username usually frees it without a full restart.