Coming next: a Discord server for server owners. Swap tips with other owners, suggest features you want to see on the site and more!

Free tool · runs in your browser

Minecraft server.properties generator

Every setting explained in plain words, with its default. Load your file, change it, download it.

Defaults of Java Edition 26.3

Server list and connection

motddefault: A Minecraft Server

The message under your server's name in the multiplayer list. Two lines at most. Make a colourful one.

server-portdefault: 25565

The TCP port the server listens on. If it isn't 25565, players add it after the address with a colon (play.example.com:25566).

server-ipdefault: empty

The IP address the server listens on. Leave it empty to listen on all of them, which is the usual choice.

enable-statusdefault: true

The server answers status checks, so it shows as online in the multiplayer list and on server lists. Off = it looks offline, though players can still join.

hide-online-playersdefault: false

Hides the names of online players from the multiplayer list and from status checks.

network-compression-thresholddefault: 256

Network packets bigger than this many bytes are compressed. -1 = no compression (fine on a home network), 0 = compress everything.

rate-limitdefault: 0

Players who send more packets than this each second are kicked. 0 = no limit.

use-native-transportdefault: true

Faster networking on Linux servers. Keep it on.

accepts-transfersdefault: false

Accepts players that another server sends here with the /transfer command.

Players and access

max-playersdefault: 20

How many players can be online at the same time.

white-listdefault: true

Only players on the whitelist can join. Add them with /whitelist add name. Turn it off for a public server.

enforce-whitelistdefault: false

When the whitelist is reloaded, online players who aren't on it are kicked.

online-modedefault: true

Players must own Minecraft: each login is checked with Mojang. Only turn it off behind a proxy (Velocity, BungeeCord) that checks accounts itself, or anyone can join under any name.

enforce-secure-profiledefault: true

Players need a profile key signed by Mojang to join (used for signed chat and chat reports).

prevent-proxy-connectionsdefault: false

Kicks players whose internet provider differs from the one Mojang's login server saw. Stops some VPNs.

op-permission-leveldefault: 4

What new operators may do: 1 build at spawn, 2 cheat commands, 3 kick and ban players, 4 every command (stopping the server too).

function-permission-leveldefault: 2

The permission level functions from data packs run with (1 to 4, as for operators).

player-idle-timeoutdefault: 0

Minutes a player can stay idle before being kicked. 0 = never.

chat-spam-threshold-secondsdefault: 10

How much fast chatting is allowed before a player is kicked for spam. 0 = no limit.

command-spam-threshold-secondsdefault: 10

How many fast commands are allowed before a player is kicked for spam. 0 = no limit.

log-ipsdefault: true

Players' IP addresses are written in the console and the log files.

broadcast-console-to-opsdefault: true

Operators in the game see the output of commands run in the console.

broadcast-rcon-to-opsdefault: true

Operators in the game see the output of commands sent through RCON.

enable-code-of-conductdefault: false

Shows your code of conduct (the files in the codeofconduct folder) to players when they join.

Gameplay

gamemodedefault: survival

The game mode new players start in.

force-gamemodedefault: false

Players are put back into that game mode every time they join.

difficultydefault: easy

How hard the game is: peaceful, easy, normal or hard.

hardcoredefault: false

New worlds are hardcore: hard difficulty, and a player who dies can only watch as a spectator.

allow-flightdefault: false

Lets players fly in survival. Off = players who seem to fly for a few seconds are kicked. Turn it on when plugins or mods let players fly.

spawn-protectiondefault: 16

Radius in blocks around the world spawn that only operators can change. 0 = no protection. It does nothing while the server has no operators.

World

level-namedefault: world

The name of the world's folder. Change it to load another world, or to start a new one.

level-seeddefault: empty

The seed for a new world. Empty = a random seed. Only used when the world is made.

level-typedefault: minecraft:normal

The kind of world made at the first start: normal, flat, large biomes, amplified or a single biome.

generator-settingsdefault: {}

Extra settings for the world type, as JSON (for example the layers of a flat world). Leave {} for a normal world.

generate-structuresdefault: true

Villages, temples and other structures are made in new parts of the world.

max-world-sizedefault: 29999984

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

initial-enabled-packsdefault: vanilla

Data packs switched on when the world is first made, separated by commas.

initial-disabled-packsdefault: empty

Data packs that stay off when the world is first made, separated by commas.

region-file-compressiondefault: deflate

How saved chunks are packed on disk: deflate (smallest files), lz4 (faster) or none.

sync-chunk-writesdefault: true

Chunks are saved one at a time, safely. Off = faster saving, but a crash can damage chunks.

Performance

view-distancedefault: 10

How many chunks around each player are sent to them. Lower = less work for the server and less internet use.

simulation-distancedefault: 10

How many chunks around each player are active (mobs move, crops grow). Lower = less work for the server.

entity-broadcast-range-percentagedefault: 100

How far away mobs and other entities are shown to players, as a percentage of the normal distance.

max-tick-timedefault: 60000

If one tick takes longer than this many milliseconds, the watchdog stops the server because it looks frozen. -1 = never.

pause-when-empty-secondsdefault: 60

Seconds after the last player leaves before the server pauses the world, to save work. 0 = never pause.

max-chained-neighbor-updatesdefault: 1000000

Limit on chain reactions of block updates (huge redstone or falling sand builds). A negative number = no limit.

enable-jmx-monitoringdefault: false

Shares tick times with Java monitoring tools (JMX). For advanced monitoring only.

Resource pack

resource-packdefault: empty

A direct download link to a resource pack that players get when they join.

resource-pack-sha1default: empty

The pack's SHA-1 code. The game uses it to check the download and to know when the pack changed.

resource-pack-iddefault: empty

An ID (a UUID) for the pack, so the game can tell packs apart. Optional.

resource-pack-promptdefault: empty

Your own message on the screen that asks players to download the pack.

require-resource-packdefault: false

Players who say no to the resource pack are disconnected.

Remote control (RCON, query, management)

enable-rcondefault: false

Lets you send commands from outside the game (RCON). Use a strong rcon.password and never open the RCON port to everyone.

rcon.portdefault: 25575

The TCP port for RCON.

rcon.passworddefault: empty

The RCON password. RCON doesn't start without one.

enable-querydefault: false

Answers the query protocol (UDP), which some tools and server lists use to read the player list.

query.portdefault: 25565

The UDP port for query.

management-server-enableddefault: false

Turns on the server management protocol, so tools can control the server over the network.

management-server-hostdefault: localhost

The address the management server listens on.

management-server-portdefault: 0

The port the management server uses.

management-server-secretdefault: empty

The secret tools must send to use the management server. Empty = the server makes one.

management-server-tls-enableddefault: true

The management server uses an encrypted connection (TLS).

management-server-tls-keystoredefault: empty

Path to the keystore file with the TLS certificate. Needed while TLS is on.

management-server-tls-keystore-passworddefault: empty

The password of that keystore file.

status-heartbeat-intervaldefault: 0

How often tools connected to the management server get a status message. 0 = never.

Other

text-filtering-configdefault: empty

Chat filter settings used by Realms. Leave it empty.

text-filtering-versiondefault: 0

Format version of those chat filter settings. Leave it at 0.

How to use it

  1. Load your own server.properties, or start from the defaults.
  2. Change what you need. Each setting says what it does and what its default is.
  3. Download the file and put it in place of the old one, while the server is stopped.
  4. Start the server again.

Questions and answers

Where is server.properties?

In the server's main folder. The server makes it the first time it starts.

Do changes work right away?

No. The server reads the file when it starts. Stop the server first, then replace the file and start it again: a running server can write its own values back when it stops.

Which Minecraft version is this for?

The settings follow Minecraft Java Edition 26.3. Settings from older versions are marked when you load a file that still has them.

Why does my file have \u00A7 and \: in it?

server.properties is written in an old text format: special letters become \u codes and a colon becomes \: (for example level-type=minecraft\:normal). The file you download is written the same way.

Does it work for Bedrock servers?

No. Bedrock Dedicated Server has its own server.properties with other settings. This tool is for Java servers.

More free tools

Your server, on the list

Listing your server on CraftVote is free too.