Minecraft server.properties Explained: Every Setting You Can Change
Guide

Minecraft server.properties Explained: Every Setting You Can Change

A complete reference to every setting in server.properties — from difficulty and spawn protection to view distance and RCON. With recommended values for different server types.

Swelis TeamApril 16, 202612 min read

Your Minecraft server runs fine. Players connect, blocks break, mobs spawn. But something feels slightly off. Maybe the render distance is too short. Maybe PvP is enabled when you wanted a peaceful build server. Maybe new players keep spawning inside your protected hub and suffocating in walls.

All of these problems — and dozens more — trace back to a single text file called server.properties. It controls everything from how far players can see to whether the server even checks if accounts are legitimate.

This guide walks through every setting you can change in server.properties, explains what each one actually does, and gives you concrete recommendations for survival SMPs, creative servers, and minigames networks.


Where to Find server.properties

The file sits in your server's root directory — the same folder that contains your world folder and server jar file.

On Swelis, you have two ways to access it:

  1. File Manager — open your server's dashboard, click the Files tab, and you will see server.properties in the root. Click to edit directly in your browser.

  2. FTP — connect with any FTP client using the credentials from your dashboard. The file is right at the top level.

If the file does not exist yet, start your server once. Minecraft generates server.properties on first boot with default values.

After editing, you must restart the server for changes to take effect. A reload will not pick up server.properties changes — only a full stop and start will.


Core Gameplay Settings

These settings shape the fundamental experience of your server.

difficulty

Controls how hard the game is for players.

ValueNameEffect
peacefulPeacefulNo hostile mobs spawn. Hunger does not deplete.
easyEasyHostile mobs deal less damage. Hunger depletes slowly.
normalNormalStandard damage and hunger rates.
hardHardHostile mobs deal more damage. Hunger can kill you. Zombies can break doors.

You can use either the word (peaceful) or the number (0). For most survival servers, normal is the sweet spot — challenging enough to matter, forgiving enough that death does not feel punishing.

pvp

pvp=true

When true, players can damage each other. When false, players are invincible to other players' attacks — but they can still be pushed, burned by lava placed by others, and killed through indirect means.

Set this to false for cooperative build servers or roleplay servers where PvP should happen in designated arenas (handled by plugins) rather than everywhere.

gamemode

gamemode=survival

The default gamemode for new players joining the server. Options are survival, creative, adventure, and spectator.

This only affects new players. Existing players keep whatever gamemode they had when they last logged out — unless you also set force-gamemode.

force-gamemode

force-gamemode=false

When true, players are reset to the default gamemode every time they join. Useful for minigames servers where everyone should start in adventure mode regardless of what happened in their last session.

spawn-protection

spawn-protection=16

The radius (in blocks) around the world spawn point where only operators can place or break blocks. Set to 0 to disable entirely.

This is a blunt instrument. For anything more sophisticated — protected regions, land claims, per-player plots — you need a plugin like WorldGuard or GriefPrevention. But for small servers, spawn protection keeps griefers from wrecking your spawn hub without adding plugin complexity.

hardcore

hardcore=false

When true, players who die are permanently banned from the server. The world also locks to hard difficulty.

Hardcore is brutal and probably not what you want for a community server. If a player dies to a creeper on day one, they are done forever unless you manually unban them.

allow-flight

allow-flight=false

When false, players who appear to be flying (sustained time off the ground without a supported reason) get kicked with "Flying is not enabled on this server."

This setting is mostly about anti-cheat. If you run any plugins that let players fly — creative mode, /fly commands, custom abilities — you need to set this to true or your players will constantly get kicked.

spawn-npcs

spawn-npcs=true

Controls whether villagers spawn naturally. Set to false if you are building a villager-free world or want to place villagers only through commands.

spawn-animals

spawn-animals=true

Controls whether passive mobs (pigs, cows, sheep, chickens) spawn naturally. Usually leave this on, but turn it off for void worlds or minigames maps.

spawn-monsters

spawn-monsters=true

Controls whether hostile mobs spawn. Setting this to false is different from peaceful difficulty — the game still runs as if hostiles exist, they just do not spawn. Useful for custom maps where you spawn mobs via commands.


Performance Settings

These settings directly impact server performance and player experience. If you are dealing with lag, start here — and check our complete lag troubleshooting guide for deeper diagnosis.

view-distance

view-distance=10

How many chunks around each player the server sends to the client. Higher values mean players see farther, but the server loads more chunks per player.

The default of 10 is reasonable for small servers. For busy survival servers with 20+ concurrent players, drop to 8 or even 6. For creative building servers where players need to see their massive builds, consider 12-16 if your hardware handles it.

View distance is one of the biggest performance levers you have. Each additional chunk is not linear — going from 10 to 12 roughly doubles the loaded chunks because it is calculated as a square.

simulation-distance

simulation-distance=10

How many chunks around each player are actually simulated (mobs move, redstone ticks, crops grow). Chunks beyond simulation distance are loaded but frozen.

This setting was added in 1.18 and is one of the best performance tuning options available. You can set view-distance high (so players see far) while keeping simulation-distance lower (so the server only simulates nearby chunks).

A common configuration: view-distance=10 with simulation-distance=6. Players get decent render distance, but the server only runs game logic for nearby chunks. See our mob spawning guide for how simulation distance affects entity buildup.

max-players

max-players=20

The hard cap on concurrent players. Players beyond this number see "Server is full" when they try to connect.

Set this based on your actual expected player count plus some headroom. There is no performance cost to setting it higher than you need — the server does not allocate resources for empty slots.

entity-broadcast-range-percentage

entity-broadcast-range-percentage=100

Percentage of the default range at which entities are sent to clients. At 100%, a player sees entities up to their full view distance. At 50%, entities only render at half that distance.

Lowering this reduces network traffic and client rendering load. Useful for minigames servers with lots of players in one area. For survival servers, leave at 100% — players get frustrated when mobs "pop in" too close.

max-tick-time

max-tick-time=60000

If a single server tick takes longer than this (in milliseconds), the server crashes with "Can't keep up!" The default of 60000 (60 seconds) is generous.

Set to -1 to disable the watchdog entirely. Only do this if you understand why ticks might lag — a plugin doing heavy computation, a massive redstone build, or a world-eating entity count. Usually, you want the watchdog to crash the server so you notice the problem instead of letting it hang silently.


Network and Security Settings

These settings control how players connect and how much you trust them.

server-port

server-port=25565

The TCP port the server listens on. The default is 25565 — if your server runs on this port, players can connect without specifying a port number.

On managed hosting, the platform assigns your port automatically and you do not need to change this. If you self-host and run multiple servers on one machine, each needs a unique port.

online-mode

online-mode=true

When true, the server verifies each connecting player against Mojang's authentication servers. Only players who own a legitimate Minecraft account can join.

When false, anyone can connect with any username. This is sometimes called "cracked" or "offline" mode.

Keep this on. Turning it off opens you to impersonation (anyone can join as "Notch" or as one of your admins), breaks skins and capes, and violates Mojang's EULA. The only legitimate use case is LAN-only servers with no internet access.

white-list

white-list=false

When true, only players listed in whitelist.json can join. Everyone else sees "You are not white-listed on this server."

For small friend groups, whitelist is the simplest access control. See our whitelist guide for commands and management.

enforce-whitelist

enforce-whitelist=false

When true and you run /whitelist on or edit the whitelist, players who are no longer whitelisted get kicked immediately. When false, existing connected players stay online until they log out.

enable-query

enable-query=false

Enables the GameSpy4 query protocol. Server listing websites and tools like mcstatus use this to display your server's player count, MOTD, and other info.

If you want your server to appear on third-party server lists or status checkers, enable this. If you want privacy, leave it off. Query runs on UDP and uses query.port (default 25565).

enable-rcon

enable-rcon=false

RCON (Remote Console) lets you send console commands to the server from external tools. Useful for automation, external admin panels, or scripts.

If you enable this, set a strong password:

enable-rcon=true
rcon.port=25575
rcon.password=your-long-random-password-here

RCON has full console access. A weak password means anyone who finds your RCON port can /op themselves, delete your world, or run any command. Check our console commands reference for what RCON can do.

enable-status

enable-status=true

When true, clients can see server info (MOTD, player count, version) in the multiplayer menu before joining. Set to false to hide this — players will see a generic "Can't connect to server" until they actually try to join.

Hiding status is a minor privacy measure. It does not hide your server from port scanners, just from the Minecraft client's server list query.

network-compression-threshold

network-compression-threshold=256

Packets larger than this (in bytes) get compressed before sending. Set to -1 to disable compression entirely, or 0 to compress everything.

The default of 256 is fine. Lower values increase CPU usage for compression but reduce bandwidth. Higher values reduce CPU but increase bandwidth. Unless you have specific network constraints, do not touch this.


World Generation Settings

These settings matter most when creating a new world. Changing them after the world exists only affects newly generated chunks.

level-name

level-name=world

The name of the world folder. If you want your world folder to be called survival-smp instead of world, change this — but you will also need to rename (or copy) your existing world folder to match.

level-seed

level-seed=

The seed for world generation. Leave blank for a random seed, or enter a specific number or string to generate a specific world.

If you already have a world, changing this does nothing to existing chunks. New chunks will generate with the new seed, creating jarring borders where biomes and terrain do not match.

level-type

level-type=minecraft\:normal

The world type. Options:

ValueResult
minecraft:normalStandard overworld generation
minecraft:flatSuperflat world
minecraft:large_biomesSame as normal but biomes are 16x larger
minecraft:amplifiedExtreme terrain height variation
minecraft:single_biome_surfaceEntire overworld is one biome

Note the backslash before the colon — server.properties uses this escaping.

generator-settings

generator-settings={}

JSON configuration for flat worlds. Only applies when level-type=minecraft:flat. The default empty braces give you a classic flat world (grass, dirt, bedrock).

Example for a void world (just one layer of bedrock):

generator-settings={"layers":[{"block":"bedrock","height":1}],"biome":"minecraft:the_void"}

generate-structures

generate-structures=true

Whether villages, temples, mineshafts, strongholds, and other structures generate. Set to false for custom maps where you place everything manually.

max-world-size

max-world-size=29999984

The radius of the world border in blocks. Default is nearly infinite (30 million blocks from spawn). You can set this lower to constrain your world — useful for minigames or to keep world size manageable.


MOTD and Server Appearance

motd

motd=A Minecraft Server

The message displayed in the server list. Supports color codes with the section sign (§) or through online MOTD generators.

Keep it short. Most clients truncate after about 60 characters per line, and you get two lines max.

server-ip

server-ip=

If your machine has multiple IP addresses and you want the server to only listen on one specific IP, enter it here. Leave blank to listen on all interfaces (usually what you want).


Quick Reference

Here are recommended values for three common server types:

SettingSurvival SMPCreative BuildMinigames
difficultynormalpeacefuleasy
pvptruefalsetrue
gamemodesurvivalcreativeadventure
force-gamemodefalsefalsetrue
spawn-protection1600
view-distance8126
simulation-distance6104
max-players5030100
white-listtruetruefalse
online-modetruetruetrue
spawn-monsterstruefalsefalse
spawn-animalstruetruefalse
allow-flightfalsetruetrue
hardcorefalsefalsefalse

Adjust based on your hardware and player count. These are starting points, not absolute rules.


Ready to Start Your Adventure?

Join lots of users already enjoying lag-free hosting.

Launch Your Server
Swelis Hosting

Premium Minecraft server hosting starting at €1.50/GB RAM. Experience lightning-fast performance, 24/7 support, and 99.9% uptime guarantee.

© 2026 Swelis International e.U. All rights reserved.