Understanding server.properties

8 min read Updated Apr 2, 2026

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=10

Lines 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.

  1. Stop your server from the Game Panel
  2. Open the File Manager (Core > Files)
  3. Click on server.properties to open the editor
  4. Make your changes
  5. Click Save
  6. 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=world

The 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\:normal

Controls 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=survival

The 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=easy

Controls 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=false

When 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=16

The 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=true

Controls whether structures like villages, temples, and strongholds generate in the world. Only affects new chunk generation.

max-world-size

max-world-size=29999984

The 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=true

Set 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=20

The 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=false

When 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=false

When 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=true

Controls whether players can damage each other. Set to false to disable all player-versus-player combat.

player-idle-timeout

player-idle-timeout=0

Time 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=true

Controls whether villagers spawn in the world.

spawn-animals

spawn-animals=true

Controls whether passive mobs (cows, pigs, sheep, etc.) spawn naturally.

spawn-monsters

spawn-monsters=true

Controls 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=false

When 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=25565

The 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=true

When 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=false

Enables the GameSpy4 protocol for server status queries. Some server listing websites use this to display player counts and server information.

query.port

query.port=25565

The 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=10

The 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=10

Controls 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=60000

Time 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=256

The 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 Server

The 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 Server

Most 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=false

Set to true to allow command blocks to function. Command blocks must be placed by an operator.

enable-status

enable-status=true

When 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:

  1. Create a 64x64 pixel PNG image
  2. Name it server-icon.png
  3. Upload it to the root of your server files (same folder as server.properties)
  4. Restart the server

Common Changes

Changing the MOTD

  1. Open server.properties
  2. Find the motd= line
  3. Change it to your desired message
  4. 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

  1. Set white-list=true
  2. Save and restart
  3. Add players with the whitelist add <playername> command

Changing Difficulty or Game Mode

  1. Change difficulty= to peaceful, easy, normal, or hard
  2. Change gamemode= to survival, creative, adventure, or spectator
  3. 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:

  1. Set view-distance=8 (or lower)
  2. Set simulation-distance=6 (or lower)
  3. 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

  1. Set pvp=false
  2. 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:

Was this article helpful?

Related Articles