Minecraft server properties, every setting explained

server.properties holds a Java server's settings, next to its jar. Here are all 69 that Minecraft 26.3 reads, each in a line with its default. Change any of them, or load your own file, and download the result.

Free · Nothing leaves your browser · Updated 28 Sep 2026

Turn on JavaScript to change settings and download the file. Every setting is below with its default.

Gameplay

difficulty

How much mobs hurt and hunger drains. Peaceful has no hostile mobs.

Default: easy

gamemode

The game mode players start in.

Default: survival

Puts players back in that game mode every time they join.

Default: false

Makes new worlds hardcore: the hardest difficulty, and a player who dies becomes a spectator.

Default: false

Lets players fly in Survival with a mod. Off, the server kicks players it sees flying.

Default: false

How far around spawn only operators can build: 16 protects a 33 × 33 square. 0 turns it off, and so does having no operators.

Default: 16 · 0 or more

Who can join

The most players online at once. Operators with bypassesPlayerLimit in ops.json can join a full server.

Default: 20 · 0 or more

Only players on the whitelist, in whitelist.json, can join; operators always can. On by default since 26.3.

Default: true

Kicks online players who aren't on the whitelist when it's reloaded.

Default: false

Checks each player's account with Mojang. Off, anyone can join under any name: only for servers behind a proxy that checks them.

Default: true

Only lets in players with a chat key Mojang signed. Off, chat isn't signed and can't be reported.

Default: true

Kicks players who connect from a different network than the one they signed in to Mojang from, as through a VPN.

Default: false

Lets other servers send players here with /transfer. Off, they're disconnected.

Default: false

Kicks players idle for this many minutes. 0 never does.

Default: 0 · 0 or more

Kicks players who chat too fast: each message adds a second that drains in real time, and reaching this many kicks. 0 turns it off.

Default: 10 · 0 or more

The same for commands.

Default: 10 · 0 or more

Kicks players who send more than this many packets a second on average. 0 turns it off.

Default: 0 · 0 or more

Shows players the code of conduct in the codeofconduct folder, one file per language like en_us.txt.

Default: false

Operators and the console

The permission level /op gives. 4 allows every command, /stop included.

Default: 4 · 0 to 4

The permission level data pack functions run with.

Default: 2 · 1 to 4

Sends operators online what commands typed in the console reply.

Default: true

Sends operators online what commands sent over RCON reply.

Default: true

Writes players' IP addresses in the console and the log.

Default: true

Server list

The message under the server's name in the server list, on up to two lines. The MOTD generator writes colours and line breaks as this file needs them.

Default: A Minecraft Server

Answers the server list. Off, the server shows as offline, but players can still join.

Default: true

Leaves who's online out of the server list.

Default: false

World

The world's folder. If there's no world in it yet, the server makes a new one there.

Default: world

The seed for a new world. Empty picks one at random.

Default: empty

level-type

The kind of world a new one is.

Default: minecraft:normal

Settings for that kind, as JSON: a flat world's layers, or a single biome's biome.

Default: {}

Generates villages, temples and other structures in new chunks. Dungeons generate either way.

Default: true

How far from the centre, in blocks, the world border can go.

Default: 29999984 · 1 to 29999984

Data packs a new world starts with, separated by commas. Feature packs, like an upcoming update's, have to be listed here.

Default: vanilla

Data packs a new world leaves off, separated by commas.

Default: empty

region-file-compression

How chunks are compressed on disk. lz4 is faster and takes more space; a chunk changes over when it's next saved.

Default: deflate

Waits for each chunk to reach the disk, so a crash can't lose or break it, at some cost in speed.

Default: true

Performance

How far the server sends the world around each player, in chunks. Further needs more memory.

Default: 10 · 3 to 32

How far around each player mobs, crops and redstone keep running, in chunks.

Default: 10 · 3 to 32

How far away players see mobs and other entities, as a percentage of the usual distance.

Default: 100 · 10 to 1000

Pauses the server this many seconds after the last player leaves. 0 or less never pauses.

Default: 60

Stops the server, as crashed, when one tick takes longer than this many milliseconds. -1 never does.

Default: 60000 · -1 or more

Compresses packets of this many bytes or more. -1 compresses none, 0 all.

Default: 256 · -1 or more

How many block updates one change can set off in a row before the rest are skipped. Negative has no limit.

Default: 1000000

Uses Linux's faster networking when it can.

Default: true

Network

The address the server listens on. Empty listens on all of them, which is what you want.

Default: empty

The TCP port players connect to. Any other than 25565 goes after the address, like :25566.

Default: 25565 · 1 to 65534

Turns on query, which tools use to read the server's details and who's online.

Default: false

The UDP port query listens on.

Default: 25565 · 1 to 65534

Turns on RCON, a remote console. It isn't encrypted, so keep its port off the internet.

Default: false

The TCP port RCON listens on.

Default: 25575 · 1 to 65534

RCON's password. With RCON on and no password, RCON doesn't start.

Default: empty

Resource pack

A link to a resource pack players are offered when they join, of 250 MiB at most.

Default: empty

Disconnects players who turn the pack down.

Default: false

The pack's SHA-1, 40 characters in lower case, so players' games can check the download.

Default: empty

A UUID for the pack, so games can tell it from others.

Default: empty

The message offering a required pack, as a text component. Empty uses the game's own.

Default: empty

Management API

Turns on the Minecraft Server Management Protocol, which lets tools manage the server over a WebSocket.

Default: false

The address the API listens on.

Default: localhost

The API's port. 0 picks a new one at each start.

Default: 0 · 0 to 65534

The secret tools send: 40 letters and digits. Empty, the server makes one and writes it here.

Default: empty

Encrypts the API with TLS. With TLS on and no keystore, the server won't start.

Default: true

The keystore file with the API's TLS certificate.

Default: empty

The keystore's password. The MINECRAFT_MANAGEMENT_TLS_KEYSTORE_PASSWORD environment variable can hold it instead.

Default: empty

Web origins allowed to connect, separated by commas. Empty, no tool in a browser can.

Default: empty

How often the API sends connected tools a heartbeat. 0 sends none.

Default: 0 · 0 or more

Advanced

Publishes tick times over JMX for monitoring tools; Java needs JMX turned on too.

Default: false

Chat filtering settings Realms uses, not documented for other servers.

Default: empty

The format of text-filtering-config: 0 or 1.

Default: 0 · 0 to 1

Your server.properties

No changes
server.properties
#Minecraft server properties
#Made at playkeeper.io/tools/server-properties
accepts-transfers=false
allow-flight=false
broadcast-console-to-ops=true
broadcast-rcon-to-ops=true
bug-report-link=
chat-spam-threshold-seconds=10
command-spam-threshold-seconds=10
difficulty=easy
enable-code-of-conduct=false
enable-jmx-monitoring=false
enable-query=false
enable-rcon=false
enable-status=true
enforce-secure-profile=true
enforce-whitelist=false
entity-broadcast-range-percentage=100
force-gamemode=false
function-permission-level=2
gamemode=survival
generate-structures=true
generator-settings={}
hardcore=false
hide-online-players=false
initial-disabled-packs=
initial-enabled-packs=vanilla
level-name=world
level-seed=
level-type=minecraft\:normal
log-ips=true
management-server-allowed-origins=
management-server-enabled=false
management-server-host=localhost
management-server-port=0
management-server-secret=
management-server-tls-enabled=true
management-server-tls-keystore=
management-server-tls-keystore-password=
max-chained-neighbor-updates=1000000
max-players=20
max-tick-time=60000
max-world-size=29999984
motd=A Minecraft Server
network-compression-threshold=256
online-mode=true
op-permission-level=4
pause-when-empty-seconds=60
player-idle-timeout=0
prevent-proxy-connections=false
query.port=25565
rate-limit=0
rcon.password=
rcon.port=25575
region-file-compression=deflate
require-resource-pack=false
resource-pack=
resource-pack-id=
resource-pack-prompt=
resource-pack-sha1=
server-ip=
server-port=25565
simulation-distance=10
spawn-protection=16
status-heartbeat-interval=0
sync-chunk-writes=true
text-filtering-config=
text-filtering-version=0
use-native-transport=true
view-distance=10
white-list=true

Put it in the server's folder in place of the old one, then restart the server.

server.propertiesNo changes

Put it on your server

The same file for Vanilla, Paper, Purpur, Fabric, NeoForge and the rest.

Three steps

  1. Replace the file

    server.properties sits in the server's folder, next to its jar. Keep the name.

  2. Restart the server

    It reads the file only when it starts.

  3. Check it kept your values

    The server writes the file back as it starts, with every setting it knows, in order.

If a setting doesn't stick

  • It went back to the defaultThe server couldn't read the value, like letters where it wants a number, so it wrote the default in its place.
  • A panel or Playkeeper set it backHosts' panels set some keys from their own settings at every start. Change those there.
  • It's from an older versionpvp, allow-nether, enable-command-block and spawn-monsters are game rules since 1.21.9. The server keeps the lines but doesn't read them.
  • The server won't startWith the management API on, TLS needs a keystore. The editor above warns about that, and about RCON without a password.

In Playkeeper, the common ones are in Settings

Difficulty, game mode, view distance, the most players and the server list's message, in plain words. Its Files tab edits server.properties for the rest and marks the lines Settings sets.

curl -fsSL https://playkeeper.io/install | sudo sh
server.properties open in Playkeeper's Files tab: marked lines, like difficulty and enable-rcon, are set from Settings each time the server starts.

Questions

Where is server.properties?

In the server's folder, next to its jar. The server makes it the first time it starts, in the folder it was started from.

How do I change a server.properties setting?

Change the line in any text editor, save it and restart the server, which reads the file only when it starts. Or change it here and download the whole file.

Why did my setting go back to the default?

The server couldn't read the value, like letters where it expects a number, so it wrote the default back when it started. A host's panel, or Playkeeper, can also set some keys from its own settings at every start.

What is the default Minecraft server port?

25565, over TCP, set by server-port. Query uses 25565 over UDP, and RCON 25575.

Is the whitelist on by default?

Since 26.3, yes: white-list is true in a new server.properties. Add friends with /whitelist add and their name. Operators can always join.

Where did pvp, allow-nether and spawn-monsters go?

Since 1.21.9 they're game rules, set with /gamerule: pvp, allow_entering_nether_using_portals and spawn_monsters, and command_blocks_work in place of enable-command-block, by their names since 1.21.11. The server keeps the old lines but no longer reads them.

What's the difference between view-distance and simulation-distance?

Both count chunks around each player. view-distance is how far the server sends the world, so how far players see. simulation-distance is how far the world keeps running: mobs moving, crops growing, redstone working.

How do I add colours to the MOTD in server.properties?

Write each colour code as \u00A7 and a letter, like \u00A7a for green, and a line break as \n. The editor escapes what you type the same way.

Does Playkeeper edit server.properties?

Its Settings change the common ones in plain words: difficulty, game mode, view distance, the most players and the server list's message. Its Files tab edits the file itself, and marks the lines Playkeeper sets from Settings at every start.

Your server is one command away.

Free and open source. Friends can be playing tonight.

curl -fsSL https://playkeeper.io/install | sudo sh
Try the live demo