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
- Check whether the player shows as online when they are not.
- If using a proxy, see if proxy and backend disagree.
- Look for an unclean disconnect in the logs.
- 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.