KnowledgeFactorio

Factorio server-settings.json Explained (Every Key and Default)

Every Factorio server-settings.json key with its default: visibility, game_password, max_players, autosave_interval, afk_autokick_interval and auto_pause.

Updated Oct 1, 2026 · 7 min read

On this page

server-settings.json controls how a Factorio dedicated server behaves in multiplayer: its name and listing, the password, player limit, autosaves, AFK kicks and pausing. The official template ships as data/server-settings.example.json with these defaults: max_players: 0 (unlimited), visibility public and LAN both true, game_password empty, autosave_interval: 10 minutes, afk_autokick_interval: 0 (off), auto_pause: true and require_user_verification: true. Copy the example, change what you need, and start the server with --server-settings server-settings.json.

A sensible file for a friend server

{
  "name": "The Night Shift",
  "description": "Space Age, main bus, be nice to the trains.",
  "tags": ["space-age", "friends"],
  "max_players": 0,
  "visibility": { "public": false, "lan": false },
  "username": "",
  "password": "",
  "token": "",
  "game_password": "pick-something",
  "require_user_verification": true,
  "max_upload_in_kilobytes_per_second": 0,
  "max_upload_slots": 5,
  "minimum_latency_in_ticks": 0,
  "max_heartbeats_per_second": 60,
  "ignore_player_limit_for_returning_players": false,
  "allow_commands": "admins-only",
  "autosave_interval": 10,
  "autosave_slots": 5,
  "afk_autokick_interval": 0,
  "auto_pause": true,
  "auto_pause_when_players_connect": false,
  "only_admins_can_pause_the_game": true,
  "autosave_only_on_server": true,
  "non_blocking_saving": false
}

The official example also has "_comment_..." keys. They are notes for humans, the server ignores them, and you can delete them.

Listing and identity

Key Default What it does
name placeholder text Server name in the browser
description placeholder text Description in the browser
tags ["game", "tags"] Search tags in the browser
visibility.public true List on the official public server browser
visibility.lan true Broadcast on your local network
username empty factorio.com username, needed for a public listing
password empty factorio.com password, the old way to log in
token empty factorio.com token, use instead of password

visibility is the one people get wrong. With public: true the server tries to register with Wube's matchmaking server, and that needs a factorio.com account in username plus either token or password. Leave those empty with public: true and the listing fails, with an error in the server log.

What we would do: a private friend server does not need to be public at all. Set public: false and share the address. Players connect with Multiplayer, Connect to address. For a public community server, set public: true, put your username and token in, and never your real password. The token is on your profile at factorio.com, and it can be reset if it leaks.

Access: password, verification and players

Key Default What it does
game_password empty Join password. Empty means anyone with the address can join.
require_user_verification true Only players with a valid factorio.com account can join
max_players 0 Player limit. 0 is unlimited. Admins can join even a full server.
ignore_player_limit_for_returning_players false Players who have played this map before can join when it is full
allow_commands admins-only Who may use Lua console commands: true, false or admins-only

game_password: set one unless you want strangers. Players type it when they connect.

require_user_verification: leave it true. It ties every player to a real factorio.com account, which is what makes bans and the whitelist stick.

max_players: 0 is fine for friends. On a public server, set a number your factory can handle, and turn on ignore_player_limit_for_returning_players so your regulars can always get in.

allow_commands: keep admins-only. Using Lua commands like /c turns off achievements for that save, and on true any player can do anything with them.

For a strict friends only server, use the whitelist instead of or as well as a password: /whitelist add Name in the console, with the server started with --use-server-whitelist true. Admins go in server-adminlist.json, which /promote Name fills for you.

Saving

Key Default What it does
autosave_interval 10 Minutes between autosaves
autosave_slots 5 Number of rotating autosave files
autosave_only_on_server true Only the server writes autosaves, not every player
non_blocking_saving false Experimental: on Linux, the server forks to save in the background

autosave_interval: 10 is good. Each save freezes the game briefly for everyone, and on a huge map that freeze grows. For megabases, 15 to 20 is reasonable. Never go above 30, or a crash costs a lot of work.

autosave_slots: 5 gives you 50 minutes of history at the default interval. Raise it to 10 if you want more to roll back to. Autosaves sit in saves as _autosave1.zip, _autosave2.zip and so on.

non_blocking_saving: Wube's own comment calls it highly experimental and warns about losing saves. Leave it off.

Pausing and AFK

Key Default What it does
auto_pause true Pause when no players are online
auto_pause_when_players_connect false Pause while someone is joining
only_admins_can_pause_the_game true Only admins can pause
afk_autokick_interval 0 Minutes of inactivity before a kick. 0 is never.

auto_pause: keep it on. Without it, biters keep attacking and Gleba keeps spoiling while everyone is asleep. Turn it off only if you deliberately want the factory to run unattended.

auto_pause_when_players_connect: turn it on for big maps. Joining a large save takes time, and pausing while someone loads in stops them having to catch up afterwards, which avoids failed joins.

afk_autokick_interval: 0 for friends. On a public server, 15 to 30 minutes frees slots from idle players.

Network tuning

Key Default What it does
max_upload_in_kilobytes_per_second 0 Upload cap for sending the map to joining players. 0 is unlimited.
max_upload_slots 5 How many players can download the map at once. 0 is unlimited.
minimum_latency_in_ticks 0 Minimum latency, one tick is about 16 ms
max_heartbeats_per_second 60 Network tick rate, 6 to 240
minimum_segment_size 25 Segment size for long messages with many peers
minimum_segment_size_peer_count 20 Peer count for the minimum segment size
maximum_segment_size 100 Segment size with few peers
maximum_segment_size_peer_count 10 Peer count for the maximum segment size

Leave all of these alone unless you self host on a slow home upload. In that case, a max_upload_in_kilobytes_per_second value below your real upload speed stops a joining player's map download from making everyone else lag.

Change settings without a restart

Most of these can be changed live by an admin with /config:

/config set password newpassword
/config set max-players 20
/config set afk-auto-kick 30
/config set autosave-interval 15
/config set visibility-public false
/config get password

The supported 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. Live changes are not written back to the file, so update server-settings.json too. More commands in our Factorio server commands list.

Common mistakes

  • Invalid JSON. A missing comma, an extra comma after the last entry, or straight quotes swapped for curly ones from a word processor. The server fails to read the file and the log points at the problem. Edit in a plain text editor.
  • Public with no token. Set public: false or add username and token.
  • Editing while running. The server reads the file at startup. Stop, edit, start.
  • Wrong file. Editing server-settings.example.json does nothing unless the server is started with it.

server-settings.json on GamezServers

The panel covers the settings most groups touch: server name and description, Join password, Whitelist only, Public listing with your factorio.com username and token, Autosave minutes, Autosaves to keep and AFK kick minutes, with the player count set by your plan. The panel applies these when the server starts, so change them in Settings rather than in the file. Anything else, like auto_pause_when_players_connect, you can edit in the Files tab. See the Factorio hosting quick start to get a server running, and how to install mods on a Factorio server for the mods folder.

FAQ

Where is server-settings.json?

On a self hosted headless server, wherever you point --server-settings. Most people keep it in the main server folder or a config folder next to data, copied from data/server-settings.example.json.

Why is my Factorio server not in the public list?

Either visibility.public is false, or the factorio.com username and token are missing or wrong. Check the server log for a matchmaking error. If you only need friends to join, connecting by address works without a listing.

How do I make my Factorio server private?

Set visibility.public to false, set a game_password, and for a strict list use the whitelist with /whitelist add Name.

Does the server run when nobody is online?

With auto_pause: true (the default), the server stays online but the game is paused until someone joins. Set it to false to keep the factory running while everyone is away.

What is a good autosave interval for Factorio?

10 minutes, the default, suits most maps. On very big maps where each save freezes the game for a few seconds, 15 to 20 minutes is a fair trade.

Skip the setup. Your own Factorio server.

$2.49USD first month

Then $4.99/mo. Just trying it? $1.25 for 3 days

Keep reading