FERNODE

The settings in server.properties that matter.

Most of this file can stay on its defaults. A dozen keys decide whether players can connect, whether the world is safe and whether the server keeps up. This is what those keys do and what to change them to.

Updated 7 November 2026 11 min read Configuration

Where the file is and how to edit it

server.properties sits in the same folder as the server JAR. It is a plain text file of key=value lines with # comments. Edit it while the server is stopped; changes are read at startup.

Two rules prevent most mistakes. First, do not add spaces around the =. Second, keep the keys exactly as written: they are case-sensitive and an unknown key is ignored without an error. If a change seems to do nothing, check the spelling.

Defaults vary by version. Paper can generate a different default than Vanilla for the same key. Treat the values below as sensible starting points, not as universal constants.

Network and access

KeyTypicalWhat it does
server-port25565TCP port players connect to. Change it only if it is already used.
server-ipblankInterface to bind. Leave blank unless the machine has several addresses.
online-modetrueVerifies Microsoft accounts. Turning it off allows cracked clients and is unsafe on a public server.
max-players20Connection cap. Set it to what your RAM and CPU can actually carry.
motdcustomThe line shown in the multiplayer list. Colour codes with & work on Paper.
enable-statustrueAnswers the server-list ping. Leave on so players see online status.

If online-mode is false, anyone using an offline client can join under any name, and permissions tied to a username become unreliable. Keep it true unless the server is behind a proxy that handles authentication.

World settings

KeyTypicalWhat it does
level-nameworldFolder name of the main world. Changing it points the server at a different world.
level-seedblankSeed used when a world is first generated. Ignored for an existing world.
level-typenormalWorld generator: normal, flat, large biomes, amplified or a custom type.
difficultyeasyPeaceful, easy, normal or hard.
hardcorefalseHardcore mode: death is permanent. Do not enable it by accident.
spawn-protection16Radius around spawn where non-operators cannot build.
allow-nethertrueWhether portals can open the Nether.

level-seed only matters when the world does not exist yet. If you set a new seed on an existing world, nothing happens: the world is already generated. To change it you need a new world folder, which means starting over or moving players with an inventory tool.

Performance-related settings

Two keys explain most of the difference between a smooth server and a struggling one:

  • view-distance — how far chunks are sent to clients. Defaults around 10. Lowering it to 8 or 6 reduces bandwidth and CPU a lot.
  • simulation-distance — how far the server ticks farms, mobs and redstone. Lowering it to 6 or 4 helps a busy world more than it hurts gameplay.

These are not the same setting. View distance is about what players can see; simulation distance is about what the server actually updates. Cutting simulation distance is the cheaper way to reduce load without making the world look empty.

KeyTypicalEffect
max-tick-time60000Watchdog threshold. -1 disables the watchdog; not recommended.
network-compression-threshold256Packet size before compression. Lower saves bandwidth, costs CPU.
entity-broadcast-range-percentage100How far entity updates are sent. Lower reduces bandwidth.
sync-chunk-writestrueForces chunk writes to disk. false can help I/O but risks data loss.

Security and moderation

KeyTypicalWhat it does
white-listfalseOnly listed players may join. Enable it on any public server.
enforce-whitelistfalseKicks players who are removed from the whitelist while online.
op-permission-level4Default permission level for operators. Lower it if you use a permissions plugin.
enable-command-blockfalseEnables command blocks. Leave off unless your maps need them.
allow-flightfalseAllows flight. Turning it on weakens anti-cheat checks; use a permissions plugin instead.
player-idle-timeout0Minutes before an idle player is kicked. 0 disables it.

A whitelist is not a substitute for permissions. It controls who can connect, not what a connected player can do. Use a permissions plugin to decide which commands and plugin features each group gets.

Advertisement Sponsored

Gameplay toggles

  • gamemode — survival, creative, adventure or spectator for new players.
  • force-gamemode — forces the gamemode each time a player joins.
  • pvp — enables player-versus-player damage.
  • spawn-monsters / spawn-animals / spawn-npcs — world spawn toggles.
  • generate-structures — whether structures generate in new chunks.
  • max-world-size — caps the world border radius in blocks.

Some of these only affect newly generated chunks. Turning off structure generation on an existing world does not remove structures that already exist, and turning it back on does not add them to chunks that were already generated.

RCON and remote console

RCON lets an external tool send console commands over a TCP port. If you use it, set a long random rcon.password, keep rcon.port closed to the public internet, and enable rcon only while you need it.

enable-rcon=true
rcon.port=25575
rcon.password=change-this-to-a-long-random-value

An open RCON port with a weak password is a full server takeover. If you do not use RCON, leave it disabled.

Common mistakes

  1. Editing while the server runs. The file is read at startup; your change is ignored until a restart, and the server may overwrite the file on shutdown.
  2. Changing level-name to "reset" a world. It points at a different folder; it does not delete anything.
  3. Setting max-players to a number the hardware cannot carry. The cap does not create RAM.
  4. Disabling online-mode to "let friends in". That is a security change, not a connectivity fix.
  5. Copying a whole properties file from an old version. New keys will be missing and old values may be invalid.

The short version

Keep the defaults until something needs changing. Set a realistic max-players, enable white-list for public servers, keep online-mode=true, and tune view-distance and simulation-distance before you buy more RAM. Back up the file before editing so you can compare what you changed.

Resource packs

A server can offer or require a resource pack. The server sends the pack URL to the client, and the client downloads it before joining.

KeyWhat it does
resource-packDirect URL to the pack ZIP. Must be reachable by players.
resource-pack-sha1SHA-1 of the pack, used to detect a changed file.
require-resource-packKicks players who decline the pack.
resource-pack-promptCustom message shown when the pack is offered.

A pack hosted on a slow or private URL is a common cause of long join times. Test the URL from outside your network before enabling require-resource-pack.

A minimal safe starting point

For a small private server that friends will join, these values cover the important decisions. Leave the rest at their defaults.

online-mode=true
white-list=true
enforce-whitelist=true
max-players=8
view-distance=8
simulation-distance=6
difficulty=normal
pvp=true
allow-flight=false
enable-command-block=false
enable-rcon=false

Add yourself to the whitelist before enabling it, or you will lock yourself out of your own server. Then test with a second account and read the log once more before you announce the address.