Factorio server-settings.json: Every Setting Explained
Every key in Factorio's server-settings.json, which ones the panel rewrites on boot, and which are yours to edit.
server-settings.json is where a Factorio server's behaviour actually lives. Visibility, password, autosaves, who may run Lua, how much upload the server will use — all of it is in one file at data/server-settings.json, and the startup line points at it explicitly. This page documents every key Wube ships in the example file, and flags the nine the panel writes for you on every boot, which is the part that catches people out.
Nine keys are overwritten every time the server starts
Your panel generates
name,description,max_players,username,token,autosave_interval,autosave_slots,afk_autokick_intervalandgame_passwordfrom the Startup tab each boot. Hand-editing those nine in the file is wasted work — your change survives until the next restart and no longer. Every other key in the file is yours, and persists.
Where the File Comes From
Wube ships an example, and the wiki describes the intended workflow: "look at the example file located in data/server-settings.example.json in the Factorio Application directory. The recommended way is to make a copy of this example file and edit the copy." Your installation does exactly that, so data/server-settings.json already exists.
The file is strict JSON. A trailing comma or a missing brace will stop the server booting, so edit it in the panel's file editor on your Factorio server and keep a copy of the original.
Keys beginning _comment_ are Wube's own inline documentation. They are not settings and the game ignores them.
Keys the Panel Owns
Change these on the Startup tab, not in the file.
| JSON key | Startup field | Notes |
|---|---|---|
name |
Server Name | Public browser listing |
description |
Server Description | Wube notes it "May contain up to 5000 characters" |
max_players |
Max Players | View-only — set for you, not editable |
username |
Factorio Username | factorio.com account |
token |
Server Token | factorio.com auth token |
autosave_interval |
Auto Save Interval | Minutes |
autosave_slots |
(not exposed) | Fixed at 5 |
afk_autokick_interval |
AFK Kick | Minutes, 0 for never |
game_password |
Server Password | Blank for none |
autosave_slots is the odd one — the panel sets it but does not show it, so the value is 5 and there is no supported way to change it.
Keys You Edit in the File
Everything below persists across restarts.
Visibility
"visibility": {
"public": true,
"lan": true
} Wube's comments define them: "public: Game will be published on the official Factorio matching server" and "lan: Game will be broadcast on LAN". The wiki adds a third state — hidden — which you get by setting both to false: "Clients will have to connect using the server's IP address."
lan does nothing useful on a rented server; your players are not on the same network segment. public requires username and token to be filled in.
Tags
"tags": [ "game", "tags" ] Free-text labels shown against your entry in the public browser. Purely cosmetic.
Access Control
| Key | Default | What it does |
|---|---|---|
require_user_verification |
true |
"the server will only allow clients that have a valid Factorio.com account" |
allow_commands |
admins-only |
"possible values are, true, false and admins-only" |
ignore_player_limit_for_returning_players |
false |
"Players that played on this map already can join even when the max player limit was reached." |
allow_commands: truehands out your factorySet to
true, any connected player can run arbitrary Lua — spawn items, delete your base, rewrite the map. Leave it onadmins-only. There is more on what that costs you in Factorio console commands.
Pausing
| Key | Default | What it does |
|---|---|---|
auto_pause |
true |
"Whether should the server be paused when no players are present." |
auto_pause_when_players_connect |
false |
"Whether should the server be paused when someone is connecting to the server." |
only_admins_can_pause_the_game |
true |
Stops any player pausing everyone else |
auto_pause is the one worth thinking about. Left on, your factory is frozen while nobody is online — no production, no biter evolution, no pollution spread. Turn it off and the world runs continuously, which is what you want for a long-running community map and not what you want for a group of three friends who play on Sundays.
auto_pause_when_players_connect is useful on very large saves, where a joining player downloading the map can otherwise cause a visible stutter for everyone already in.
Saving
| Key | Default | What it does |
|---|---|---|
autosave_only_on_server |
true |
"Whether autosaves should be saved only on server or also on all connected clients." |
non_blocking_saving |
false |
Forks the process to save without stalling the game |
non_blocking_saving carries Wube's own health warning, quoted in full because it is unusually blunt: "Highly experimental feature, enable only at your own risk of losing your saves. On UNIX systems, server will fork itself to create an autosave. Autosaving on connected Windows clients will be disabled regardless of autosave_only_on_server option."
On a big factory it genuinely removes the save-time freeze. It is also the only setting in this file that Wube describes as risking your saves. Treat that as the trade it is.
Bandwidth and Network Tick Rate
| Key | Default | Wube's comment |
|---|---|---|
max_upload_in_kilobytes_per_second |
0 |
"optional, default value is 0. 0 means unlimited." |
max_upload_slots |
5 |
"optional, default value is 5. 0 means unlimited." |
minimum_latency_in_ticks |
0 |
"one tick is 16ms in default speed, default value is 0. 0 means no minimum." |
max_heartbeats_per_second |
60 |
"Network tick rate... Minimum value is 6, maximum value is 240." |
max_upload_slots limits how many players can be downloading the map at once — relevant when a big group all joins after a restart.
minimum_latency_in_ticks deliberately adds delay. Factorio's multiplayer is lock-step, so a forced floor can smooth out a group with wildly different pings at the cost of making everyone's input feel slightly heavier. Leave it at 0 unless you are diagnosing something.
Segment Sizes
"minimum_segment_size": 25,
"minimum_segment_size_peer_count": 20,
"maximum_segment_size": 100,
"maximum_segment_size_peer_count": 10 Wube's comment explains the mechanism: "Long network messages are split into segments that are sent over multiple ticks. Their size depends on the number of peers currently connected. Increasing the segment size will increase upload bandwidth requirement for the server and download bandwidth requirement for clients. This setting only affects server outbound messages." It ends with a warning: "Changing these settings can have a negative impact on connection stability for some clients."
Leave them alone. This is the last thing to reach for, not the first.
Changing Settings Without a Restart
Many of these have a live equivalent through /config set, run from the panel Console. The accepted options are afk-auto-kick, allow-commands, allow-debug-settings, autosave-interval, autosave-only-on-server, ignore-player-limit-for-returning-players, max-players, max-upload-speed, only-admins-can-pause, password, require-user-verification, visibility-lan and visibility-public.
The catch: those changes are written into the save, not into server-settings.json. They apply immediately and survive restarts of that world, but a fresh world or a reinstall reverts to the file. For anything permanent, change the file as well.
Common Questions
My server won't start after I edited the file
Almost always malformed JSON. Check for a trailing comma before a closing brace. Restore your backup and redo the change one key at a time.
Why did my edit to the server name disappear?
Because name is one of the nine keys the panel rewrites at boot. Change it on the Startup tab instead.
How do I hide my server from the public list?
Set both visibility.public and visibility.lan to false. Players then connect by address.
Is the token safe in this file?
It is stored in plain text, which is why the wiki calls a token "a sensitive piece of information". Anyone with file access to your server has it. Rotate it on factorio.com if you ever share access.
Does max_players: 0 mean unlimited?
In Wube's file, yes — "0 means unlimited" — but max_players is one of the panel-managed keys, so the value is set for you and the field is not editable.
What to Read Next
- How to Set Up a Factorio Dedicated Server — first boot, the file tree, and getting listed publicly
- Factorio Console Commands: Complete List & Cheats —
/config, moderation, and what Lua costs you - Factorio Server Saves and Autosaves — autosave behaviour and backups
Made with 💜 by GameServerKings

Need a Factorio server?
Deploy an instantly-provisioned Factorio server on high-clock hardware — DDoS protected, no contracts, cancel anytime.
From $4.50 /month