Minecraft Server Keeps Disconnecting Players
Troubleshoot a Minecraft server that keeps disconnecting players by checking network drops, proxies, timeouts, plugins, server load, and client errors.
Player disconnects are frustrating because they can come from the client, server, network, proxy, authentication, plugins, or TPS. The fastest path is to collect the exact disconnect message and match it to the layer that produced it.
Start With the Kick Message
| Message | Likely area |
| --- | --- |
| Internal Exception: Connection reset | Network path, proxy, firewall, or client route |
| Timed out | Keepalive timeout, server stall, or network drop |
| Invalid session | Authentication/session state |
| You are not whitelisted | Whitelist setting or wrong username/account |
| Flying is not enabled | Anti-flying setting, lag, elytra, or plugin movement checks |
Paste a focused log excerpt into the startup log classifier if the disconnect appears with a stack trace.
Check Scope
Ask three questions:
- Does it affect every player or one player?
- Does it happen on join, teleport, combat, world switch, or randomly?
- Does the proxy log show a different reason than the backend log?
If only one player is affected, check VPNs, DNS, Wi-Fi, mods, resource packs, and client version. If many players disconnect together, check server load, host network, proxy, or a shared plugin.
Proxy Networks Need Two Logs
Velocity and BungeeCord networks can disconnect players at the proxy or backend. Check both:
- Proxy console.
- Backend Paper/Purpur console.
- Login/auth plugin logs.
- Database-backed permission or profile plugins.
Longer timeouts can reduce visible kicks but leave the underlying stall, network drop, or plugin problem in place. Use them only after you know the cause.
Check TPS and Join-Time Work
If disconnects happen when several players join, teleport, or load new chunks, profile server load. Heavy tasks include:
- Scoreboard and tab updates.
- Permission and placeholder lookups.
- Chunk generation.
- Database calls on the main thread.
- Resource pack prompts.
Use the TPS drops guide if logs show Can't keep up or players time out during spikes.
Audit Recent Plugin Changes
Disconnects after a plugin update often come from protocol, packet, login, chat, anti-cheat, or proxy plugins. Run your plugin list through the plugin conflict auditor, then check the plugin version mismatch guide before removing unrelated plugins.
FAQ
Can low TPS disconnect players?
Yes. Severe main-thread stalls can cause keepalive timeouts, especially during joins, teleports, chunk generation, or database-heavy plugin tasks.
Why does only one player keep disconnecting?
That usually points to the player's route, VPN, firewall, resource pack, mod mismatch, or local network rather than the whole server.
Should I increase timeout settings first?
No. Increasing timeouts can hide the real cause. First identify whether the disconnect is network, proxy, plugin, authentication, or TPS related.
Related Tools
Startup Log Classifier
Paste a Minecraft startup log excerpt to classify Java mismatch, port conflicts, memory errors, plugin failures, dependency issues, and TPS overload.
Plugin Conflict Auditor
Paste a Minecraft plugin list to flag common dependency, compatibility, ProtocolLib, LuckPerms, ViaVersion, and proxy risk areas.
Geyser Setup Wizard
Build a Geyser setup plan for Paper, Purpur, Velocity, or standalone installs with Bedrock UDP ports, Floodgate, proxy, and firewall reminders.
Related Articles
How to Fix Internal Exception Connection Reset
Fix Minecraft Internal Exception Connection Reset by checking network drops, proxies, VPNs, firewalls, resource packs, server load, and protocol plugins.
Fix Minecraft Server TPS Drops
Fix Minecraft server TPS drops by profiling Spark, checking MSPT, entities, chunks, plugin tasks, view distance, memory, and hosting limits.
Fix Plugin Version Mismatch Errors
Fix Minecraft plugin version mismatch errors by checking server platform, API version, Java target, dependencies, Folia support, and proxies.