• Values are case-sensitive: write true, not True.
  • A setting that is missing or has an invalid value is set to its default when the server starts.
  • The server rewrites the file on startup, escaping some characters such as :. The server.properties Generator writes values the same way.
  • Old settings such as pvp and allow-nether are game rules now. See how to configure server.properties.

Basic server settings

SettingDefaultAllowed valuesWhat it does
motdA Minecraft ServerTextThe text shown under the server name in the server list. Supports § colour and formatting codes.
max-players200 to 2,147,483,647How many players can be online at the same time.
gamemodesurvivalsurvival, creative, adventure, spectatorThe game mode new players start in.
force-gamemodefalsetrue, falsePut players back into the default game mode every time they join.
difficultyeasypeaceful, easy, normal, hardHow much damage mobs deal and how hunger affects players.
hardcorefalsetrue, falseCreate the world in hardcore mode: players who die can only spectate.

World

SettingDefaultAllowed valuesWhat it does
level-nameworldText (required)The folder the world is loaded from. If it doesn’t exist, a new world is generated there.
level-seedemptyTextA number or any text. Leave it empty for a random seed. Only used when a new world is generated.
level-typeminecraft:normalminecraft:normal, minecraft:flat, minecraft:large_biomes, minecraft:amplified, minecraft:single_biome_surfaceThe world preset used when a new world is generated.
generate-structurestruetrue, falseGenerate villages, temples and other structures in new chunks. Dungeons still generate when this is off.
generator-settings{}A JSON objectA JSON object that customises Superflat and Single biome worlds. Leave as {} for other world types.
max-world-size299999841 to 29,999,984The largest radius, in blocks from the centre, that the world border can have.
initial-enabled-packsvanillaTextComma-separated data packs enabled when the world is created. Feature packs must be listed here to be enabled.
initial-disabled-packsemptyTextComma-separated data packs that aren’t enabled automatically when the world is created.
region-file-compressiondeflatedeflate, lz4, noneHow chunks are compressed on disk. Existing chunks aren’t recompressed until they change.
sync-chunk-writestruetrue, falseWrite chunks to disk synchronously to avoid data loss after a crash, at some cost to speed.

Gameplay

SettingDefaultAllowed valuesWhat it does
view-distance103 to 32How many chunks the server sends around each player (radius).
simulation-distance103 to 32How many chunks around each player keep updating mobs, crops and redstone (radius).
spawn-protection160 to 2,147,483,647Non-operators can’t break or place blocks within this many blocks of spawn. 0 turns it off. It has no effect while there are no operators.
allow-flightfalsetrue, falseDon’t kick players who fly in Survival mode, for example with a mod. Creative flight works either way.
player-idle-timeout00 to 2,147,483,647Kick players who have been idle this many minutes. 0 never kicks idle players.
pause-when-empty-seconds600 to 2,147,483,647How long the server waits after the last player leaves before it pauses the world.
entity-broadcast-range-percentage10010 to 1,000How far away entities are sent to players, as a percentage of the normal distance.
max-chained-neighbor-updates1000000-2,147,483,648 to 2,147,483,647Limit on consecutive block updates before extra ones are skipped. A negative value removes the limit.
op-permission-level40 to 4The permission level players get from /op, from 0 to 4.
function-permission-level21 to 4The permission level data pack functions run with, from 1 to 4.
enable-code-of-conductfalsetrue, falseShow players a code of conduct from text files in the server’s codeofconduct folder.

Network and security

SettingDefaultAllowed valuesWhat it does
server-port255651 to 65,535The TCP port players connect to. 25565 is the standard Java Edition port.
online-modetruetrue, falseCheck every player against Microsoft’s account servers.
white-listtruetrue, falseOnly let players listed in whitelist.json join. Operators can always join.
enforce-whitelistfalsetrue, falseKick online players who aren’t on the whitelist when it is reloaded.
server-ipemptyText without spacesLeave empty to listen on every network interface, which is right for almost every server. Only set an address if the machine has several and you want to use one.
enforce-secure-profiletruetrue, falseOnly allow players with a Mojang-signed chat key, so chat messages can be reported.
prevent-proxy-connectionsfalsetrue, falseKick players whose network doesn’t match the one Mojang’s authentication servers saw.
enable-statustruetrue, falseAnswer server list pings. When off, the server looks offline but players can still join.
hide-online-playersfalsetrue, falseDon’t send the list of online players in server list pings.
accepts-transfersfalsetrue, falseAccept players sent here from another server with the /transfer command.
log-ipstruetrue, falseInclude player IP addresses in the console and log files.
rate-limit00 to 2,147,483,647Kick players who send more packets per second than this. 0 turns it off.
chat-spam-threshold-seconds100 to 2,147,483,647Sensitivity of the automatic kick for sending chat messages too quickly. 0 turns it off.
command-spam-threshold-seconds100 to 2,147,483,647Sensitivity of the automatic kick for sending commands too quickly. 0 turns it off.
network-compression-threshold256-1 to 2,147,483,647Packets of at least this many bytes are compressed. -1 turns compression off, 0 compresses everything.
use-native-transporttruetrue, falseUse optimised networking on Linux.
bug-report-linkemptyText without spacesA URL players can open from the pause menu to report bugs. Leave empty to show no link.

Resource pack

SettingDefaultAllowed valuesWhat it does
resource-packemptyText without spacesA direct download link to a server resource pack (up to 250 MiB). Leave empty for none.
resource-pack-sha1empty40 hexadecimal characters, or emptyThe pack’s SHA-1 hash in lowercase hex, so clients can check the download.
resource-pack-idemptyA UUID with dashes, or emptyAn optional UUID that identifies the pack to clients.
require-resource-packfalsetrue, falseDisconnect players who decline the resource pack.
resource-pack-promptemptyTextA custom message for the resource pack prompt, as a text component. Leave empty for the default message.

Remote access and monitoring

SettingDefaultAllowed valuesWhat it does
enable-rconfalsetrue, falseAllow remote console access. RCON isn’t encrypted, so only use it on a trusted network.
rcon.port255751 to 65,535The TCP port RCON listens on.
rcon.passwordemptyTextRequired for RCON to start. It is stored as plain text in server.properties. This page doesn’t save or send it.
broadcast-rcon-to-opstruetrue, falseSend the output of RCON commands to online operators.
broadcast-console-to-opstruetrue, falseSend the output of console commands to online operators.
enable-queryfalsetrue, falseAnswer GameSpy4 query requests with server information.
query.port255651 to 65,535The UDP port query listens on.
enable-jmx-monitoringfalsetrue, falseExpose tick times through Java Management Extensions. Also needs JVM flags.

Server Management Protocol

SettingDefaultAllowed valuesWhat it does
management-server-enabledfalsetrue, falseStart the Minecraft Server Management Protocol, an API for managing the server over a WebSocket.
management-server-hostlocalhostText without spacesThe address the management server listens on.
management-server-port00 to 65,535The port the management server listens on.
management-server-secretempty40 letters and digits, or emptyA 40-character letters-and-digits secret clients must send. Leave empty and the server generates one.
management-server-tls-enabledtruetrue, falseUse TLS for the management server. It won’t start with TLS on and no keystore.
management-server-tls-keystoreemptyTextPath to the keystore file used for TLS.
management-server-tls-keystore-passwordemptyTextStored as plain text. The MINECRAFT_MANAGEMENT_TLS_KEYSTORE_PASSWORD environment variable is an alternative.
management-server-allowed-originsemptyTextWeb origins allowed to connect to the management server.
status-heartbeat-interval00 to 2,147,483,647How often the management server sends heartbeat notifications to clients. 0 turns them off.

Other

SettingDefaultAllowed valuesWhat it does
max-tick-time60000-1 to 9223372036854775807The watchdog stops the server if one tick takes longer than this. -1 turns the watchdog off.
text-filtering-configemptyTextChat filtering configuration used by Realms. Leave empty on your own server.
text-filtering-version00 to 1The format version of the text filtering config (0 or 1).