A Complete server.properties Reference

Every current Java Edition server.properties setting explained.

Every current Java Edition server.properties setting explained.

Introduction

Every Minecraft Java Edition server reads its core configuration from server.properties on startup. This reference covers the full current set of properties current as of Java Edition 26.2, organized by what they affect. Changes to any of these require a full server restart.

Note: Bedrock Dedicated Servers use their own, completely separate and incompatible server.properties format. This guide covers Java Edition only.

World Generation & Identity

Property Default What It Does
level-name world Name of the world save folder
level-seed (random) Seed used to generate the world
level-type minecraft:normal World type: normal, flat, large_biomes, amplified or single_biome_surface
generator-settings {} Customization data used by the flat and single-biome world types
generate-structures true Whether structures like villagers and strongholds generate
hardcore false Enables Hardcore Mode for the entire server
max-world-size 29999984 Distance from world center the border is allowed to reach
initial-enabled-packs vanilla Data packs enabled automatically on world creation
initial-disabled packs (blank) Data packs excluded from auto-enabling on world creation

Gameplay & Permission

Property Default What It Does
difficulty easy Peaceful, Easy Normal or Hard
gamemode survival Default game mode assigned to new players
force-gamemode false Forces players back to the default gamemode every time they join
spawn-protection 16 Radius around spawn that only operators can edit
op-permission-level 4 Permission level granted to newly-opped players
function-permission-level 2 Default permission level required to run functions
enable-code-of-conduct false Shows players a custom code-of-coduct file on join, if one is provided

Performance & World Simulation

Property Default What It Does
view-distance 10 Chunks sent to each client, as a radius
simulation-distance 10 Chunks actively ticked around each player
entity-broadcast-range-percentage 100 How far entity updates are sent to clients, as a percentage
max-tick-time 60000 Milliseconds before the watchdog assumes the server has frozen and shuts it down
max-chained-neighbor-updates 1000000 Cap on consecutive block-update chains, relevant to large redstone builds
sync-chunk-writes true Writes chunk data synchronously to reduce corruption risk after a crash
use-native-transport true Uses Linux-optimized networking where the OS supports it
network-compression-threshold 256 Packet size, in bytes, above which compression is applied
region-file-compression deflate Compression algorithm for saved chunk data: deflate, lz4, none
pause-when-empty-seconds 60 How long to wait with no players online before the server pauses itself

Players & Moderation

Property Default What It Does
max-players 20 Maximum concurrent player slots
online-mode true Verifies joining players against Microsoft's account system
white-list false Restricts joining to approved players
enforce-whitelist false Immediately kicks non-whitelisted players once the list reloads
player-idle-timeout 0 Minutes of inactivity before a player is kicked (0 disables this)
prevent-proxy-connections false Kicks players whose connecting ISP doesn't match Microsoft's Authentication record
rate-limit 0 Maximum packets per player before they're kicked (0 disables the limit)
chat-spam-threshold-seconds 10 Anti-spam threshold for commands
enforce-secure-profile true Requires a Microsoft-required key to join, enabling reportable signed chat
hide-online-players false Hides the player list from public server-list queries
log-ips true Logs player IP addresses to the console and log files

Heads up: white-list currently defaults to false, but that default is set to flip to true starting in Java Edition 26.3. Existing servers keep whatever value is already in their file since this only affects freshly generated properties files or ones that get reset.

Server Identity & Connection

Property Default What It Does
server-ip (blank) IP address to bind to; leave blank to listen on all interfaces
`server-port 25565 TCP port players connect through
motd A Minecraft Server Message shown in the multiplayer server list
bug-report-link (blank) Optional custom bug-report URL shown to players
accepts-transfers false Whether the server accepts incoming player transfers sent from other servers
enable-status true Whether the server responds to server-list ping requests

Resource Packs

Property Default What It Does
resource-pack (blank) Download URL for a server-side resource pack
resource-pack-id (blank) UUID identifying the resource pack
resource-pack-sha1 (blank) SHA-1 checksum used to verify the pack's integrity
resource-pack-prompt (blank) Custom message shown when prompting players to accept the pack
require-resource-pack false Disconnects players who decline the resource pack

Remote Access & Monitoring

Property Default What It Does
enable-query false Enables the Query protocol for external server-status tools
query.port 25565 UDP port used by Query
enable-rcon false Enables remote console access
rcon.port 25575 TCP port used by RCON
rcon.password (blank) Password for RCON. It will refuse to start if left blank
broadcast-console-to-ops true Sends console output to online operators
broadcast-rcon-to-ops true Sends RCON output to online operators
enable-jmx-monitoring false Exposes tick-time metrics for external Java monitoring tools

Advanced/Rarely Used

Property Default What It Does
management-server-enabled false Enables the newer Server Management Protocol for external tooling
management-server-allowed-origins (blank) Comma-separated list of origins allowed to connect. If left empty, no browser-based client can connect at all
management-server-host localhost Host address the management server binds to
management-server-port 0 Port the management server listens on
management-server-secret (auto-generated) Auth secret clients use to reach the management server
management-server-tls-enabled true Whether the management server requires TLS
management-server-tls-keystore / -password (blank) TLS certificate keystore and its password
status-heartbeat-interval 0 How often the management server sends heartbeat pings (0 disables this)
text-filtering-config / -version (blank) / 0 Internal chat filtering configuration, primarily used by Realms
debug false Enables additional debug-level logging. Undocumented by Microsoft and rarely needed outside active troubleshooting

Properties Removed from Older Versions

Putting these in your server.properties file will do nothing. The server will silently ignore it and leave the lines in the file on every rewrite, which is why old advice keeps circulating. These will only work if you're running version 1.21.8 or earlier.

Moved to game rules (removed in 1.21.9):

Old Property Current Replacement
pvp /gamemode pvp false
enable-command-block gamerule command_blocks_work false
allow-nether /gamerule allow_entering_nether_using_portals false
spawn-monsters /gamerule spawn_monsters false

All four game rules default to true. Note that's a behavior change for command blocks specifically since the old property defaulted to 'false'.

Removed with no replacement (in 1.21.2):

Neither has an equivalent setting anywhere else. If you need to stop passive mobs or villagers from spawning, it takes a datapack or plugin rather than a single flag.

Closing Notes

Related guides

All community guides