Minecraft server.properties Generator

Build your server configuration with every setting explained, the right settings for your version, and MOTD colours that actually work.
Settings appear and disappear between versions.
Everything is at its default
World folder name
The folder your world is saved in. Changing it to a name that does not exist generates a brand new world and leaves the old one untouched on disk.
level-name
World seed
The seed used to generate the world. Leave it blank for a random one. It only applies when the world is first created, so changing it later does nothing.
level-seed
World type
The kind of terrain generated when the world is created.
level-type
Generate structures
Whether villages, temples, strongholds and the rest are generated.
generate-structures
Generator settings
JSON settings for the world generator. Mostly used to describe the layers of a superflat world.
generator-settings
World border radius
How far from the centre the world can be generated, in blocks. Lowering it is the simplest way to stop a world growing without limit.
max-world-size
Enabled data packs
Data packs switched on when the world is created, separated by commas.
initial-enabled-packs
Max players
How many players can be connected at once. This does not reserve memory, so raising it on a small plan lets more people in than the server can comfortably run.
max-players
Whitelist
When on, only players on the whitelist can join. The most reliable way to keep a private server private.
white-list
Enforce whitelist immediately
Kicks players who are already online when they are removed from the whitelist, rather than waiting until they next connect.
enforce-whitelist
Idle kick (minutes)
Kicks players who have not moved for this many minutes. Zero disables it.
player-idle-timeout
Hide the player list
Keeps the list of who is online out of the server list entry, while still showing the player count.
hide-online-players
Spawn protection radius
Blocks around spawn that only operators can build in. Set it to 0 to turn it off, which is what most servers want.
spawn-protection

Your server.properties

Useful when editing a file you already have.
#Minecraft server properties
#Generated by MCHosts for Minecraft 26.2
#https://mchosts.com.au/tools/minecraft-server-properties-generator
accepts-transfers=false
allow-flight=false
broadcast-console-to-ops=true
broadcast-rcon-to-ops=true
difficulty=easy
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-enabled-packs=vanilla
level-name=world
level-seed=
level-type=minecraft:normal
log-ips=true
max-chained-neighbor-updates=1000000
max-players=20
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
rate-limit=0
require-resource-pack=false
resource-pack=
resource-pack-sha1=
server-ip=
server-port=25565
simulation-distance=10
spawn-protection=16
sync-chunk-writes=true
use-native-transport=true
view-distance=10
white-list=false
Upload this to your server, replacing the existing file, then restart. Settings are only read at startup.

Edit this file without touching a text editor

On an MCHosts server these settings have their own page in the control panel, so you can change them and restart without uploading anything.
🔒 Risk-free, 7 day money back guarantee. Australian servers, set up in minutes.

Setting the MOTD

The MOTD is the line under your server name in the multiplayer list, and it is the one setting in this file worth spending time on, since it is the only thing most people see before deciding whether to join.
Colour and formatting codes use a section sign, and the field above shows a live preview as you type. If you want to design something properly, with colours, gradients and both lines laid out the way they will appear in game, use the MOTD generator and paste the result in.
Works
motd=§aWelcome to my server
Does not work
motd=&aWelcome to my server
Ampersand codes belong in plugin configuration files. server.properties does not understand them, so players see the codes as ordinary text.

Settings that moved to gamerules in 1.21.2

If you have gone looking for one of these in a recent version and could not find it, this is why. They left server.properties entirely and became gamerules, which take effect immediately without a restart and can be set differently per world.
Old settingUse instead
allow-nether/gamerule allowEnteringNetherUsingPortals
pvp/gamerule pvp
spawn-monsters/gamerule spawnMonsters
spawn-animals/gamerule spawnAnimals
spawn-npcs/gamerule spawnNpcs
enable-command-block/gamerule enableCommandBlocks
One wrinkle: 1.21.11 then renamed gamerules to a new namespaced format, so if one of these is not recognised, use tab completion in game to find the current spelling.

Settings worth changing for performance

Most of this file has no bearing on how well the server runs. These four do, and they are where to start if things feel slow.
SettingTryWhat it does
view-distance10 to 6The largest single saving available. Costs memory across every player at once, and most players will not notice the difference.
simulation-distance10 to 5Cuts CPU work per tick sharply. The world still looks the same, because chunks beyond it are visible, just not ticking.
max-world-size29999984 to 5000Caps how much world can ever be generated. The most effective way to stop a world growing without limit on disk.
pause-when-empty-secondsleave at 60Stops ticking the world when nobody is online. Added in 1.21.2 and worth having on.
If the server is short on memory rather than badly configured, the RAM calculator will tell you what it actually needs.

Settings MCHosts manages for you

A few of these are tied to how your server is connected to the internet. They are shown in the generator rather than hidden, because knowing why something cannot be changed is more useful than not finding it at all.
SettingWhy
server-portMCHosts routes traffic to port 25565 specifically. Changing this takes your server offline with no error message, because connections keep arriving at a port nothing is listening on. Leave it alone.
server-ipMust stay blank on MCHosts. Setting it stops the server accepting the connections forwarded to it.
enable-rconRCON is not reachable on MCHosts, because only the Minecraft port is routed to your server. You do not need it: the control panel gives you a live console already.
enable-queryQuery runs over UDP, which is not routed to your server on MCHosts. Server list pings work normally and cover what most people want this for.

Frequently asked questions

On MCHosts you can edit this file straight from the control panel file manager. Browse our server plans, design a MOTD with the MOTD generator, or point your own domain at your server with the DNS checker.