Skip to content

How to Set Up a Factorio Dedicated Server

Setting up a Factorio headless server, why it needs a save file before it will start, and what the first boot writes.

Updated September 12, 2026
Factorio

A Factorio dedicated server is the headless build of the game: no graphics, no character, no window. It boots, loads one save file, and waits for players. That last part is the piece most guides skip — the headless server cannot generate a world for you at boot time, so a save has to exist before it will start at all. On a server from us that save is already made during installation, which is why your server comes up on first boot without you doing anything.

The short version

Your server is installed, a world is created, and it starts automatically. The only things you need to touch to get your group playing are Server Password (or nothing, if you want it open) and the address on the Network tab. Public server-list visibility is the one feature that needs extra setup — it requires your factorio.com credentials.

What the Headless Build Actually Is

Wube ships a separate headless package, and the official wiki is clear about why you would use it on a rented server: it "does not contain any files irrelevant for a pure server, such as graphics and sounds", and "is also not linked against libraries that may not be present on a server machine, such as Xlib, libGL or libasound. This option should be selected if running in a 3rd party hosted server."

The headless package is what your Factorio server runs. The behavioural differences matter more than the download size. The wiki lists them:

  • "Graphics are not initialized (faster start up, less memory usage, works on completely headless servers)"
  • "Game starts immediately and loads a save given as a parameter to the command"
  • "The server has no character in game"
  • "Game is paused while there are no players connected (though this can be overridden using the no-auto-pause option in the server-settings.json)"
  • "Saves the game on exit (and autosaves normally)"

The third point surprises people. There is no server player. Nobody is standing at spawn. The world simply does not advance until someone joins — which is the fourth point, and it is a feature, not a fault. An empty Factorio server burns no CPU and your biters do not evolve while you sleep.

Why a Save Has to Exist First

The wiki states it directly: "You will need to create your save file before you start the server, as the dedicated server REQUIRES a save file to be provided." The command it documents for making one is --create:

./bin/x64/factorio --create ./saves/my-save.zip
text

Your installation does this for you. The install routine creates a world using the Save Name value, and your server's startup line then loads it:

./bin/x64/factorio --port <your port> --server-settings data/server-settings.json --start-server gamesave.zip
text

Two things follow from reading that line. The save sits at the root of your file tree as gamesave.zip — not inside a saves/ folder — and the settings come from data/server-settings.json. Both are visible in the File Manager.

First Boot

The server is running when the console prints Hosting game at. Until that line appears it is still loading the map, which on a large save can take a while and is not a fault.

Your file tree after installation looks like this:

Path What it is
gamesave.zip The world the server loads. Named from Save Name
data/server-settings.json Server settings — name, visibility, password, autosaves
data/map-gen-settings.json Terrain, ore frequency, map size. Only read when a world is created
map-settings.json Pollution, evolution, biter expansion
mods/ Mod zips, if you use them
bin/, data/ The game itself

Map generation settings only apply at world creation

map-gen-settings.json is read by --create, not at every boot. Editing it does nothing to a world that already exists. If you want different terrain or ore density you need a new world — see Factorio Server Saves and Autosaves.

Connecting to Your Server

Factorio uses UDP only. The wiki notes the game "builds its own 'reliable delivery' layer built on UDP to deal with packet loss and reordering issues", and that the default port is 34197.

Your server does not necessarily use 34197. It is allocated its own port, and the Network tab in the panel is the authoritative list — read the address and port from there, not from the wiki default. In Factorio, that is Play → Multiplayer → Connect to address, entering address:port.

That route works whether or not your server is publicly listed, which makes it the one to give your group first.

Getting Listed in the Public Server Browser

This is the only part of setup that needs anything from outside the panel. The public list is Wube's matching service, and it will not accept an anonymous server. Per the wiki, public visibility "requires the login credentials below to be filled in" — your factorio.com username plus either your password or an authentication token.

Use the token. The wiki's own recommendation: "For security reasons it is recommended to use authentication token as this document is stored as plain text. Though it should be noted that an authentication token is a sensitive piece of information as well, and you are well-advised to keep it secret."

Fill in Factorio Username and Server Token on the Startup tab, then restart. Server Name and Server Description are what the browser shows, and neither appears until the token is set.

The Startup Fields You Can Edit

Field Effect
Factorio Version latest, experimental, or a pinned version. Its description warns this "will require a full server reinstall to change"
Save Name Which save the server loads. Default gamesave
Factorio Username Your factorio.com account name
Server Token Your factorio.com auth token. Required for public listing
Server Name Name shown in the public browser
Server Description Description shown in the public browser
Auto Save Interval Minutes between autosaves. Default 10
AFK Kick Minutes before an idle player is kicked. 0 disables it
Server Password Join password. Blank for none

Max Players is shown on the same tab but is not editable — it is set for you. Everything else in server-settings.json is edited in the file itself, which is covered in Factorio server-settings.json: Every Setting Explained.

Common Questions

Do I need to own Factorio to run a server?

To run one, no — the headless build is freely downloadable. To list it publicly you need a factorio.com account, and every player joining needs their own copy of the game.

Why does nothing happen when nobody is online?

By design. The wiki notes the game "is paused while there are no players connected". Set auto_pause to false in server-settings.json if you want the factory to keep running, and understand that it will consume CPU continuously from then on.

How do I make myself an admin?

Run /promote <yourname> from the panel's Console tab. The server console is not subject to the admin check, which is exactly what it is for. The wiki also describes the file-based route: "you need to create a server-adminlist.json in the same directory as factorio-current.log. The file should contain a list of admins, like so: [ "user1", "user2" ]". See Factorio console commands for the full moderation set.

Can I upload a world from my own game?

Yes. Upload the save zip and point Save Name at it without the .zip extension.

Does the server need port forwarding?

No. That advice is for hosting from a home PC. Your server has a public address already.

Can I run mods on it?

Yes, and the process differs from your desktop client in one important way — the server will not fetch dependencies for you. See how to install Factorio mods.


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