The server.properties file is regenerated every time your server starts — existing values are kept, invalid ones reset to defaults, and comments get stripped. Changes only take effect on restart, not on reload. Here's what's actually in it.
Network & Connection
- server-ip — leave blank to bind all interfaces; only set this if you specifically need to.
- server-port (default 25565) — must match your router's port forward, or nothing will connect.
- online-mode (default true) — verifies players against Mojang's account database. Turning this off lets unauthenticated, pirated clients connect. Only disable it on a fully offline/LAN-isolated setup.
- network-compression-threshold (default 256) — below ~64 bytes, compression is pointless due to Ethernet padding; leave the default alone unless you know why you're changing it.
Query, RCON & Remote Management
- enable-rcon / rcon.password / rcon.port — remote console access. RCON traffic is unencrypted. Never expose the RCON port to the open internet; bind it to localhost or a VPN.
- management-server-* — a newer REST-style management protocol replacing/augmenting RCON, added in late-2025 snapshots, with TLS on by default.
World Generation
- level-seed, level-type (normal/flat/large_biomes/amplified/single_biome_surface), generate-structures.
- max-world-size (default 29999984) — a commonly misunderstood setting: raising it above the default does nothing. The world border cap is fixed regardless.
Gameplay & Permissions
- difficulty, gamemode, hardcore, force-gamemode.
- spawn-protection (default 16) — protects a (2x+1)-block square around spawn. It silently disables itself entirely if no ops are set — a frequent "why can players build at spawn?" surprise for new admins.
- white-list / enforce-whitelist — note that upcoming releases are planned to flip the whitelist default to true, so don't assume older guides are still accurate here.
- allow-flight — enabling this on survival without anti-cheat makes flight-hack griefing meaningfully easier, since the "airborne too long" kick check is disabled by design.
Performance
- view-distance (default 10) — chunks sent to the client.
- simulation-distance (default 10) — radius actually ticked; split from view-distance since 1.18. You can set view-distance higher than simulation-distance for a cheap visual boost without the tick cost.
- max-tick-time (default 60000ms) — the watchdog timeout before the server force-shuts-down as "crashed";
-1disables it.
Across every hosting guide surveyed, over-tuned view/simulation distance is the single most commonly cited performance mistake — more often than under-allocated RAM.
⚠️ Recently Removed — Now Game Rules, Not Properties
Stop Looking For These in server.properties
pvp, spawn-monsters, enable-command-block, and allow-nether have all been migrated to gamerules (/gamerule) as of recent snapshot lines. A lot of "complete list" guides still floating around the web haven't caught up — if a setting from an old tutorial doesn't seem to do anything anymore, this is probably why.
Common Misconfigurations
- Disabling online-mode without understanding the security tradeoff.
- Exposing RCON to the public internet.
- Expecting max-world-size to move the actual border.
- A
motdlonger than ~59 characters, which can trigger a "communication error" in the server list. - Mismatched internal server-port vs. router-forwarded port.
- Changing the file while the server is running and expecting it to apply without a restart.
- Relying on an outdated tutorial that still lists properties that are now gamerules.
Bedrock Differences
Bedrock uses allow-list instead of white-list, defaults to a much larger view-distance (32 vs. Java's 10), and ships a large set of server-authoritative-movement and scripting/anti-cheat properties that simply don't exist in the Java file — mostly relevant to add-on developers rather than typical server owners.