Player sessions are failing to verify
What it looks like in your log
Failed to verify username!
What causes it
Login sessions are being rejected. Causes, in order: Mojang session outage, a stale client session (player needs to restart their launcher), or a proxy set up without proper forwarding.
How to fix it
If it affects one player, they should restart their launcher. If it affects everyone and you run a proxy, fix the forwarding configuration. Otherwise wait out the session-server wobble.
Why it happens
On an online-mode server, every login is checked with Mojang's session servers: the client says who it is, the server asks Mojang to confirm, and the join continues when the answer comes back. This line is the answer failing. For one player it is nearly always a stale session in their launcher. For everyone at once it is a Mojang outage, or a proxy in front of the server that is not forwarding the session properly.
Fix it step by step
- 1One player: restart their launcherA launcher that has been open for days holds an expired session token. Closing it fully and reopening refreshes the token. Logging out and back in does the same.
- 2Everyone: check MojangIf every join fails at once, the session servers are down or degraded. Nothing on your side fixes it; wait, and watch a status page.
- 3Behind a proxy: fix the forwardingVelocity and BungeeCord authenticate on the proxy and must forward the result. A backend with online-mode=true behind a proxy tries to authenticate a second time and fails. Set the backend to online-mode=false with proper forwarding configured.
- 4Check the server can reach MojangA firewall or DNS problem on the server blocks sessionserver.mojang.com and every login fails the same way. Test with curl from the server.
If that didn't work
Turning online-mode off makes the message go away and opens the server to anyone claiming any name. The offline-mode page explains what that costs. It is not the fix.
Not sure this is your problem? Paste your log and Roastd will tell you which of these it actually matched, and what else it found.
Check your own log