---
title: "How to Set Up a Factorio Dedicated Server"
description: "Setting up a Factorio headless server, why it needs a save file before it will start, and what the first boot writes."
url: "https://www.gameserverkings.com/knowledge-base/factorio/factorio-dedicated-server-setup/"
category: "Factorio"
category_url: "https://www.gameserverkings.com/knowledge-base/factorio/"
published: "2026-09-12T06:30:44.597Z"
updated: "2026-09-12T06:32:35.847Z"
source_format: "markdown"
site: "GameServerKings"
---

# How to Set Up a Factorio Dedicated Server

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.

> [!NOTE] 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](/games/factorio-server-hosting/) 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`:

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

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:

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

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 |

> [!IMPORTANT] 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](/knowledge-base/factorio/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](/knowledge-base/factorio/factorio-server-settings-json/).

## 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](/knowledge-base/factorio/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](/knowledge-base/factorio/how-to-install-mods/).

## What to Read Next

- [How to Install Factorio Mods on a Dedicated Server](/knowledge-base/factorio/how-to-install-mods/) — mod zips, dependencies and the client-side sync
- [Factorio Console Commands: Complete List & Cheats](/knowledge-base/factorio/factorio-console-commands/) — admin, moderation and Lua commands
- [Factorio server-settings.json: Every Setting Explained](/knowledge-base/factorio/factorio-server-settings-json/) — every key in the file, and which ones the panel overwrites

---

Made with 💜 by GameServerKings
