Hallo, da wir häufiger gefragt wurden, wie man auf einem Debain-System einen Factorio-Gameserver erstellt, möchte ich euch hier einmal kurz beschreiben wie das funktioniert. In diesem Beispiel wird die Serverversion 0.16.51 installiert. Wie immer gilt, wir freuen uns über euer Feedback und sollte sich ein Fehler eingeschlichen haben, so gebt uns bitte bescheid.
Grundvoraussetzungen
Um einen Server betreiben zu können, der losgelöst von eurem Heimpc laufen soll benötigt ihr im konkreten Beispiel einen Debian Server. Im folgenden Tutorial nutzen wir folgende Software:
- Putty zur Verbindung via ssh
- nano als Texteditor auf dem Server
- wget zum beziehen der Serverdatei
Außerdem solltet ihr darauf achten, dass der UDP Port 34197 offen sein muss. Editiert hierzu einfach eure Firewall, der Port kann auch verändert werden, dies könnt ihr später in der Server-Konfiguration einstellen
legt einen User für den Server an
Es sollte ein eigener Benutzer für den Server angelegt werden, hierzu müsst ihr erst zu einem admin user wechseln, das macht ihr mit dem Befehl:
su root
Anschließend erstellt ihr den User ohne Loginmöglichkeit:
adduser --disabled-login --gecos factorio factorio
Nun wechseln wir noch zum neuen User
su factorio
Den Server herunterladen
Die Serverdateien werden vom Spielhersteller zur Verfügung gestellt unter der Adresse https://factorio.com/download-headless könnt ihr euch die neuste Version gepackt herunterladen, kopiert euch hierzu einfach den downloadlink von der Website von dem gewünschten Paket.

wechsle in das Home-Verzeichnis des User
Die nächsten operationen werden im verzeichnis des factorio user durchgeführt.
cd /home/factorio
herunterladen des Servers
Der eigentliche Server wird nun als headless-version heruntergeladen. Nutzt hierzu den kopierten link der aktuellen Serverdatei.
wget -o factorio_headless_0_16_51.tar.gz https://factorio.com/get-download/0.16.51/headless/linux64
Entpacken der Dateien und konfigurieren
Zum Entpacken nutzen wir das programm tar mit dem x f Befehlssatz
tar -xf factorio_headless_0_16_51.tar.gz
weitere Verzeichnisse erstellen
Nun müssen wir mindestens das saves Verzeichnis erstellen, optional kann auch noch ein mods-Verzeichnis erstellt werden, jedoch muss man bedenken, dass dann die Spieler auch alle Mods benötigen, die auf dem Server installiert sind.
mkdir /home/factorio/factorio/mods mkdir /home/factorio/factorio/saves
nötige Konfigurationsdateien
Nun benötigt der Server noch Informationen über seine Konfiguration. Hierzu nutzen wir die Vorlagen, die der Hersteller mitliefert. Hierzu kopieren wir uns eine Konfigurationsdatei:
cp /home/factorio/factorio/data/server-settings.example.json /home/factorio/factorio/data/server-settings.json
Anschließend müssen wir noch die Datei nach Wunsch bearbeiten. Dies lässt sich leicht mit Programmen wie nano erledigen:
nano /home/factorio/factorio/data/server-settings.json
Die Datei ist recht leicht zu verstehen, aus diesem Grund überspringen wir hier die genaue Beschreibung.
optionale Konfigurationsdateien
Optional, jedoch stark empfohlen wird, dass man auch eine Map-Generierungs-Konfiguration erstellt. Hierzu kopieren wir uns wieder zuerst die nötige Datei:
/home/factorio/factorio/data/map-gen-settings.example.json /home/factorio/factorio/data/map-gen-settings.json
und bearbeiten diese mit nano:
nano /home/factorio/factorio/data/map-gen-settings.json
Auch hier gehen wir nicht näher auf die Konfiguration ein, da diese eigentlich recht selbsterklärend ist. Sollte es hier Fragen geben, so stellt diese bitte in den Kommentaren.
Erstellen der Serverkarte
Nun als letzten Schritt muss die eigentliche Welt für den Server erstellt werden. Dies macht ihr, indem ihr folgenden Befehlt ausführt. Beachtet jedoch, dass ihr den Namen der Speicherdatei (“my-save.zip”) noch auf einen für euch passenden Namen ändern solltet.
/home/factorio/factorio/bin/x64/factorio --create /home/factorio/factorio/saves/my-save.zip --map-gen-settings my-map-gen-settings.json --map-settings my-map-settings.json

weiter als root/admin
Für die nächsten Schritte sind admin-rechte nötig. Hierzu wechselt ihr einfach z.B. zum User root:
su root
einen Dienst im Systemd anlegen
Um den Server später einfach starten und stoppen zu können, solltet ihr im Systemd einen Dienst anlegen. Dazu legt ihr ersteinmal eine Datei namens factorio.service an:
nano /etc/systemd/system/factorio.service
den Dienst konfigurieren
Damit euer Betriebssystem weis, was nun mit dem Dienst geschehen soll und welche Befehle ausgeführt werden sollen, definiert ihr nun den Inhalt der factorio.service Datei:
[Unit] Description=Factorio Headless Server [Service] Type=simple User=factorio ExecStart=/home/factorio/factorio/bin/x64/factorio --start-server /home/factorio/factorio/saves/{save_file}.zip --server-settings /home/factorio/factorio/data/server-settings.json
Achtet auch hier auf die richtige Schreibweise beim Namen der Save-Datei! ({save_file}.zip) Im Anschluss könnt ihr mit Strg+O die Datei speichern.
Den Factorio-Server starten
Um nun euren Factorio-headless-server zu starten müsst ihr vorher die deamon-list neu laden:
systemctl daemon-reload
im Anschluss könnt ihr den Server starten:
systemctl start factorio
Weitere Befehle
Ihr könnt den Server nicht nur über den Dienst starten, folgende Möglichkeiten habt ihr außerdem:
systemctl start factorio -> Startet den server systemctl stop factorio -> Stoppt den server systemctl status factorio -> zeigt den aktuellen serverstatus an aus diesen fenste kommt man mit strg+c
Crontab zur Abrundung
Damit auch bei einem Serverneustart der Factorio-Server immer mit startet, könnt ihr noch einen Cronjob für den root-user anlegen. Hierzu nutzt ihr die Funktion Crontab:
crontab -e
Dort fügt ihr einfach die folgende Zeile ein, diese sorgt dafür, dass ein potentieller Systemneustart auch den Factorio-Headless-Server neu startet:
@reboot systemctl start factorio

Jetzt könnt ihr den Server nach voller Lust betreiben. Die Quellen für dieses Tutorial haben wir euch im folgenden verlinkt:
Tutorial Quellen:
- https://factorio.com/download-headless für die aktuelle Serverversion
- https://wiki.factorio.com/Multiplayer der Wiki-Eintrag für den Server
- https://gist.github.com/othyn/e1287fd937c1e267cdbcef07227ed48c das abgewandelte Github-Tutorial zum Thema
No responses yet