Mit einem eigenen Factorio Server läuft deine gemeinsame Fabrik unabhängig davon, ob der ursprüngliche Host gerade im Spiel ist. Du bestimmst den Spielstand, die Serverregeln, Mods, Autosaves und den Zugriff selbst. Unter Linux eignet sich dafür das schlanke Headless-Paket von Factorio, während du unter Windows das normale Spielpaket im Servermodus startest.
Du kannst den Server auf eigener Hardware betreiben oder einen Server mieten. Beim Selbsthosting kümmerst du dich selbst um Betriebssystem, Portfreigaben, Erreichbarkeit und Updates. Wenn du diese Aufgaben nicht zuhause übernehmen möchtest, kannst du alternativ einen Factorio Server mieten.

Das lernst du in diesem Artikel
- wie du einen Factorio Dedicated Server unter Linux und Windows installierst
- warum das Headless-Paket nur unter Linux verfügbar ist
- wie du vor dem ersten Start einen zwingend benötigten Spielstand erzeugst
- wie du
server-settings.json, Kartenparameter, Ports und Zugriffslisten einrichtest - wie du Mods und Space Age auf dem Server verwaltest
- wie du Autosaves, Backups, Updates und typische Fehler behandelst
Kurzfassung
- Entscheide dich unter Linux für das kostenlose Headless-Paket und unter Windows für das normale Spielpaket.
- Entpacke beziehungsweise installiere die Serverdateien und prüfe die Verzeichnisse
data/,saves/undmods/. - Erzeuge vor dem ersten Start zwingend einen Spielstand mit
--create. - Passe die
server-settings.jsonan, insbesondere Servername, Sichtbarkeit, Zugangsschutz undauto_pause. - Gib für den Spielbetrieb
34197/UDPin Firewall und gegebenenfalls Router frei. - Starte den Server mit
--start-serveroder später bequem mit--start-server-load-latest. - Richte bei Bedarf Adminliste, Whitelist, Banlist und Mods ein.
- Halte Server, Clients und Mods auf exakt demselben Versionsstand und sichere den Ordner
saves/regelmäßig bei gestopptem Server.
--create eine Karte oder stelle einen vorhandenen Save bereit.Inhaltsverzeichnis
- Voraussetzungen und Hardware
- Headless oder volles Spiel? Der Unterschied zwischen Linux und Windows
- Server installieren
- Unter Linux
- Unter Windows
- Karte erzeugen und Server starten
- Server konfigurieren (server-settings.json)
- Karte anpassen (map-gen-settings.json und map-settings.json)
- Ports & Firewall
- Mit dem Server verbinden
- Admins, Whitelist und Banlist
- Mods installieren
- Autosaves und Backups
- Server aktualisieren
- Fehlerbehebung
- Häufige Fragen
- Weiterführende Artikel
- Zusammenfassung
Voraussetzungen und Hardware
Factorio braucht für den Serverbetrieb keine besonders große Zahl an CPU-Kernen. Entscheidend ist vielmehr, wie schnell ein einzelner Kern die Simulation abarbeiten kann. Die Last wächst vor allem mit der Größe und Komplexität deiner Fabrik, nicht direkt mit der Zahl der verbundenen Spieler.
Die folgenden Werte sind Planungs- und Erfahrungswerte, keine offiziellen Hardware-Vorgaben von Wube:
| Szenario | RAM für die Planung | CPU |
|---|---|---|
| Kleine Runde, junge Fabrik | 2–4 GB | 2 schnelle Kerne |
| Mittlere Fabrik, 4–8 Spieler | 4–8 GB | 2–4 Kerne, hohe Taktrate |
| Große Fabrik, viele Stunden Spielzeit | 8–16 GB | 4 Kerne, sehr hohe Taktrate |
| Megabase | 16 GB+ | maximale Single-Core-Leistung |
Die Factorio-Simulation ist im Kern an einen Thread gebunden. Zusätzliche Kerne helfen deshalb nur begrenzt. Für große Fabriken ist eine hohe Single-Core-Leistung wesentlich wichtiger als eine möglichst hohe Kernzahl.
Das erklärt auch, warum die Spielerzahl allein wenig über die benötigte CPU-Leistung aussagt. Zwei Spieler mit einer sehr großen Megabase können den Server stärker belasten als zehn Spieler mit einer jungen, kleinen Fabrik. Der RAM-Bedarf bleibt beim Linux-Headless-Server vergleichsweise moderat, weil keine Grafik geladen wird.
Für einen aus dem Internet erreichbaren Server brauchst du außerdem eine passende Netzwerkanbindung. Wenn du zuhause hostest, ist eine öffentlich erreichbare IPv4 für klassische IPv4-Portweiterleitungen wichtig. Bei DS-Lite oder CGNAT steht dir häufig keine direkt erreichbare öffentliche IPv4 für eingehende Verbindungen zur Verfügung.
Für einen öffentlich gelisteten Server benötigst du außerdem Factorio.com-Zugangsdaten in der server-settings.json.
Selbst hosten oder Server mieten?
| Variante | Geeignet, wenn du … | Darum musst du dich kümmern |
|---|---|---|
| Selbst hosten | eigene Hardware und Netzwerkzugriff hast | Installation, Firewall, Router, Erreichbarkeit, Autostart, Updates und Backups |
| Server mieten | den Server unabhängig vom eigenen Rechner betreiben möchtest | Factorio-Konfiguration, Spielstand, Mods und deine Servereinstellungen |
Wenn du Portweiterleitungen und den dauerhaften Betrieb nicht selbst übernehmen möchtest, ist ein Factorio Server mieten die einfachere Alternative zum Betrieb zuhause.
Headless oder volles Spiel? Der Unterschied zwischen Linux und Windows
Bei Factorio unterscheidet sich der Serverbetrieb zwischen Linux und Windows deutlich.
| Betriebssystem | Serverpaket | Besonderheit |
|---|---|---|
| Linux | offizielles Headless-Paket | ohne Grafik und Audio, kostenlos, kein Login und kein Spielbesitz für den Download erforderlich |
| Windows | normales Spielpaket | kein separates Headless-Paket, Start über factorio.exe --start-server |
Auf factorio.com/download stellt Wube ein eigenes Headless-Paket bereit. Dieses Paket ist ausschließlich für Linux verfügbar und enthält bereits die Space-Age-Inhalte. Für den Download brauchst du weder einen Factorio.com-Login noch einen Spielbesitz.
Das Headless-Paket ist auf einem Linux-Server die bessere Wahl als das vollständige Spiel. Es bringt keine Grafik- und Audio-Komponenten mit und benötigt dadurch unter anderem keine Abhängigkeiten wie Xlib, libGL oder libasound.
Für Windows gibt es dagegen kein Factorio-Headless-Paket. Dort verwendest du das normale Spielpaket und startest factorio.exe mit den Serverparametern. Das ist der vorgesehene Serverweg unter Windows und kein Workaround.
Server installieren
Unter Linux
Lade auf factorio.com/download das Linux-Headless-Paket herunter und entpacke es in das Verzeichnis, aus dem du den Server betreiben möchtest.
Für den Serverbetrieb sind vor allem diese Pfade wichtig:
bin/x64/factorio
data/
saves/
mods/
Die ausführbare Serverdatei liegt unter bin/x64/factorio. In data/ findest du die Beispiel-Konfigurationen. Spielstände liegen in saves/, Mods in mods/.
Einfaches Startskript
Wenn du Factorio beispielsweise unter /opt/factorio betreibst, kann ein Startskript so aussehen:
#!/usr/bin/env bash
cd /opt/factorio || exit 1
exec ./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json
Das Skript wechselt in das Factorio-Verzeichnis und startet anschließend den neuesten vorhandenen Spielstand mit deiner Serverkonfiguration.
--start-server-load-latest funktioniert erst sinnvoll, nachdem mindestens ein Spielstand vorhanden ist. Vor dem allerersten Start musst du deshalb zuerst mit --create eine Karte erzeugen oder einen vorhandenen Save in saves/ bereitstellen.Factorio mit systemd automatisch starten
Für einen dauerhaft laufenden Linux-Server kannst du Factorio über systemd starten. Das folgende Beispiel geht davon aus, dass die Dateien unter /opt/factorio liegen und ein Systembenutzer factorio vorhanden ist:
[Unit]
Description=Factorio Dedicated Server
After=network.target
[Service]
Type=simple
User=factorio
WorkingDirectory=/opt/factorio
ExecStart=/opt/factorio/bin/x64/factorio --start-server-load-latest --server-settings /opt/factorio/data/server-settings.json
Restart=on-failure
[Install]
WantedBy=multi-user.target
Speichere die Unit als factorio.service. Anschließend kannst du systemd neu laden und den Dienst aktivieren:
sudo systemctl daemon-reload
sudo systemctl enable --now factorio
Mit Restart=on-failure wird Factorio nach einem Absturz automatisch erneut gestartet. Der Autostart sorgt außerdem dafür, dass der Dienst nach einem Systemstart wieder hochkommt.
Unter Windows
Unter Windows verwendest du das normale Factorio-Spielpaket. Ein separates Headless-Paket gibt es für Windows nicht.
Lege im Verzeichnis mit factorio.exe beispielsweise eine Batchdatei für den späteren Start an:
@echo off
factorio.exe --start-server-load-latest --server-settings .\data\server-settings.json
pause
Die Batchdatei lädt den neuesten vorhandenen Spielstand und verwendet die Konfiguration aus data\server-settings.json.
Auch unter Windows gilt: Vor dem ersten Start muss bereits ein Spielstand existieren. Erzeuge deshalb zuerst eine Karte mit --create.
Karte erzeugen und Server starten
Der Spielstand ist bei Factorio keine optionale Ergänzung, sondern Voraussetzung für den Serverstart. Ohne Save kann der Dedicated Server keine Welt laden.
Neue Karte unter Linux erzeugen
./bin/x64/factorio --create ./saves/meine-fabrik.zip
--create erzeugt eine neue Factorio-Karte und speichert sie als meine-fabrik.zip im Ordner saves/.
Danach startest du genau diesen Spielstand:
./bin/x64/factorio --start-server ./saves/meine-fabrik.zip --server-settings ./data/server-settings.json
--start-server lädt den angegebenen Save. Mit --server-settings verweist du zusätzlich auf deine Serverkonfiguration.
Wenn bereits mehrere Spielstände vorhanden sind und immer der neueste geladen werden soll, kannst du stattdessen verwenden:
./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json
Neue Karte unter Windows erzeugen
Unter Windows funktioniert der Ablauf entsprechend über factorio.exe:
factorio.exe --create .\saves\meine-fabrik.zip
Anschließend kannst du den erzeugten Save direkt starten:
factorio.exe --start-server .\saves\meine-fabrik.zip --server-settings .\data\server-settings.json
Oder du lädst später immer den neuesten vorhandenen Spielstand:
factorio.exe --start-server-load-latest --server-settings .\data\server-settings.json
--start-server, --start-server-load-latest oder einem Szenario angegeben ist.Wichtige Kommandozeilen-Parameter
| Parameter | Zweck |
|---|---|
--create FILE | neue Karte erzeugen |
--start-server FILE | Multiplayer-Server mit diesem Spielstand starten |
--start-server-load-latest | Server starten und den neuesten Spielstand laden |
--start-server-load-scenario [MOD/]NAME | Server mit einem Szenario starten |
--server-settings FILE | Pfad zur Server-Konfiguration |
--map-gen-settings FILE | Kartengenerator-Einstellungen, zusammen mit --create |
--map-settings FILE | Karteneinstellungen, zusammen mit --create |
--server-whitelist FILE | Pfad zur Whitelist-Datei |
--server-banlist FILE | Pfad zur Banlist-Datei |
--server-adminlist FILE | Pfad zur Adminlist-Datei |
--port N | Netzwerk-Port, Standard 34197 |
--bind ADDRESS[:PORT] | IP-Adresse und optional Port, an die gebunden wird |
--rcon-port N | Port für RCON |
--rcon-password PASSWORD | Passwort für RCON |
--console-log FILE | Kopie des Server-Logs in eine Datei schreiben |
Das automatische Pausieren steuerst du nicht über einen Startparameter, sondern über auto_pause in der server-settings.json.
Server konfigurieren (server-settings.json)
Die zentrale Serverkonfiguration liegt in server-settings.json. Eine Beispielversion befindet sich im Unterordner data/.
Dort stellst du unter anderem Servername, Sichtbarkeit, Zugangsschutz, Autosaves und Netzwerkverhalten ein.
Verifizierte Standardwerte
| Schlüssel | Default | Bedeutung |
|---|---|---|
name | leer | Name in der Serverliste |
description | leer | Beschreibung in der Serverliste |
tags | leer | Tags für die Serverliste |
max_players | 0 | maximale Spielerzahl; 0 = unbegrenzt, Admins kommen auch auf einen vollen Server |
visibility.public | true | Server im offiziellen Matching-Server veröffentlichen |
visibility.lan | true | Server im LAN ankündigen |
username | leer | Factorio.com-Benutzername, für öffentliche Server erforderlich |
password | leer | Factorio.com-Passwort |
token | leer | Authentifizierungs-Token, kann statt password verwendet werden |
game_password | leer | Beitrittspasswort für den Server |
require_user_verification | true | nur Clients mit gültigem Factorio.com-Konto zulassen |
max_upload_in_kilobytes_per_second | 0 | Upload-Begrenzung, 0 = unbegrenzt |
max_upload_slots | 5 | gleichzeitige Upload-Slots, 0 = unbegrenzt |
minimum_latency_in_ticks | 0 | künstliche Mindestlatenz |
max_heartbeats_per_second | 60 | Netzwerk-Taktrate der Update-Pakete |
ignore_player_limit_for_returning_players | false | zurückkehrende Spieler dürfen das Limit überschreiten |
allow_commands | "admins-only" | wer Konsolenbefehle nutzen darf |
autosave_interval | 10 | Autosave-Intervall in Minuten |
autosave_slots | 5 | Anzahl rotierender Autosave-Slots |
afk_autokick_interval | 0 | Minuten bis zum Kick inaktiver Spieler, 0 = aus |
auto_pause | true | Server pausiert, wenn niemand verbunden ist |
auto_pause_when_players_connect | false | pausiert während des Verbindungsaufbaus neuer Spieler |
only_admins_can_pause_the_game | true | nur Admins dürfen pausieren |
autosave_only_on_server | true | Autosaves nur serverseitig schreiben |
non_blocking_saving | false | experimentelles Speichern per Fork, ohne den Server anzuhalten |
minimum_segment_size | 25 | Netzwerk-Segmentgröße |
minimum_segment_size_peer_count | 20 | Peer-Schwelle für die minimale Segmentgröße |
maximum_segment_size | 100 | maximale Netzwerk-Segmentgröße |
maximum_segment_size_peer_count | 10 | Peer-Schwelle für die maximale Segmentgröße |
Beispiel für eine server-settings.json
Das folgende Beispiel verwendet ausschließlich die oben aufgeführten Einstellungen:
{
"name": "Meine Factorio-Fabrik",
"description": "Gemeinsamer Factorio Server",
"tags": [],
"max_players": 0,
"visibility": {
"public": false,
"lan": true
},
"username": "",
"password": "",
"token": "",
"game_password": "",
"require_user_verification": true,
"max_upload_in_kilobytes_per_second": 0,
"max_upload_slots": 5,
"minimum_latency_in_ticks": 0,
"max_heartbeats_per_second": 60,
"ignore_player_limit_for_returning_players": false,
"allow_commands": "admins-only",
"autosave_interval": 10,
"autosave_slots": 5,
"afk_autokick_interval": 0,
"auto_pause": true,
"auto_pause_when_players_connect": false,
"only_admins_can_pause_the_game": true,
"autosave_only_on_server": true,
"non_blocking_saving": false,
"minimum_segment_size": 25,
"minimum_segment_size_peer_count": 20,
"maximum_segment_size": 100,
"maximum_segment_size_peer_count": 10
}
Passe die Werte an deine Gruppe an. Für einen privaten Server kannst du beispielsweise visibility.public auf false lassen und zusätzlich ein game_password vergeben.
Öffentlichen Factorio Server einrichten
Wenn dein Server in der offiziellen Serverliste erscheinen soll, muss visibility.public auf true stehen.
Für einen öffentlichen Server brauchst du Factorio.com-Zugangsdaten in der server-settings.json. Dafür stehen username, password und token zur Verfügung.
Verwende nach Möglichkeit einen Token statt deines Klartext-Passworts. Wenn du direkt password einträgst, steht dein Factorio.com-Passwort im Klartext in der Konfigurationsdatei.
Ein Ausschnitt für einen öffentlichen Server kann so aussehen:
{
"visibility": {
"public": true,
"lan": true
},
"username": "DEIN_FACTORIO_BENUTZERNAME",
"password": "",
"token": "DEIN_TOKEN"
}
require_user_verification = true sorgt zusätzlich dafür, dass nur Clients mit einem gültigen Factorio.com-Konto zugelassen werden.
auto_pause: Läuft die Fabrik ohne Spieler weiter?
Der Standardwert von auto_pause ist true.
Das bedeutet: Sobald niemand mehr mit dem Server verbunden ist, pausiert die Simulation automatisch. Die Fabrik produziert dann nicht einfach unbegrenzt weiter.
Wenn deine Fabrik auch ohne verbundene Spieler weiterlaufen soll, setze den Wert bewusst auf false:
{
"auto_pause": false
}
auto_pause = false entscheidend. Ein zusätzlicher Startschalter ist dafür nicht nötig.Karte anpassen (map-gen-settings.json und map-settings.json)
Neben der Serverkonfiguration gibt es zwei Dateien für die Erstellung einer neuen Karte. Beispielversionen liegen ebenfalls im Unterordner data/.
| Datei | Zweck |
|---|---|
map-gen-settings.json | Kartengenerator, darunter Größe, Häufigkeit und Größe der Erzvorkommen |
map-settings.json | Verschmutzung, Beißer-Ausbreitung und Evolution |
Diese Einstellungen bindest du zusammen mit --create ein.
Beispiel:
./bin/x64/factorio --create ./saves/meine-fabrik.zip --map-gen-settings ./data/map-gen-settings.json --map-settings ./data/map-settings.json
--map-gen-settings und --map-settings wirken bei der Erzeugung der Karte mit --create. Konfiguriere sie deshalb, bevor du den neuen Spielstand anlegst.
Ports & Firewall
Factorio verwendet für den eigentlichen Spielverkehr standardmäßig Port 34197 über UDP.
| Zweck | Port | Bemerkung |
|---|---|---|
| Factorio-Spielserver | 34197/UDP | Standard-Port, mit --port änderbar |
| RCON | selbst festlegen | separater Port über --rcon-port, keine feste Standardnummer |
Factorio nutzt für den Spielverkehr ausschließlich UDP. Das Spiel bringt eine eigene Zustellungssicherung auf UDP-Basis mit. Einen zusätzlichen TCP-Spielport musst du deshalb nicht freigeben.
Linux mit UFW
Für den Standard-Spielport genügt bei UFW:
sudo ufw allow 34197/udp
Wenn du den Factorio-Port mit --port änderst, musst du stattdessen den tatsächlich verwendeten UDP-Port freigeben.
Windows-Firewall
Lege in der Windows-Firewall eine eingehende Regel für UDP-Port 34197 an. Wenn du einen abweichenden Port mit --port verwendest, muss die Regel entsprechend auf diesen UDP-Port zeigen.
Portweiterleitung im Router
Wenn der Server hinter einem Router läuft, leite 34197/UDP auf die interne IP-Adresse des Factorio-Servers weiter.
Achte darauf, dass der Router den Quellport 34197 nicht umschreibt. Symmetric NAT beziehungsweise Port-Randomisierung kann dazu führen, dass der Server trotz scheinbar korrekter Portfreigabe nicht erreichbar ist.
Bei DS-Lite oder CGNAT kann eine klassische eingehende IPv4-Portweiterleitung ebenfalls scheitern, weil dem Anschluss keine direkt erreichbare öffentliche IPv4 zur Verfügung steht.
RCON separat behandeln
RCON verwendet einen separaten Port, den du selbst mit --rcon-port festlegst. Für RCON gibt es keine Standard-Portnummer, die du pauschal übernehmen solltest.
Wenn du RCON aktivierst, vergib außerdem mit --rcon-password ein Passwort und berücksichtige den von dir gewählten RCON-Port separat in Firewall und Netzwerkregeln.
Mit dem Server verbinden
Wenn der Server öffentlich gelistet ist, können Spieler ihn über den Factorio-Serverbrowser finden.
Alternativ ist eine Direktverbindung über IP-Adresse und Port möglich:
SERVER-IP:34197
Wenn du den Standard-Port mit --port geändert hast, verwendest du entsprechend den von dir festgelegten Port.
Ist in der server-settings.json ein game_password gesetzt, müssen Spieler dieses Passwort beim Beitritt angeben.
Bei require_user_verification = true werden nur Clients mit gültigem Factorio.com-Konto zugelassen.
Admins, Whitelist und Banlist
Factorio verwendet für Admins, Whitelist und Banlist jeweils einfache JSON-Dateien.
| Datei | Zweck |
|---|---|
server-adminlist.json | Benutzer mit Adminrechten |
server-whitelist.json | zugelassene Benutzer für die Whitelist |
server-banlist.json | gesperrte Benutzer |
Der Inhalt ist jeweils eine einfache JSON-Liste mit Factorio-Benutzernamen:
["spieler1", "spieler2"]
Du kannst die Dateien über die entsprechenden Startparameter explizit angeben:
./bin/x64/factorio --start-server-load-latest \
--server-settings ./data/server-settings.json \
--server-adminlist ./server-adminlist.json \
--server-whitelist ./server-whitelist.json \
--server-banlist ./server-banlist.json
Die Adminliste wird außerdem automatisch geschrieben, wenn du Spieler per Konsolenbefehl zu Admins machst.
Mit dem Standardwert
{
"allow_commands": "admins-only"
}
dürfen nur Admins Konsolenbefehle verwenden.
Mods installieren
Factorio-Servermods gehören in den Ordner mods/. Welche Mods aktiviert sind, wird über mod-list.json gesteuert.
Der wichtigste Punkt im Multiplayer ist die Versionsgleichheit: Alle Beteiligten brauchen exakt dieselbe Factorio-Version und exakt dieselben Mods.
Beim Start berechnet Factorio Prüfsummen der Mod-Dateien. Damit wird verhindert, dass lokal veränderte Mod-Dateien unbemerkt zu unterschiedlichen Spielständen und Desyncs führen.
Für einen stabilen Mod-Server gehst du deshalb so vor:
- Lege die benötigten Mods im Ordner
mods/des Servers ab. - Stelle über
mod-list.jsonsicher, dass die gewünschten Mods aktiviert sind. - Halte Server und Clients auf exakt derselben Factorio-Version.
- Verwende auf allen Seiten exakt dieselben Mods.
Space Age auf dem Server
Space Age ist technisch ein offizieller Mod. Die DLC-Inhalte erscheinen deshalb wie normale Mods in der mod-list.json und können dort einzeln aktiviert oder deaktiviert werden.
Das Linux-Headless-Paket enthält die Space-Age-Inhalte bereits. Du musst für den Headless-Server also kein separates Serverpaket für die DLC-Dateien installieren.
Sobald Space-Age-Inhalte auf dem Server aktiv sind, muss allerdings jeder verbindende Spieler das DLC besitzen. Beim Beitritt prüft der Client den Besitz und aktiviert die Erweiterung passend zum Server automatisch.
Autosaves und Backups
Factorio bringt mehrere Einstellungen für automatische Spielstände mit.
| Einstellung | Standard | Wirkung |
|---|---|---|
autosave_interval | 10 | Abstand zwischen Autosaves in Minuten |
autosave_slots | 5 | Anzahl rotierender Autosave-Slots |
autosave_only_on_server | true | Autosaves nur serverseitig schreiben |
non_blocking_saving | false | experimentelles Speichern per Fork, ohne den Server anzuhalten |
Mit den Standardwerten erzeugt der Server alle zehn Minuten ein Autosave und hält fünf rotierende Autosave-Slots vor.
Für echte Backups solltest du dich nicht ausschließlich auf die rotierenden Autosaves verlassen. Sichere den kompletten Ordner saves/ zusätzlich an einen getrennten Speicherort.
saves/-Ordners bei gestopptem Server. So sicherst du einen konsistenten Stand, ohne dass der Server während des Kopierens am Spielstand weiterschreibt.Server aktualisieren
Server und Clients müssen auf derselben Factorio-Version laufen. Wenn du den Server aktualisierst, solltest du deshalb auch darauf achten, dass deine Spieler mit der passenden Version verbinden.
Vor einem Update:
- Stoppe den Factorio-Server.
- Sichere den Ordner
saves/. - Aktualisiere die Serverdateien.
- Prüfe bei einem Mod-Server auch die verwendeten Mods.
- Starte den Server wieder und achte darauf, dass Clients und Server denselben Versionsstand verwenden.
Zum Redaktionsstand ist die aktuelle Stable-Version 2.0.77.
Bei einem Mod-Server reicht es nicht, nur Factorio selbst auf denselben Stand zu bringen. Auch die Mods müssen auf Server und Clients exakt übereinstimmen.
Fehlerbehebung
| Problem | Typische Ursache | Lösung |
|---|---|---|
| Server startet nicht | kein Spielstand angegeben oder vorhanden | zuerst mit --create einen Save erzeugen oder einen vorhandenen Save über --start-server beziehungsweise --start-server-load-latest laden |
| Server von außen nicht erreichbar | 34197/UDP nicht freigegeben | UDP-Port 34197 in Firewall und gegebenenfalls Router freigeben |
| Port ist angeblich offen, Verbindung klappt trotzdem nicht | nur TCP statt UDP freigegeben | die Regel auf UDP prüfen; Factorio verwendet keinen TCP-Spielport |
| Verbindung hinter Router schlägt trotz Weiterleitung fehl | Router schreibt den Quellport 34197 um | Symmetric NAT beziehungsweise Port-Randomisierung prüfen und sicherstellen, dass der Quellport nicht umgeschrieben wird |
| Server erscheint nicht in der öffentlichen Liste | visibility.public ist deaktiviert oder Factorio.com-Zugangsdaten fehlen | visibility.public auf true setzen und Factorio.com-Benutzername plus bevorzugt einen Token eintragen |
| Spieler werden abgewiesen | require_user_verification oder game_password verhindert den Beitritt | Account-Verifizierung und gesetztes Serverpasswort prüfen |
| Fabrik steht still, sobald alle Spieler offline sind | auto_pause steht auf true | für eine weiterlaufende Fabrik auto_pause auf false setzen |
| Desync oder Beitritt scheitert | abweichende Factorio-Version oder unterschiedliche Mods | Spielversion und Mods auf Server und allen Clients exakt angleichen |
| Spieler ohne DLC kommen nicht auf den Server | Space-Age-Inhalte sind als Mods aktiv | jeder verbindende Spieler benötigt das Space-Age-DLC, solange diese Inhalte aktiv sind |
| Server ruckelt trotz weniger Spieler | große Fabrik belastet den dominanten Simulations-Thread | hohe Single-Core-Leistung priorisieren; die Fabrikgröße ist wichtiger als die reine Spielerzahl |
| Serverkonfiguration wird nicht geladen | JSON-Syntaxfehler in server-settings.json | Kommas, Anführungszeichen und Klammern der JSON-Datei prüfen |
| Portweiterleitung ist am Anschluss nicht möglich | DS-Lite oder CGNAT | prüfen, ob eine direkt erreichbare öffentliche IPv4 für eingehende Verbindungen vorhanden ist |
| Eigene externe Server-IP funktioniert im Heimnetz nicht | NAT-Loopback wird vom Router nicht unterstützt | für Tests aus demselben LAN die interne Serveradresse verwenden und externe Erreichbarkeit getrennt testen |
Häufige Fragen
Brauche ich Factorio, um einen Server zu betreiben?
Unter Linux brauchst du für das offizielle Headless-Paket weder einen Login noch Spielbesitz. Das Paket kann kostenlos von factorio.com/download geladen werden. Für Windows gibt es dagegen kein eigenes Headless-Paket; dort verwendest du das normale Spielpaket im Servermodus.
Gibt es einen Factorio Headless Server für Windows?
Nein, das Factorio-Headless-Paket ist ausschließlich für Linux verfügbar. Unter Windows startest du das normale Spielpaket mit factorio.exe --start-server beziehungsweise einer der anderen vorgesehenen Servervarianten.
Welchen Port braucht ein Factorio Server?
Der Standard-Spielport ist 34197/UDP. Factorio verwendet für den Spielverkehr ausschließlich UDP; einen TCP-Spielport musst du nicht zusätzlich freigeben. Der Port kann über --port geändert werden.
Wie viel RAM und welche CPU braucht ein Factorio Server?
Für kleine Runden sind als Planungswert 2–4 GB RAM und zwei schnelle Kerne ein sinnvoller Ausgangspunkt; größere Fabriken können 8–16 GB oder mehr benötigen. Entscheidend ist vor allem hohe Single-Core-Leistung, weil die Simulation im Kern an einen Thread gebunden ist.
Warum läuft meine Fabrik weiter, wenn niemand online ist – oder eben nicht?
Das bestimmt auto_pause in der server-settings.json. Mit dem Standardwert true pausiert der Server, sobald niemand verbunden ist. Wenn die Fabrik dauerhaft weiterlaufen soll, setzt du auto_pause auf false.
Wie installiere ich Mods auf einem Factorio Server?
Du legst Mods im Ordner mods/ ab und steuerst ihre Aktivierung über mod-list.json. Server und alle Clients müssen exakt dieselbe Factorio-Version und exakt dieselben Mods verwenden.
Brauchen alle Spieler das Space-Age-DLC?
Ja, sobald Space-Age-Inhalte auf dem Server aktiv sind, muss jeder verbindende Spieler das DLC besitzen. Space Age erscheint technisch als offizieller Mod in mod-list.json; das Linux-Headless-Paket enthält die Inhalte bereits.
Weiterführende Artikel
Wenn du neben Factorio weitere eigene Spielserver betreiben möchtest, findest du hier passende Anleitungen:
- Satisfactory Server erstellen
- Valheim Server erstellen
- Terraria Server erstellen
- Project Zomboid Server erstellen
- Enshrouded Server erstellen
Zusammenfassung
Ein eigener Factorio Dedicated Server ist unter Linux und Windows möglich, aber der Installationsweg unterscheidet sich. Linux nutzt das kostenlose Headless-Paket ohne Grafik und Audio. Unter Windows verwendest du das normale Spielpaket und startest factorio.exe im Servermodus.
Der wichtigste Schritt kommt direkt nach der Installation: Erzeuge zuerst einen Spielstand mit --create. Ohne Save startet der Server nicht. Danach regelst du Name, Sichtbarkeit, Zugang, Autosaves und auto_pause über die server-settings.json, gibst 34197/UDP frei und startest den gewünschten Spielstand.
Für Mod-Server müssen Factorio-Version und Mods auf allen Systemen exakt übereinstimmen. Bei Space Age benötigen alle Spieler das DLC, sobald die entsprechenden Inhalte auf dem Server aktiviert sind. Bei großen Fabriken zählt vor allem eine hohe Single-Core-Leistung.
Wenn du Betriebssystem, Router, Firewall und Autostart nicht selbst verwalten möchtest, kannst du stattdessen einen Factorio Server mieten.