Quick answer
- Stop the server, edit
server.properties(File Manager, or the panel's Server Properties page), then start it again. - The settings that matter most:
max-players,gamemode,difficulty,view-distance,simulation-distance,white-list,online-modeandmotd. - For a laggy server, lower
view-distanceandsimulation-distancefirst.
How the file works#
Each line is key=value. Lines starting with # are comments. The server writes the file on first start with default values. If you remove a line, the default is used. Use true or false in lowercase for yes or no settings.
Edit the file while the server is stopped. A running server can overwrite your edits when it shuts down.
Editing it on FreeGameHost#
Open your server, then Game → Server Properties. The page lists the settings with inputs and toggles and saves the file for you. A few keys are shown locked because the host sets them on every start: server-port, server-ip and query.port. For the Bedrock template, a few more are driven by the Startup page. You can also edit the file in the File Manager.
Gameplay settings#
| Setting | Default | What it does |
|---|---|---|
gamemode | survival | Default mode for new players: survival, creative, adventure, spectator. |
force-gamemode | false | If true, players are set to the default mode every time they join. |
difficulty | easy | peaceful, easy, normal or hard. |
hardcore | false | Hard difficulty with permanent death (players become spectators). |
pvp | true | Whether players can damage each other. |
allow-flight | false | Stops the server kicking players for flying. Needed by some mods and plugins. |
allow-nether | true | Enables the Nether. |
spawn-monsters | true | Whether hostile mobs spawn. |
generate-structures | true | Villages, temples and other structures in new chunks. |
spawn-protection | 16 | Radius around spawn that only operators can edit. 0 turns it off. |
enable-command-block | false | Allows command blocks to run. |
World settings#
| Setting | Default | What it does |
|---|---|---|
level-name | world | Folder name of the world. Change it to load another world. |
level-seed | (empty) | Seed used when a new world is created. |
level-type | minecraft:normal | World type: normal, flat, large biomes, amplified. |
max-world-size | 29999984 | Maximum world radius in blocks. Lower it to stop players exploring too far. |
Performance settings#
| Setting | Default | Recommended |
|---|---|---|
view-distance | 10 | 6 to 10. Lower to reduce chunk sending and memory. |
simulation-distance | 10 | 5 to 8. How far from players mobs, crops and redstone are processed. |
max-players | 20 | Set what your RAM can handle. |
entity-broadcast-range-percentage | 100 | Lower (for example 70) to reduce entity updates. |
network-compression-threshold | 256 | Leave at 256 unless you use a proxy. |
sync-chunk-writes | true | Safer on crashes. Leave on. |
If your server lags, see our lag guide and the TPS explanation.
Access and security settings#
| Setting | Default | What it does |
|---|---|---|
online-mode | true | Checks accounts with Mojang. Keep true unless a proxy does it. |
white-list | false | Only whitelisted players may join. See the whitelist guide. |
enforce-whitelist | false | Kicks players removed from the whitelist when you reload it. |
enforce-secure-profile | true | Requires signed chat. Set false if Bedrock (Geyser) players get chat kicks. |
op-permission-level | 4 | Permission level for operators added with /op. |
player-idle-timeout | 0 | Kick idle players after this many minutes. 0 means never. |
enable-rcon | false | Remote console. Only enable with a strong rcon.password. |
hide-online-players | false | Hides the player list in the server list. |
Network and display settings#
| Setting | Default | What it does |
|---|---|---|
server-port | 25565 | Port the server listens on. Set by the host on FreeGameHost. |
server-ip | (empty) | Leave empty unless you know you need to bind one address. Set by the host on FreeGameHost. |
motd | A Minecraft Server | Text under the server name. See the MOTD guide. |
enable-status | true | Lets the server show up in the multiplayer list. |
enable-query | false | Enables the query protocol used by some status sites. |
resource-pack | (empty) | URL of a resource pack to send to players. |
require-resource-pack | false | Kicks players who refuse the pack. |
Example: a small survival server#
motd=Friends Survival
max-players=10
gamemode=survival
difficulty=normal
pvp=true
white-list=true
online-mode=true
view-distance=8
simulation-distance=6
spawn-protection=0
Common mistakes#
- Editing while the server runs. The server saves its own copy when it stops.
- Adding spaces around =. Write
pvp=false, notpvp = false. - Changing
level-nameto a folder that doesn't exist. The server then generates a new world with that name. - Setting
online-mode=falseto fix a login problem. This opens your server to impersonation. Fix the real problem instead. - Changing
level-seedon an existing world. It does nothing; only new worlds use it.
Frequently asked questions#
Where is server.properties?
In the main folder of your server, next to the server jar. It is created the first time the server starts. On FreeGameHost you can edit it from the Server Properties page under the Game menu or in the File Manager.
Do I need to restart after editing server.properties?
Yes. The file is read when the server starts. Stop the server, save your changes, and start it again. If you edit while it is running, the server may overwrite your changes when it stops.
What is a good view-distance?
For small servers, 8 to 10. If the server lags, lower it to 6 to 8 and keep simulation-distance at 5 to 8. Lowering these is the cheapest way to improve performance.
Why does my server.properties keep resetting?
Some hosts rewrite certain keys on every start, such as server-port, server-ip and query.port. Those are set by the host and shown locked on the FreeGameHost Server Properties page. Other changes persist.
What does online-mode do?
online-mode=true makes the server check every player's account with Mojang. Setting it to false lets cracked clients join but also makes it easy for anyone to impersonate your operators. Only turn it off behind a proxy that does the checking.
Can I change the world name or seed later?
level-name can be changed to load a different world folder. level-seed only affects a world that doesn't exist yet. To change the seed you need a new world.