How to Configure a Vanilla Minecraft Server

Every vanilla server setting that matters, in the order it matters: server.properties first, then the world and permissions files Mojang writes next to it.

Written by
Mihail Griniuc
Last updated
Checked against
Vanilla 1.21.11
Reading time
4 min

Short answer

Everything vanilla is set in server.properties: view and simulation distance, whitelist, difficulty, gamemode, the port and the world name. Change it with the server stopped, restart, and read the console, which lists any key it had to reset.

Vanilla gives you one settings file and no configuration layer above it. That is its appeal and its limit: the settings that forks spend pages documenting do not exist here, so what you can tune is what Mojang exposed, and knowing which keys matter is the whole job.

This guide walks server.properties key by key in the order you are likely to need it, covers the other files Mojang writes beside it, and explains the one behaviour of the file that surprises people: it is regenerated on every start.

Before you start

  • File access to the server folder
  • The server stopped while you edit
  • A backup of the world before changing level-name

1. Understand how server.properties behaves

The file is written the first time the server starts, and rewritten on every start afterwards. Existing values are copied across; missing keys and unparseable values are replaced with defaults. Comments are dropped when it is rewritten.

That means a typo in a key name does nothing, silently, and a value the server cannot parse is quietly reset. The console prints the settings it loaded at startup, so check that line rather than assuming your edit took.

server.properties, the generated header
#Minecraft server properties
#Thu Oct 15 12:31:04 UTC 2026
accepts-transfers=false
allow-flight=false
...

2. Set the keys that change how the server feels

view-distance and simulation-distance both default to 10 and both range from 3 to 32. View distance decides how much world the server sends; simulation distance decides how far away entities keep moving. On a small server, 6 or 8 is the difference between comfortable and not, and players rarely notice.

The rest of the keys you will touch: difficulty (peaceful, easy, normal, hard), gamemode, max-players, pvp, spawn-protection, motd and white-list. Set white-list=true for a private server so strangers cannot join while you decide.

server.properties
view-distance=6
simulation-distance=6
difficulty=normal
gamemode=survival
max-players=10
spawn-protection=16
white-list=false
motd=A Minecraft Server
  • view-distance and simulation-distance accept 3 to 32. The wiki recommends reducing simulation-distance if players report lag.
  • spawn-protection is the side length of the protected square as 2x+1, so 16 protects a 33-block square. It is not written to the file until the first player joins.
  • pvp=false disables player damage, which is the setting most event servers change.
  • max-players is a limit, not a reservation. Values far above what your hardware can run produce a server nobody can play on.

3. Set the network keys, and leave server-ip alone

server-port is the TCP port the server listens on, defaulting to 25565, and it must be forwarded if the server is behind a home router. enable-query and enable-rcon expose extra interfaces; both default to off and both should stay off unless something needs them, since query carries no authentication.

server-ip should stay empty. An empty value means the server listens on every interface, which is what you want. Setting it to a specific address is a common way to break a working server.

online-mode defaults to true and should stay true: it checks every joining player against the account database. Turning it off is what "cracked" means, and it lets anyone with any name join as that name.

server.properties
server-port=25565
server-ip=
online-mode=true
enable-query=false
enable-rcon=false
sync-chunk-writes=true

4. Know the other files Mojang writes

Three files beside server.properties matter to an administrator. ops.json lists operators, whitelist.json lists allowed players, and banned-players.json and banned-ips.json hold bans. All four are JSON, all four are read at startup, and all four are better edited through the commands that manage them, because the commands keep the in-game state and the file in step.

The world folder is the world itself: level.dat for the metadata, region for chunks, playerdata for inventories and positions, datapacks for data packs and stats for player statistics. Back it up as one piece. Backing up covers what a usable backup contains.

in game or console
/whitelist add SomePlayer
/op SomePlayer
/ban SomePlayer Griefing

5. Restart and read what the server loaded

Start the server and read the console. It lists the settings it parsed, and any value it had to replace appears with its default. If a change you made is not reflected there, the key name or the value format is wrong.

Then join and check the three things players notice first: how far they can see, whether they spawn somewhere sensible, and whether the rules match what you intended. Configuration errors are cheap to fix on day one and expensive to discover later.

Good to know

  • Vanilla has no per-world configuration. Every setting in this file applies to every world on the server, which is one of the reasons forks exist.
  • pause-when-empty-seconds (default 60) pauses the server when nobody is online. It saves CPU on a machine you share with other work, and on a hosting panel it may already be handled for you.
  • Mods that require a loader are a different configuration surface entirely. The settings here are the vanilla ones and do not describe a Forge, Fabric or NeoForge server.
  • Vanilla vs Paper covers what you give up by staying on the stock server, and fixing vanilla lag covers the problems you cannot tune away.

Common questions

Where is the vanilla server configuration file?

server.properties, in the folder the server JAR runs from. Mojang writes it on first start and rewrites it on every start, keeping your values and resetting anything it cannot parse.

Why did my server.properties changes disappear?

You edited it while the server was running and it was rewritten on shutdown or restart. Stop the server, edit, and start it again. Also check the console line listing loaded settings to confirm the key name is exactly right.

What view distance should a small server use?

Six to eight. Both view and simulation distance default to 10 and accept 3 to 32; on one core the difference is visible and most players do not notice the lower value once fog and their own render settings are in play.

Can I use Paper plugins on a vanilla server?

No. Plugins need the Bukkit, Spigot or Paper API, which the vanilla server does not implement. Switch the server software to Paper, which reads your existing world unchanged.

Sources

Official documentation this guide was checked against.

Written and maintained by Mihail Griniuc. Last reviewed against Vanilla 1.21.11. Spotted a mistake or something out of date? Email [email protected].

Revision history
  • Rewritten around the file's regeneration behaviour, with the keys grouped by what they change and the other server files explained.

Rather not run this on your own machine? PufferHost gives every player a free Minecraft server with 3 GB of RAM and 10 slots. Create a free server.