Blog

How to host a Factorio server

JSJesse Schokker·July 17, 2026·6 min read
How to host a Factorio server
DemandRemarkably lowEfficiently built for what it does.
Bound byOne CPU coreThe simulation runs in one thread.
Not on Steam toolsDirect downloadThe headless build, from Factorio’s site.
ModsExact matchA mismatch locks players out entirely.

Factorio runs happily on modest hardware. What it wants is a fast single core — as your factory grows, that becomes the only number that matters. The measure to watch is not processor percentage but whether the game is keeping up with its own tick rate: a megabase that has fallen behind feels slow to everyone even though the machine looks idle.

How to install it

  1. Download the headless server from Factorio’s own site. It is a separate download from the game and does not come through Steam.
  2. Unpack it anywhere; there is no installation step.
  3. Create a save first. The headless server cannot generate a world interactively — you either create one with a command or upload one made in the game.
  4. Copy the example settings file to your own and fill in the server name and visibility.
  5. Start it pointing at your save. The save, not a world seed, is what the server runs.
cd /home/factorio
curl -L -o factorio.tar.xz \
  https://www.factorio.com/get-download/latest/headless/linux64
tar -xJf factorio.tar.xz

# The headless server cannot generate a world interactively.
# Create one first, or upload a save from the game.
./factorio/bin/x64/factorio --create ./saves/myworld.zip

cp data/server-settings.example.json data/server-settings.json

./factorio/bin/x64/factorio \
  --start-server ./saves/myworld.zip \
  --server-settings ./data/server-settings.json

How to configure it

data/server-settings.jsonname, description, visibility, pause behaviour
server-whitelist.jsonaccess control
mods/mod-list.jsonthe mod set every player must match
server-settings.json
{
    "name": "Your server name",
    "description": "",
    "visibility": { "public": false, "lan": true },
    "username": "",
    "password": "",
    "game_password": "",
    "auto_pause": true,
    "autosave_interval": 10,
    "autosave_slots": 5
}
  • Public listing needs your Factorio account credentials in the settings file. A private server does not.
  • Auto-pause is worth enabling for a friend group, so the factory does not run on without you.
  • Autosave interval is a visible pause once the base is large. Tune it later, not at the start.
  • Announce mod updates before applying them.
The mistake almost everyone makes

Updating mods without telling anyone. Factorio synchronises mods strictly, so a mod updated on the server locks out every player until they update too. Mid-session, this ends the session.

Written from experience running these servers. If something here no longer matches what you are seeing, tell us and we will recheck it.

Share this article

JS
Jesse SchokkerFounder & Engineer, GameDash

Building GameDash at Schokker IT — the game server control panel we always wished existed. Writes about infrastructure automation, the SDK and running game servers at scale.

Get early access

GameDash is not open for sign-ups yet. Leave your e-mail and we will tell you the moment it is. Your address is never shared with any 3rd parties and is used exclusively for GameDash news.