The server.properties file is the core configuration file for any Minecraft server. It controls everything from your server's game mode and difficulty to player limits and view distance. Understanding these settings helps you customise your server without needing plugins.
Where to Find It
The server.properties file is located in the root directory of your server files. You can access it through the File Manager in the Game Panel (Core > Files) or via SFTP.
The file uses a simple format - one setting per line, with the property name and value separated by an equals sign:
difficulty=normal
max-players=20
view-distance=10Lines starting with # are comments and are ignored by the server.
How to Edit server.properties
Important: Always stop your server before editing server.properties. The server writes to this file when it shuts down, so any changes you make while the server is running will be overwritten.
- Stop your server from the Game Panel
- Open the File Manager (Core > Files)
- Click on
server.propertiesto open the editor - Make your changes
- Click Save
- Start your server
You can also edit this file via SFTP. See How to Access and Manage Server Files for SFTP setup instructions.
World Settings
These settings control how your world generates and behaves.
level-name
level-name=worldThe name of your world folder. If you change this to a folder that does not exist, the server will generate a new world with that name. If you want to load a different world, make sure the folder name here matches the world folder in your server files.
level-seed
level-seed=The seed used for world generation. Leave blank for a random seed. Only affects new world generation - changing this on an existing world will not regenerate already-loaded chunks.
level-type
level-type=minecraft\:normalControls the world generation type.
| Value | Description |
|---|---|
minecraft\:normal |
Standard world generation (default) |
minecraft\:flat |
Superflat world |
minecraft\:large_biomes |
Same as normal but with larger biomes |
minecraft\:amplified |
Extreme terrain heights (more resource-intensive) |
gamemode
gamemode=survivalThe default game mode for new players joining the server.
| Value | Description |
|---|---|
survival |
Standard survival gameplay |
creative |
Creative mode with unlimited resources |
adventure |
Players cannot break or place blocks without the correct tools/permissions |
spectator |
Fly-through spectator mode |
difficulty
difficulty=easyControls mob damage, hunger drain, and other difficulty-related mechanics.
| Value | Effect |
|---|---|
peaceful |
No hostile mobs, health regenerates quickly |
easy |
Hostile mobs deal less damage |
normal |
Standard difficulty |
hard |
Mobs deal more damage, hunger can kill |
hardcore
hardcore=falseWhen set to true, players are banned from the server on death (or set to spectator mode). This also forces the difficulty to hard.
spawn-protection
spawn-protection=16The radius (in blocks) around the world spawn point where only operators can build. Set to 0 to disable spawn protection entirely. This is useful if you use a plugin to manage spawn areas instead.
generate-structures
generate-structures=trueControls whether structures like villages, temples, and strongholds generate in the world. Only affects new chunk generation.
max-world-size
max-world-size=29999984The maximum radius of the world border in blocks from the centre. The default is essentially unlimited. Lowering this can help control world size and reduce storage usage.
allow-nether
allow-nether=trueSet to false to disable the Nether dimension entirely. Nether portals will not work.
Player Settings
These settings control player limits and gameplay behaviour.
max-players
max-players=20The maximum number of players that can be connected at the same time. Players beyond this limit will see a "Server Full" message. This does not affect RAM allocation - it is only a connection limit.
white-list
white-list=falseWhen set to true, only players added to the whitelist can join the server. Manage the whitelist using the whitelist add <player> and whitelist remove <player> commands.
enforce-whitelist
enforce-whitelist=falseWhen true, players not on the whitelist who are already online will be kicked when the whitelist is reloaded. When false, already-connected players can stay even if they are removed from the whitelist.
pvp
pvp=trueControls whether players can damage each other. Set to false to disable all player-versus-player combat.
player-idle-timeout
player-idle-timeout=0Time in minutes before idle players are kicked. Set to 0 to disable. Useful for freeing up player slots on busy servers.
spawn-npcs
spawn-npcs=trueControls whether villagers spawn in the world.
spawn-animals
spawn-animals=trueControls whether passive mobs (cows, pigs, sheep, etc.) spawn naturally.
spawn-monsters
spawn-monsters=trueControls whether hostile mobs (zombies, skeletons, creepers, etc.) spawn naturally. Setting this to false is different from setting the difficulty to peaceful - peaceful also removes hunger drain and increases health regeneration.
allow-flight
allow-flight=falseWhen false, players detected as flying (without creative mode) are kicked. Set to true if you use plugins that allow flying, such as EssentialsX's /fly command. Most servers with plugins should set this to true to prevent false kicks.
Network Settings
These settings control how players connect to your server.
server-port
server-port=25565The port your server listens on. On the Game Panel, this is assigned automatically and should not be changed manually.
server-ip
server-ip=Leave this blank. The Game Panel manages this automatically.
online-mode
online-mode=trueWhen true, the server verifies that connecting players have a legitimate Minecraft account. Do not set this to false unless you have a specific reason (such as running behind a proxy like Velocity). Disabling this allows anyone to join with any username.
enable-query
enable-query=falseEnables the GameSpy4 protocol for server status queries. Some server listing websites use this to display player counts and server information.
query.port
query.port=25565The port used for queries if enable-query is set to true. Usually set to the same value as server-port.
Performance Settings
These settings directly impact server performance. Adjusting them is one of the easiest ways to reduce lag.
view-distance
view-distance=10The number of chunks loaded around each player. Lower values reduce memory and CPU usage significantly. 6-8 is recommended for most servers. Each increase loads chunks in a square pattern, so the difference between 10 and 8 is larger than it sounds.
simulation-distance
simulation-distance=10Controls how far from the player entities and blocks are actively ticked (mobs move, crops grow, redstone fires). Chunks between the simulation distance and view distance are visible but frozen. 4-6 is a good starting point for servers experiencing lag.
max-tick-time
max-tick-time=60000Time in milliseconds before the server watchdog kills the server for being unresponsive. The default (60000ms = 60 seconds) is fine for most servers. Set to -1 to disable the watchdog entirely, though this is not recommended.
network-compression-threshold
network-compression-threshold=256The minimum packet size (in bytes) before compression is applied. Lower values compress more data (saving bandwidth but using more CPU). The default of 256 works well for most servers.
Display Settings
These settings control how your server appears to players.
motd
motd=A Minecraft ServerThe message displayed in the server list below your server name. Supports colour codes using the \u00A7 symbol (or \u00a7). For example:
motd=\u00a7bWelcome to \u00a7dMy ServerMost servers use a plugin like MiniMOTD for more control over the server list appearance, including multiple lines and formatting.
enable-command-block
enable-command-block=falseSet to true to allow command blocks to function. Command blocks must be placed by an operator.
enable-status
enable-status=trueWhen true, the server responds to status pings from the server list, showing player count and MOTD. Set to false to hide your server from appearing when players add it to their server list.
Server Icon
The server icon is not a server.properties setting, but is worth mentioning here. To add a server icon:
- Create a 64x64 pixel PNG image
- Name it
server-icon.png - Upload it to the root of your server files (same folder as
server.properties) - Restart the server
Common Changes
Changing the MOTD
- Open
server.properties - Find the
motd=line - Change it to your desired message
- Save and restart
For colour codes, use \u00a7 followed by a colour code character (e.g., \u00a7a for green, \u00a7c for red, \u00a7b for aqua).
Enabling the Whitelist
- Set
white-list=true - Save and restart
- Add players with the
whitelist add <playername>command
Changing Difficulty or Game Mode
- Change
difficulty=topeaceful,easy,normal, orhard - Change
gamemode=tosurvival,creative,adventure, orspectator - Save and restart
Existing players keep their current game mode unless you also use the /gamemode command on them.
Adjusting View Distance for Performance
If your server is lagging:
- Set
view-distance=8(or lower) - Set
simulation-distance=6(or lower) - Save and restart
This is one of the most effective performance changes you can make. See Troubleshooting Server Lag for more optimisation tips.
Disabling PvP
- Set
pvp=false - Save and restart
Troubleshooting
Changes are not being applied
The most common reason is editing the file while the server is running. The server overwrites server.properties on shutdown, so your changes get lost. Always stop the server first, make your changes, then start it again.
A setting seems to do nothing
Property names are case-sensitive and must be spelled exactly right. If you misspell a property name, the server silently ignores it and uses the default value. Double-check your spelling against this guide.
Wrong value types
Some settings expect true/false, others expect numbers, and others expect specific text values. Using the wrong type (e.g., yes instead of true) will cause the setting to be ignored.
World not loading after changing level-name
The level-name value must exactly match the name of the world folder in your server files. Check for differences in capitalisation or extra spaces.
Need Help?
If you have questions about server configuration or need help with a specific setting:
- Support Ticket
- Discord Server - use the
/supportcommand - Email: [email protected]