Minecraft server.properties: Every Setting Explained (2026 Guide) Background
Blog Aug 12, 2026

Minecraft server.properties: Every Setting Explained (2026 Guide)

Minecraft Server's server.properties: All of Its Settings Explained A Minecraft server's server.properties is the main text file that controls how your Java Edition Minecraft server behaves. It sits in your server's root folder and stores one setting per line in a simple

Search
Ctrl K
Minecraft server.properties: Every Setting Explained (2026 Guide) Background

Minecraft Server's server.properties: All of Its Settings Explained

A Minecraft server's server.properties is the main text file that controls how your Java Edition Minecraft server behaves. It sits in your server's root folder and stores one setting per line in a simple key=value format, which shows the motd players see, how many can join, difficulty, world seed, view distance, ports, whitelist, and dozens more. Edit the value you want, restart the server, and the change takes effect.

The single mistake that trips people up: editing the file while the server is running. Minecraft rewrites server.properties when it stops and starts, so changes made mid-session can be overwritten or simply ignored. Always stop the server first (or edit, then restart), never edit live and hope it sticks.

This guide covers what every current setting does, its default value, and how to tune the ones that actually matter for performance and gameplay. It's written for Java Edition, which is what most self-hosted and rented Minecraft servers run, usually with Geyser installed to allow for Bedrock cross-play.


How server.properties works

minecraft server.properties file

A few things worth knowing before you start editing:

  • Location: the file lives in your server's files (the same folder as the server jar and your world folder, all in the "Files" section of the game panel or access via SFTP).
  • Only edit values, not keys. The text to the left of each = is the setting name and must not be changed. Only edit the value to the right.
  • Restart to apply. Changes don't take effect until the server restarts. (The /reload command reloads some things, but a restart is the reliable way.)
  • Missing settings regenerate. If a line is missing or invalid, the server fills in the default on next startup and rewrites the file. That's also why deleting the file resets everything to defaults.
  • Lines starting with # are comments and are ignored.
  • Bedrock is different. Bedrock Dedicated Server uses its own, incompatible server.properties with different keys (allow-list, allow-cheats, port 19132, and so on). This guide is Java Edition.

The settings you'll actually change most

If you just want your server set up sensibly, these are the handful most people touch first. Each is explained in full further down.

SettingDefaultWhat it controls
motdA Minecraft ServerThe description shown under your server name in the multiplayer list.
max-players20How many players can be online at once. ElixirNode provides unlimited players for each Minecraft server hosting package.
difficultyeasypeaceful, easy, normal, or hard.
gamemodesurvivalDefault mode for new players: survival, creative, adventure, spectator.
view-distance10How many chunks the server sends, a big performance lever.
simulation-distance10How far from players the world is actively ticked.
white-listfalseRestrict who can join to an approved list.
online-modetrueVerify players against Mojang/Microsoft accounts. Keep this on.
level-seedblankThe seed for a brand-new world.
spawn-protection16Radius around spawn that non-ops can't build in.


Server identity & networking

These control how your server presents itself and how it's reached over the network.

SettingDefaultWhat it does & tips
motdA Minecraft Server"Message of the day" shown beneath your server name in the list. Supports color/formatting codes. Keep it under ~59 characters or the list may show a communication error.
server-port25565The TCP port the server listens on. Leave it at 25565 unless you're told otherwise, most tools and players assume this default. On ElixirNode, this is assigned for you.
server-ipblankWhich IP address to bind to. Best left blank so the server listens on all interfaces. Changing it is a common cause of "can't connect." On ElixirNode it's assigned for you by the game panel automatically anyway, so no need to touch it ever.
max-players20Maximum simultaneous players. This is a capacity setting, not just a number, more players means more RAM and CPU. Size it to your plan. All ElixirNode plans come with unlimited players so you can set it to as high as you want, but there must be some number (even if a million).
enable-statustrueWhether the server shows as "online" in the list. If false, it still accepts connections but appears offline.
hide-online-playersfalseHides the player list from the status ping (players still connect normally).
accepts-transfersfalseWhether the server accepts players sent from another server via a transfer packet (used by network setups). Leave off unless you're building a proxy/transfer flow.
prevent-proxy-connectionsfalseKicks players whose network location doesn't match Mojang's auth data, a light defense against some proxy/VPN abuse.
bug-report-linkblankA URL surfaced to players as a "report bug" server link. Leave blank to hide it.


World & generation

Everything about which world loads and how a new one is generated.

SettingDefaultWhat it does & tips
level-nameworldThe name of the world folder to load. Point it at a different folder to switch worlds. To load an existing world, upload it and set this to its folder name.
level-seedblankSeed for a new world. Blank = random. Note: this only affects generation of a fresh world, it does nothing to a world that already exists.
level-typeminecraft:normalWorld preset: minecraft:normal, minecraft:flat (superflat), minecraft:large_biomes, minecraft:amplified, or minecraft:single_biome_surface.
generator-settings{}Advanced JSON to customize generation, most relevant with the flat and single-biome presets.
generate-structurestrueWhether structures like villages generate in new chunks. (Dungeons still generate even when this is off.)
max-world-size29999984Distance in blocks from world center to the world border. Lowering it caps how far the world generates.
hardcorefalseEnables hardcore mode on new worlds, permanent death (players are banned/spectator on death), and forced hard difficulty.
spawn-protection16Side length of the protected spawn area is 2×value+1: 16 protects a 33×33 square. Set to 0 to disable. Non-ops can't build inside it.
initial-enabled-packsvanillaComma-separated data packs enabled when a world is created. Feature packs must be added here explicitly.
initial-disabled-packsblankComma-separated data packs to keep off at world creation.


Gameplay & players

SettingDefaultWhat it does & tips
gamemodesurvivalDefault mode for players joining for the first time: survival, creative, adventure, or spectator.
force-gamemodefalseIf true, players are switched back to the default game mode every time they join, rather than resuming the mode they left in.
difficultyeasypeaceful, easy, normal, or hard. This affects mob damage, hunger, and more. It also matters for villager mechanics: on Hard, villagers attacked by zombies always become zombie villagers, which you can then cure, see: How to Cure a Zombie Villager for Massive Trade Discounts.
player-idle-timeout0Minutes a player can idle before being kicked. 0 = never kick for idling.
allow-flightfalseAllows survival-mode flight from a fly mod (not creative flight, which is unaffected). Leaving it off kicks players who appear to fly. Turn it on only when a mod or plugin legitimately needs it, common on modded servers (Forge vs Fabric).
pause-when-empty-seconds60Seconds with zero players online before the server pauses ticking to save resources. A newer, genuinely useful setting for idle servers, lower it to save CPU faster, raise it if you rely on farms running while nobody's on.


Permissions & access control

SettingDefaultWhat it does & tips
white-listfalseWhen true, only players on whitelist.json can join; the standard way to run a private/friends-only server. See How to Create a Minecraft Server Whitelist
enforce-whitelistfalseWhen true, reloading the whitelist immediately kicks anyone online who isn't on it. Pair with white-list for strict enforcement.
op-permission-level4The permission level granted by /op (1-4). Level 4 is full access, including stopping the server. Lower it if you want ops with limited power.
function-permission-level2Default permission level that datapack functions run at (1–4).
online-modetrueKeep this on. It verifies every player against the official account database. Turning it off ("cracking") lets unauthenticated clients in and is a major security and griefing risk. A cracked server is also far harder to protect.
enforce-secure-profiletrueRequires players to have a Mojang-signed chat key. With it off, chat is unsigned and unreportable, and clients see a warning when connecting.


Performance & optimization

These are the settings that decide whether your server runs smoothly. If you're fighting lag, start here and make sure your plan has the RAM to back your numbers: see How Much RAM Does My Minecraft Server Need?

SettingDefaultWhat it does & tips
view-distance10Chunks of world data sent to each client (radius). This is one of the biggest performance leverages, every extra chunk multiplies work. Dropping from 10 to 6–8 is the fastest way to cut lag on a busy or low-RAM server.
simulation-distance10How far from players the world is actively ticked (mobs, redstone, crops). Reducing this lightens CPU load without shrinking how far players can see, so it's often a better first cut than view-distance.
entity-broadcast-range-percentage100How far away entities are sent to clients, as a percentage (10-1000). Lower it (e.g. 50) to reduce entity-heavy lag; players will see distant mobs pop in closer.
network-compression-threshold256Minimum packet size (bytes) before compression kicks in. -1 disables compression; 0 compresses everything. The default is fine for most; only tune with a reason.
max-tick-time60000Milliseconds a single tick may take before the watchdog force-stops the server as "crashed." Set to -1 to disable the watchdog (useful when debugging long operations, but leave it on normally).
sync-chunk-writestrueWrites chunks synchronously to prevent corruption after a crash. Turning it off can reduce I/O stalls but risks data loss, leave on unless you know your storage.
region-file-compressiondeflateChunk compression algorithm: deflate, lz4, or none. lz4 trades larger files for faster reads/writes, worth testing on I/O-bound servers.
use-native-transporttrueEnables optimized packet handling on Linux. Leave on.
max-chained-neighbor-updates1000000Caps consecutive block-neighbor updates to stop certain redstone/update loops from freezing the server. Negative disables the limit.
rate-limit0Max packets a player can send before being kicked. 0 = off. A blunt anti-flood tool; most people leave it disabled and use a plugin instead.


Resource packs

SettingDefaultWhat it does & tips
resource-packblankDirect download URL for a server resource pack (max 250 MiB). Players are prompted to download it on join.
resource-pack-sha1blankLowercase SHA-1 hash of the pack. Strongly recommended as it verifies integrity and lets clients cache correctly. A mismatch prints a warning in the console.
require-resource-packfalseIf true, players who decline the pack are disconnected.
resource-pack-promptblankCustom message shown on the resource-pack prompt (chat-component syntax).
resource-pack-idblankOptional UUID identifying the pack to clients.


Remote management & monitoring

Tools for controlling or watching the server from outside the game console. Most casual servers can leave all of these at their defaults.

SettingDefaultWhat it does & tips
enable-rconfalseEnables RCON, a remote console protocol. Convenient, but unencrypted, never expose it to the open internet. If you enable it, restrict access to localhost or a trusted network.
rcon.passwordblankRCON password. RCON won't start with a blank password, as a safeguard.
rcon.port25575TCP port RCON listens on.
broadcast-rcon-to-opstrueSends RCON command output to online ops.
broadcast-console-to-opstrueSends console command output to online ops.
enable-queryfalseEnables the Query protocol, which lets external tools read basic server info (players, MOTD, etc.).
query.port25565UDP port Query listens on.
enable-jmx-monitoringfalseExposes tick-time metrics via JMX for monitoring tools. Requires extra JVM flags. Niche.
log-ipstrueWhether player IP addresses appear in the server log/console. Set to false for a more privacy-friendly log.
status-heartbeat-interval0Interval for management-server heartbeat notifications. 0 = disabled.
management-server-*off / localhostA newer group (management-server-enabled, -host, -port, -secret, -tls-enabled, -tls-keystore, -tls-keystore-password, -allowed-origins) for the built-in Server Management Protocol, a modern API for controlling the server programmatically. Off by default; leave it unless you're specifically building an integration.


Anti-abuse, chat & miscellaneous

SettingDefaultWhat it does & tips
chat-spam-threshold-seconds10Controls the anti-spam mechanism that auto-kicks players sending chat too fast. Set to 0 to disable chat-spam kicks.
command-spam-threshold-seconds10Same idea, for command spam. 0 disables.
enable-code-of-conductfalseWhen on, the server shows a code-of-conduct file (from a codeofconduct folder) matched to the player's language on join.
text-filtering-configblankInternal chat-filtering configuration used by Realms; not intended for general use.
text-filtering-version0Format version for the above (0 or 1).


Legacy & relocated settings

If you've followed older guides, you may expect settings like pvp, spawn-monsters, spawn-npcs, allow-nether, and enable-command-block in this file. Recent Minecraft versions have moved several of these gameplay toggles out of server.properties and into world-creation options and game rules instead. What you see depends on your server version:

  • If your file still has them (common on servers running older releases), they work as before: pvp toggles player-vs-player combat, spawn-monsters/spawn-npcs toggle hostile mobs/villagers, allow-nether controls Nether access, and enable-command-block allows command blocks.
  • If they're missing, set the equivalent behavior through game rules and world options in-game or via commands.

The takeaway: don't add these keys back by hand on a version that removed them, it won't do anything. Check what your generated file actually contains first.


A sensible starting configuration

Below is a reasonable baseline for a small survival server on a modest plan. Adjust to taste:

motd=Welcome to our server!
max-players=10
gamemode=survival
difficulty=normal
online-mode=true
white-list=true
view-distance=8
simulation-distance=8
spawn-protection=0
pause-when-empty-seconds=60

Lower view-distance and simulation-distance if you add players or notice lag; raise them if you have RAM to spare. Everything not listed keeps its default.


Frequently asked questions

Where is server.properties and how do I edit it?
It's in your server's "Files", alongside the world folder. Access this via the game panel by clicking on "Files" or via SFTP as aforementioned.

Do I have to restart the server after changing it?
Yes. Changes only take effect on restart. Editing while the server is running risks having your changes overwritten when it stops.

Why did my changes reset themselves?
Usually because the file was edited while the server was running, or a value was invalid (the server replaces invalid values with defaults on startup). Stop the server, edit, save, then start, and double-check you only changed the value to the right of the =.

How do I enable PvP or change mob spawning now?
On recent versions these moved out of server.properties. If your file has pvp/spawn-monsters, edit them there; if not, use the matching game rule or world setting.

What's the difference between view-distance and simulation-distance?view-distance is how far players can see loaded terrain; simulation-distance is how far the world is actively running (mobs, redstone, crops). Lowering simulation-distance cuts CPU load while keeping the view wide, which is often the better first move against lag.

Does a higher view-distance need more RAM?
Yes, more loaded chunks means more memory and CPU, and it scales with player count. If you're pushing view-distance up, size your plan accordingly: How Much RAM Does My Minecraft Server Need?