Configuring Your Server with server-settings.json
A complete reference for server-settings.json — the primary configuration file for your Factorio dedicated server.
Overview
server-settings.json is the primary configuration file for a Factorio dedicated server. It controls the server's display name, password, player limits, visibility, autosave behavior, and admin setup. The file lives at factorio/config/server-settings.json.
Minimal Configuration
A working minimal config looks like this:
{
"name": "My Factorio Server",
"description": "A dedicated Factorio server",
"max_players": 0,
"game_password": "",
"visibility": {
"public": false,
"lan": true
},
"require_user_verification": true,
"allow_commands": "admins_only",
"autosave_interval": 10,
"autosave_slots": 5
}
Key Fields Reference
Server identity:
name— Display name shown in the server browser and on factorio.com matchmaking.description— Short description shown in the server listing.
Player access:
max_players— Maximum concurrent players.0means unlimited.game_password— Join password. Empty string means no password.require_user_verification— Whentrue, players must have a valid Factorio account. Required for public matchmaking. Set tofalseonly for fully private LAN servers.
Visibility:
visibility.public— Whentrue, lists the server on factorio.com matchmaking. Requiresrequire_user_verification: trueand port34197UDP open.visibility.lan— Whentrue, broadcasts the server on the local network.
See Configuring Public, LAN, and Hidden Server Visibility for details.
Commands and permissions:
allow_commands— Controls who can run/cLua commands. Valid values:"true"(admins only),"false"(nobody),"admins_only"(same as"true"— admins only). Use"false"for public servers to prevent grief.
Autosave:
autosave_interval— Minutes between autosaves. Default10. Set to0to disable (not recommended for production servers).autosave_slots— Number of autosave files to keep before rotating. Default5. See Tuning Autosave Settings and Recovering from Backups.
Whitelist:
create_group_whitelist— Whentrue, only players listed inserver-whitelist.jsoncan join. See Restricting Access with a Server Whitelist.
Admins (legacy):
- The
adminsarray inserver-settings.jsonis deprecated. Usefactorio/config/server-adminlist.jsoninstead. See Setting Up Admins and Player Permissions.
Passing the Settings File at Startup
Reference the settings file with the --server-settings flag:
./factorio/bin/x64/factorio --start-server saves/save.zip --server-settings config/server-settings.json
On WISP/Pterodactyl, the egg startup command typically includes --server-settings already. Check your Startup tab to confirm.
Common Mistakes
- Trailing commas: JSON does not allow trailing commas. A single extra comma will cause the server to refuse to start with a parse error.
- Wrong types:
max_playersmust be an integer, not a string.visibility.publicmust be a boolean (true/false), not a string. - Editing while running: Changes to
server-settings.jsonare read at startup only. Restart the server after editing.