Generate a Factorio server-settings.json
Factorio's server-settings.json is strict JSON, and there is one particular rule in strict JSON that trips nearly everybody: no trailing commas.
Start from a preset
Visual Settings
server-settings.json
Advertisement
The server-settings.json format
Plain JSON, no extensions. No comments of any sort, no comma after the final item in an object, double quotes around strings, and no quotes around numbers or booleans. A quoted number is a genuine error here, not a harmless quirk — max_players given as "10" is text, and it will be refused where a number belongs.
Advertisement
The mistake that wastes an evening
Setting max_players to 0 does not close the server; it removes the limit. People enter 0 hoping to stop anyone joining and end up with a public server that has no cap at all. To close the server, use the visibility settings or a password, not the player limit.
Start from the example file
Factorio ships a complete, commented template at data/server-settings.example.json in the game folder. Copy it, edit the copy, and point the server at it with --server-settings when you start it; editing the example itself means an update can replace your settings. A new map is created separately, with --create and a save file name, and started with --start-server.
Admins are a separate file
Who counts as an admin is not in server-settings.json. It lives in server-adminlist.json, a plain list of Factorio usernames kept in the same folder as factorio-current.log. Promoting a player from the server console creates and updates it for you.
Mods on a server
Server mods sit in the mods folder, switched on and off in its mod-list.json. Players must run the same mods and versions to join, and the game offers to download and enable the server's set when they connect, so there is no need to send anyone a mod list by hand.