Generate a Minecraft server.properties
Of all the formats here, server.properties is the most lenient — and that leniency is exactly what hides mistakes. The server boots without complaint and quietly disregards whatever you got wrong.
Start from a preset
Visual Settings
server.properties
Advertisement
The server.properties format
Each line is `key=value`: no spaces either side of the equals sign, and no quotes. Quotes are the textbook slip — motd="Welcome" produces a message of the day that shows the quotation marks, because the parser keeps them as part of the text. Windows paths want forward slashes or doubled backslashes, and the section sign used for colour codes must be written as its unicode escape, not pasted in as-is.
Advertisement
The mistake that wastes an evening
Editing level-name does not rename your world. It tells the server to go looking for a world with the new name, and when it finds none, it generates a fresh one. The old world is still on disk under its old name, but everyone logs into a blank map and concludes the save is lost. Editing level-seed ends the same way, for a different reason.
Read once, at startup
The server reads server.properties when it starts and not again. Change a value while it is running and nothing happens until the next restart, which makes it easy to conclude an edit did not work. Edit, save the file, restart, and only then test.
Lines from older guides
server.properties has changed across versions, and old guides still circulate. simulation-distance only exists from 1.18 onwards; on older versions the line is ignored. level-type values became namespaced in 1.19, so a guide's level-type=default is minecraft:normal today. A line the current version does not recognise is not an error; it is simply skipped, which is the leniency described above.
What is not in this file
Operators, the whitelist and bans are not set here. They live in ops.json, whitelist.json, banned-players.json and banned-ips.json next to server.properties, and are best changed with the in-game commands (/op, /whitelist add, /ban) so the server writes the files itself in the format it expects.