Who can join
| Setting | Safe value | Why |
|---|---|---|
online-mode | true | Checks every player’s account. With false, anyone can join using any name, including yours, unless a proxy in front of the server checks accounts. |
white-list | true for private servers | On by default since 26.3. Turn it off only if the server should be open to everyone. |
enforce-whitelist | true | Kicks players who are removed from the whitelist when it’s reloaded. |
enforce-secure-profile | true | Only lets in players with a Mojang-signed chat key, so chat messages can be reported. |
What is exposed to the internet
| Setting | Safe value | Why |
|---|---|---|
enable-rcon | false unless needed | RCON gives full console access and isn’t encrypted. If you use it, set a long rcon.password and don’t forward port 25575 on your router. |
enable-query | false unless needed | Answers query requests with server details and the player list over UDP. |
management-server-enabled | false unless needed | Starts an API that can manage the server. Keep TLS on and the host set to localhost unless you know you need more. |
server-ip | empty | Empty listens on every network interface, which is what almost every server wants. |
What players can see and what gets logged
hide-online-players=truestops the server list and status checks from showing who is online.enable-status=falsehides the server from server list pings completely. Players can still join if they know the address.log-ips=falsekeeps player IP addresses out of the console and log files.
Settings that behave unexpectedly
spawn-protectionneeds an operator. If nobody is an operator, spawn protection is off, whatever the radius.view-distancecosts performance. Each step adds a ring of chunks per player. Lower it before buying more hardware.- PvP isn’t here any more. Since Java Edition 1.21.9 it is the
pvpgame rule.
The server.properties Generator shows a short warning next to risky values, and the settings reference lists every option.