How to Fix 'Failed to Verify Username' on Your Minecraft Server

Diagnose and fix Failed to verify username errors on your Minecraft Java server — Mojang outage, online-mode mismatch, BungeeCord forwarding.

"Failed to verify username" means the server tried to confirm a player's account with Mojang's session servers and didn't get a valid response. It's almost always one of three things: a Mojang outage, an online-mode mismatch, or a misconfigured proxy (BungeeCord/Velocity).

Quick Diagnosis

What you seeMost likely cause
All players failing at the same timeMojang session servers are down
Only one player failingTheir client / account / network issue
Failing only on a backend server behind a proxyBungeeCord/Velocity forwarding broken
Failing right after enabling a proxyBackend online-mode not set to false

Fix It

Check Mojang's status

Visit status.mojang.com or xitter.com. If the Sessions service is down, wait — there's nothing to fix on your end. This usually clears in 5–30 minutes.

Verify online-mode for your setup

Open server.properties and check online-mode:

Setuponline-mode
Standalone server (no proxy)true
Backend server behind BungeeCord/Velocity proxyfalse
Standalone "cracked" server (insecure)false

If you have a proxy, the proxy handles authentication and the backend must have online-mode=false. Otherwise both the proxy and the backend will try to authenticate, and the second one fails.

Check BungeeCord/Velocity IP forwarding

Behind a proxy, the backend needs to trust the proxy's player info. This requires:

  • BungeeCord legacy mode: settings.ymlip_forward: true and Spigot's bungeecord: true
  • Modern Velocity / Paper: Velocity secret key in Paper's paper-global.ymlproxies.velocity.secret

Without forwarding, the backend rejects connections from the proxy. See BungeeCord IP Forwarding.

For single-player issues, try client-side fixes

If only one player can't connect:

  1. Restart their Minecraft launcher (not just the game)
  2. Sign out and back into their Microsoft/Mojang account in the launcher
  3. Try a different Minecraft profile to rule out a corrupted profile
  4. Check their internet — failed handshakes can come from packet loss
  5. Switch DNS to 1.1.1.1 or 8.8.8.8 to rule out their ISP DNS

How online-mode Works

SettingWhat happens at login
online-mode=trueServer contacts sessionserver.mojang.com to verify the player owns their UUID
online-mode=falseServer skips verification — accepts any username

Security warning: online-mode=false allows cracked clients but also lets anyone connect with any username, including impersonating your admins. Only disable on private servers behind a whitelist or proxy.

Proxy Authentication Flow

When you have a BungeeCord/Velocity proxy:

Player → Proxy (online-mode=true, authenticates with Mojang)

         Backend (online-mode=false, trusts proxy via IP forwarding)

If forwarding is broken, the backend doesn't trust the proxy and rejects the connection. Symptoms:

  • "Failed to verify username" on the backend
  • "If you wish to use IP forwarding, please enable it..." in proxy console
  • Backend log shows player connecting with random UUID

Common Mistakes

MistakeFix
Backend online-mode=true behind a proxySet to false on the backend
Proxy online-mode=falseSet to true on the proxy (Mojang verification happens here)
Forgetting to enable BungeeCord mode in spigot.ymlSet bungeecord: true
Velocity secret missing or mismatchedCopy the exact secret from forwarding.secret to paper-global.yml
Restarting only the backend after config changeRestart both proxy and backend

How is this guide?

40% Off — Limited TimeGet your Minecraft server todayInstant setup, DDoS protection, and 24/7 support included.
Get a Server

On this page