Direct answer
From the server console, confirm the whitelist is enabled and add the exact Java account name:
whitelist on
whitelist add PlayerName
whitelist listReload only the whitelist when needed
If you edited whitelist.json while the server was stopped, start the server normally. If you intentionally changed the file while it was running, the whitelist reload command exists, but using server commands to manage entries is less error-prone than hand-editing UUIDs.
Check whether the server sees the right identity
On normal online-mode servers, whitelist entries are tied to authenticated identities. On proxy networks, a broken player-forwarding configuration can cause the backend to see a different UUID than expected. Fix the proxy/backend forwarding first instead of repeatedly deleting the whitelist.
Velocity backend warning
With correctly configured Velocity modern forwarding, the proxy authenticates the player and sends identity data to the Paper backend. The backend must use the matching forwarding secret and must not be directly reachable by untrusted clients.
What not to do
Do not disable authentication just to bypass a whitelist problem. That changes player identity handling and can create security or player-data issues.
Official references
These references were checked while preparing this fix. Version-specific behavior can change, so use the project documentation for your exact release when a detail differs.
- PaperMC: server.properties reference
- PaperMC: Velocity player information forwarding
- PaperMC: vanilla data files / whitelist.json
Related fixes and guides
Help us improve this article
Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.