server.properties explained: every setting that matters

A plain-English tour of the server.properties file - gameplay, world generation, performance and security settings - and which ones to leave alone.

By Levi Wanner · Updated 25 June 2026 · 9 min read

server.properties is the single text file that configures a Minecraft server. It sits in your server folder and is read once at startup, so every change needs a restart to take effect. Most hosts hide it behind toggles; on Levyathan you can edit it directly in the Files tab, or use the World and Players tabs for the common ones. This guide explains the settings that actually change how your server plays - and the handful you should never touch.

A safety note first: a few keys are managed for you and are blocked in the editor - server-port, query.port, and the rcon.* lines. Those wire your server into Levyathan’s network and console; changing them would only break the connection between your server and the panel, so leave them as they are.

Gameplay

  1. 1gamemode - the default mode for new players: survival, creative, adventure or spectator. Existing players keep whatever they had unless force-gamemode is on.
  2. 2force-gamemode (default false) - if true, players are reset to the default gamemode every time they join. Handy for a strict creative or adventure server.
  3. 3difficulty - peaceful (no hostile mobs, hunger does not drain), easy, normal or hard. peaceful is the quickest "why aren’t mobs spawning?" answer.
  4. 4hardcore (default false) - locks difficulty to hard and bans a player to spectator on death. One-way: turning it on mid-world is risky, so decide at creation.
  5. 5pvp (default true) - whether players can damage each other. Turn it off for a build or co-op server.
  6. 6allow-flight (default false) - this is NOT creative flight; it tells the anti-cheat to tolerate flight from mods/plugins (jetpacks, elytra boosts). Leave false unless a plugin needs it, or legit players get kicked for "flying".

World generation

These only affect chunks that have not been generated yet. Changing them does not rewrite land your players have already explored.

  1. 1level-seed - the seed for new worlds. Leave blank for random; paste a seed to reproduce a specific world. Only used when the world is first created.
  2. 2level-type - minecraft:normal, minecraft:flat (superflat), minecraft:large_biomes or minecraft:amplified. Set it before first launch.
  3. 3generate-structures (default true) - villages, strongholds, temples and the like. Off gives a barren but still-natural world.
  4. 4allow-nether (default true) - set false to disable Nether portals entirely.
  5. 5max-world-size - the world-border radius in blocks (default 29,999,984). Lowering it caps how far the map can grow, which keeps disk use and pre-generation sane.
  6. 6spawn-protection - radius in blocks around spawn that only operators can build in (default 16). Set to 0 to let anyone build at spawn.

Performance - the settings that fight lag

These are the ones worth understanding, because they trade visible range and player count against CPU and RAM. See the dedicated performance guide for the full picture.

  1. 1view-distance (default 10) - how many chunks of terrain are sent to each player. The single biggest driver of bandwidth and client load. 6-8 is plenty for most servers.
  2. 2simulation-distance (default 10) - how many chunks actually TICK (mobs, redstone, crops, hoppers). This is the biggest CPU lever. Dropping it to 4-6 often fixes lag with players barely noticing.
  3. 3max-players (default 20) - the hard cap on concurrent players. More players means more loaded chunks and entities, so size it to your RAM.
  4. 4network-compression-threshold (default 256) - packets larger than this many bytes get compressed. Fine to leave; set to -1 only on a LAN to trade bandwidth for CPU.
  5. 5entity-broadcast-range-percentage (default 100) - how far away entities are sent to clients. Lowering it (e.g. 50) cuts traffic on entity-heavy servers.

Access and security

One rule above all: never set online-mode to false. It is the setting that tells your server to verify each player against Mojang’s authentication servers. Turning it off ("offline mode") lets anyone log in as any username, including yours - it is how griefers walk into unprotected servers. The only legitimate reason to disable it is when a proxy like Velocity handles authentication upstream, which is not your setup here.

  1. 1online-mode (default true) - LEAVE TRUE. See above.
  2. 2white-list (default false) - when true, only listed players can join. The Players tab manages this for you; it is the simplest way to keep a server private.
  3. 3enforce-whitelist (default false) - if true, flipping the whitelist on immediately kicks anyone online who is not on it (rather than only blocking new joins).
  4. 4op-permission-level (1-4, default 4) - how much power an operator gets. 4 is full access including stopping the server; lower it if you want trusted players with limited commands.
  5. 5enforce-secure-profile (default true) - requires signed chat. Leaving it true is fine for vanilla; some modpacks ask you to disable it.

Presentation and misc

  1. 1motd - the "message of the day" shown under your server in the multiplayer list. Supports color codes.
  2. 2player-idle-timeout (default 0 = off) - minutes before an AFK player is kicked. Useful on a busy server to free slots.
  3. 3resource-pack / resource-pack-prompt - a URL to a pack the client is offered (or forced, with require-resource-pack) on join.
  4. 4spawn-monsters (default true) - master switch for hostile mob spawning, independent of difficulty.

After you edit

Save the file and restart the server - server.properties is only read at startup. If the server refuses to start after an edit, the usual cause is a typo (a stray space, or true/false misspelled); restore the last backup and try one change at a time. On Levyathan, the World and Players tabs write the most common keys for you and apply safely, so reach for the raw file only for the settings that have no toggle.