Overview
Hier wird ausführlich Erklärt wie ihr auf einen Windows Betriebssystem einen Server aufsetzt. Außerdem wird auch erklärt wie ihre mehrere Instanzen auf einem Computer eingerichtet wird.
Vorab
Bevor wir starten, stellt sicher das ihr bereits einen Account[www.factorio.com] auf der Offizellen Seite[www.factorio.com] von Factorio habt.
Den Account oder Token welches die Voraussetzung auch benötigt, werdet ihr brauchen um euren Server in der „Öffentliche Server“ zu registrieren. Ein reiner Lokaler Server funktioniert auch ohne!
Herunterladen
Außerdem gibt es zwei Möglichkeiten wie ihr einen Factorio Server auf Windows erstellt.
- Wenn ihr die Steam Version von Factorio zum hosten eines Server nutzen wollt, müsst ihr nur zu eurem Factorio Ordner gehen. Standard gemäß werdet ihr unter:
“C:Program Files (x86)SteamsteamappscommonFactorio” fündig. - Wollt ihr aber eine Steam / DRM-Freie Version verwenden, findet ihr auf der Offiziellen Seite[www.factorio.com] wenn ihr angemeldet seit und rechts nach einen großen orangen Knopf namens Download[www.factorio.com] sucht, schließlich auch fündig.
Achtet darauf das ihr NICHT die Headless Datei herunterladet, da dies NUR für Linux ist.
Sollte ihr euch bei der Auswahl des Spieles für die „zip package“ Version entschieden haben, stellt sicher das ihr ein Datenkompressionsprogramm[de.wikipedia.org] wie z. B. 7-Zip[www.7-zip.de] installiert habt.
In den allermeisten Fällen funktioniert es auch mit der experimentelle Versionen[www.factorio.com] von Factorio.
Ordner Optionen
Bevor wir gleich loslegen und den Server gleich zum starten bringen wollen wir vorher noch sicherstellen das wir alle Endungen von den Datein einsehen können. Hierzu gibt es dieses kurze Video[praxistipps.chip.de].
Oder folgt den Anweisungen:
Gibt in der Windows Suche „Explorer-Optionen“ ein und bestätigt mit der Eingabetaste.
Als nächstes wechselt ihr den Reiter auf „Ansicht“ und sucht nach „Erweiterungen bei bekannten Dateitypen ausblenden“ dort macht ihr das Kreuz raus.
Manueller Start
Wir haben noch eine Voraussetzung die wir erfüllen müssen und zwar öffnen wir unser Spiel, erstellen eine neue Karte mit all den Einstellungen die wir gerne hätten, generieren diese Karte und speichern die Karte ab, in unseren Fall nennen wir den Spielstand „MeinSpielstand.zip“. In der Steam Version findet ihr euren Spielstand am schnellsten wenn ihr die Tastenkombination [Windows+R] (Das ist die Flaggentaste die wie das Logo von Windows ausschaut) gleichzeitig drückt. Dann erscheint das „Ausführen“ Fenster. In diesem Fenster geben wir jetzt „%appdata%“ ein und es öffnet sich ein neues Verzeichnis, dort navigieren wir dann anschließen zu „Factorio“ und unter „save“ finden wir unseren Spielstand. Diesen kopieren wir in unseren Factorio Server Ordner.
Um den Server jetzt zu starten zu können müssen wir als nächstes die Windows Eingabeaufforderung[de.wikipedia.org] (auch bekannt als cmd) öffnen. Dazu wiederholen wir Schritt 1 bis wir das „Ausführen“ Fenster wieder haben in dem ihr jetzt nur noch „cmd“ eingeben müsst und anschließen auf „OK“ drückt.
Jetzt haben wir unsere Console und sind schon fast Start bereit! Wir müssen noch ein Schritt gehen und zwar müssen wir jetzt zur unseren Factorio Server Ordner navigieren. Dazu kopieren wir einfach unseren Pfad und geben in der Console „cd “UnserenPfad““ ein.
Tipp: Wenn ihr nur die Anfangsbuchstaben eingibt dann könnt ihr mit der Taste [Tab] (Tabulator) den Rest automatisch anzeigen lassen.
Jetzt müssen wir nur noch ein Befehl eingeben um unseren Server zu starten!
binx64factorio.exe –start-server MeinSpielstand.zip
Im der nächsten Sektion erfährt ihr wie ihr den Server über die so genannte Batchdatei startet!
Einfacher Start
Als nächstes wollen wir das starten des Servers vereinfachen. Dazu legen wir uns eine Batchdatei[de.wikipedia.org] an.
Mithilfe dieser Zeile lässt sich der Server jetzt auch schon starten:
@echo off
title Factorio Server
binx64factorio.exe –start-server MeinSpielstand.zip
pause
Wie ihr diese Datei bekommt ist ganz einfach, öffnet einen beliebigen Editor oder den mitinstallierten von Windows Editor (Notepad). Danach kopiert ihr diesen Code und fügt ihn bei euch ein. Jetzt müsst ihr nur noch auf „Datei“ gehen und „Speichern unter…“ hierbei ist zu beachten das ihr die Datei mit der Endung „.bat“ speichert, z. B. „Server Start.bat“.
Eure Verzeichnis sollte jetzt auch so aussehen:
Wichtig ist hierbei das ihr einen Spielstand in euren Factorio Server Ordner habt! In diesem Fall haben wir den Spielstand in „MeinSpielstand.zip“ geändert. Selbstverständlich könnt ihr den Namen ändern, vergisst aber nicht auch in der Batchdatei anzupassen!
Erweiterter Start
Nach dem wir erfolgreich einen Server gestartet haben, würden wir gerne weitere Einstellungen vornehmen.
In dieser Sektion werden wir folgendes tun:
- laden der Server-settings.json Datei
– Token einfügen - laden der config.ini Datei
– Port bestimmen - Mods hinzufügen
– Modeinstellungen hinzufügen
Weitere Parameter findet ihr hier[wiki.factorio.com]
Als aller erstes gehen wir in den „data“ Ordner und kopieren die „server-settings.example.json” und benennen sie in „server-settings.json” um. Hier findet ihr außerdem die übersetzte Datei[pastebin.com] von mir. Die Datei könnt ihr im selben Ordner lassen, der Pfad muss aber angegeben werden, achtet darauf auf den Code.
Als nächstes öffnen wir die Datei mit unseren beliebigen Editor und bearbeiten sie.
Solltet ihr beim bearbeiten anstelle eure Factorio Account Passwort für den Token entschieden haben so findet ihr den auf der Offizellen Seite[www.factorio.com] von Factorio unter euren Namen[www.factorio.com] rechts.
Das gleiche machen wir auch mit der „config.ini“ die ihr wenn ihr einen „Manuellen Start“ oder „Einfachen Start“ wie hier beschrieben wird durchgeführt habt automatisch generiert worden ist, ansonsten findet sie ihr natürlich auch hier auf Pastebin[pastebin.com]. Hierbei ist zu beachten das jeder Text der mit einen Semikolon (;) anfängt als Kommentar gilt! Kommentare werden von dem Spiel oder Server ignoriert. Ebenfalls wichtig ist das nicht alle Einstellungen in dieser Datei nur für den Server sind sondern auch für das normale Spiel, also sprich wenn ihr jetzt in den „bin/x64/“ Ordner geht und die „factorio.exe“ ausführt. Ihr könnt aber davon ausgehen das die Sektionen „path“ und „other“ funktionieren dementsprechend „könnt“ ihr diese anpassen.
Wenn ihr den Port über die „config.ini“ Datei bestimmt könnt ihr nachher im Code den Port entfernen!
Die erste Möglichkeit wäre das ihr die Mods in euren Client herunterladet und einstellt.
Wie schon in der Sektion „Manueller Start“, öffnet ihr mit der Tastenkombination [Window+R] gleichzeitig das „Ausführen“ Fenster und gibt „%appdata%“ ein und navigiert zu Factorio. Dort findet ihr dann den Ordner „Mods“ den ihr kopiert und dann zu euren Factorio Server Ordner einfügt. Kleine Anmerkung die Einstellungen für die Mods befindet sich im „Mods“ Ordner namens „mod-settings.dat“
Tipp von mir:
Ich selbst verwende den ModMyFactory[github.com] welches erlaubt ganz einfach mehre Mods zu aktualisieren bevor ihr das Spiel startet außerdem mehrere „Modpack“ erstellen lässt und auch per Verknüpfung jeden „Modpack“ starten. Und ihr könnt euren „Modpack“ exportieren und an euren Freunden weitergeben die es dann in ihren ModMyFactory importieren. Es ist auch in der deutschen Sprache verfügbar!
Hinweis hier noch, wenn ihr beim „exportieren“ unten rechts auf das Ordner-Symbol geht, werden alle Mods mit eingebunden.
Die zweite Möglichkeit ist das ihr auf der Offiziellen Mod Portal Seite[mods.factorio.com] die Mods einzeln herunterlädt und in den „Mods“ Ordner von euren Server einfügt! Hierbei ist zu beachten das es aber keine Möglichkeit gibt die Einstellungen für die Mods zu konfigurieren. Daher befürworte ich natürlich die erste Möglichkeit.
Das ganze sollte dann so im euren Server Ordner aussehen:
Wie erwähnt braucht ihr den Port nicht angeben den es wird automatisch auf 34197 eingestellt. Wenn ihr in der „config.ini“ den Port eingetragen habt achtet darauf das der im Code nicht steht weil der ihn sonst überschreiben wird! Wie ihr auch sehen könnt sind die Pfade zu den jeweiligen Datein mitangegeben!
@echo off
title Factorio Server
binx64factorio.exe –start-server “MeinSpielstand.zip” –server-settings “dataserver-settings.json” –config “configconfig.ini” –port 34197
Port freigeben
Die „Windows Defender Firewall mit erweiterter Sicherheit“ solltet ihr erst nach dem versuch eures Routers ausprobieren!
Solltet ihr Router und in Windows den Port eingetragen haben und es trotzdem nicht funktioniert das andere Spieler bei euch verbinden können, so könnte es an folgendes liegen. Wenn ihr einen Antivirenschutzprogramm habt könnte es wohl an diesem liegen. Zum ausprobieren könnt ihr eure Antivirenschutzprogramm die Sicherheit ausschalten. WICHTIG dieses Risiko geht auf eigene Gefahr! Wenn ihr damit aber Erfolg haben solltet so müsst ihr eine Ausnahmeregel für euren Antivirenschutzprogramm hinzufügen!
Zuerst öffnet ihr den „Windows Defender Firewall mit erweiterter Sicherheit“ den ihr unter: „SystemsteuerungSystem und SicherheitWindows Defender Firewall“ links auf „Erweitere Einstellungen” findet!
- Geht jetzt auf „Eingehende Regln“
- Rechts auf „Neue Regeln…“
- Wählt „Port“ aus dann weiter.
- Wählt „UDP“ und „Bestimmte lokale Ports“ dort gibt ihr „34197“ ein.
- Wählt „Verbindung zulassen“.
Hier wählt ihr aus was auf euch zutrifft bzw. was ihr auch für eure Netzwerk eingestellt habt.
Das könnt ihr hier:
„SystemsteuerungNetzwerk und InternetNetzwerk- und Freigabecenter“
Unter „Aktive Netzwerke anzeigen“ sehen. - Dann verpasst noch einen Namen, ich wähle hier „Factorio UDP“ aus.
- Beschreibung ist wie ihr schon liest optional.
Und fertig!
Hier ist eine Erklärung wie ihr das alles auf einen Telekom Speedport Router einstellt.
- Logg euch bei euren Router ein, in meinen Fall gehen wir auf „speedport.ip“
- Dann geht auf „Internet“, links auf „Portfreischaltung“
- Und klickt auf „Port-Umleitungen und Port-Weiterleitungen“.
- Danach auf „Weitere Port-Umleitung oder Port-Weiterleitung anlegen“.
- Anschließen füllt ihr alles aus:
In meinen Beispiel richten wir das so ein:
Name der Umleitung: „Factorio“
Gilt für folgendes Gerät: „euren Computer auswählen!”
Vorlage verwenden: „Keine Vorlage”
Umzuleitende Ports: „UDP 34197 – 34207 > 34197 – 34207″
In der Wiki[wiki.factorio.com] sieht ihr welcher Port freigegeben werden muss. - Dann speichern und fertig seit ihr!
Mehrere Instanzen
Wichtig ist das ihr die Sektion schon „Manueller Start“, „Einfacher Start“ und „Erweiterter Start“ gelesen habt.
In diesem Beispiel werden wir 2 Server auf nur einer Maschine laufen lassen. Natürlich könnt ihr auch mehre Anlegen! Damit wir die Übersicht nicht verlieren werden wir jetzt ein paar Ordner erstellen die für Ordnung sorgen.
- Geht in euren Factorio Ordner.
- Erstellt in diesem, einen Ordner namens „servers“.
- Geht in diesem Ordner und erstellt einen weiteren Ordner „Server1“
- In diesen Ordner erstellt ihr wieder zwei Ordner „config“ und „data“.
- Kopiert jetzt die „server-settings.json“ in den „data“ Ordner und bearbeitet sie.
- Das gleiche machen wir mit der „config.ini“, hierbei ist zu beachten das ihr die Zeile
write-data=__PATH__executable__….
in
write-data=serversserver1abändern müsst. Und vergisst den Port nicht!
- Unbedingt den Spielstand noch kopieren.
Jetzt kopieren wir den Ordner „Server1″ und nennen diese Kopie „Server2“.
Hier passt ihr ebenfalls die „server-settings.json“ und „config.ini“an.
Achtet unbedingt darauf das ihr immer den Pfad richtig anpasst. Sprich
Mods könnt ihr auch hinzufügen. Einen Tipp hier wenn alle Server die gleichen Mods benutzten dann fügt in der Batchdatei einfach das hinzu:
Einmal in der Zeile 29 und 46 jeweils am ende.
Stellt sicher das die Mods dann nicht in jedem einzelnen Server sind sondern dort wo eure “servers” Ordner ist. Also wie zuvor in der vorigen Sektion „Erweitere Start“.
Das ganze sollte dann so aussehen:
📁Factorio Server
└📁servers
⠀└📁server1
⠀⠀└📁config
⠀⠀⠀└📝config.ini
⠀⠀└📁data
⠀⠀⠀└📝server-settings.json
⠀⠀└🗄️Save.zip
⠀└📁server2
⠀⠀└📁config
⠀⠀⠀└📝config.ini
⠀⠀└📁data
⠀⠀⠀└📝server-settings.json
⠀⠀└🗄️Save.zip
Und als letztes brauchen wir wieder unsere Batchdatei[pastebin.com] dazu möchte ich anmerken das überall wo „REM“ davor steht Kommentare sind, welche ich für euch gemacht habe. Außerdem wenn ihr einen weiteren Server hinzufügt müsst ihr rein gar nichts an der Batchdatei ändern!
@echo off
title Server startersetlocal EnableDelayedExpansion
cd servers
:start
REM Legt den Standard Pfad für die factorio.exe fest
set factorio=binx64factorio.exeREM Um das ausschreiben für jeden einzelen Server zu ersparen erstellen wir Abkürzungen.
set config_file=configconfig.ini
set server_settings_file=dataserver-settings.jsonREM Server werden nach 2 aufgelistet. (1 = Alle Server)
set server_count=1REM Wir lassen in der Console ein Text erscheinen.
echo Welchen Server wollen sie starten?
REM echo. Um eine leere Zeile anzugeben.
echo.
echo 1. AlleREM Wir werden alle Ordner in den Ordner “servers” auflisten.
for /D %%f in (*) do (
set /a server_count+=1
REM Wir speichern jeden gefunden Server in einer abkürzung ab.
set s!server_count!=”Factorio Server – %%f” /min cmd /c %factorio% –start-server servers%%fSave.zip –server-settings servers%%f%server_settings_file% –config servers%%f%config_file%
REM Wir geben an welche Server wir zur Auswahl haben.
echo !server_count!. %%f
)echo.
REM Wenn man diesen Script beenden möchte gibt man einfach 0 ein.
echo 0. Exit
echo.
REM Wir nehmen die nächste Eingabe des Benutzers auf.
SET /P GET_INPUT=
echo.REM Wenn die Eingabe 1 war starten wir alle Servers!
IF “%GET_INPUT%” == “1” (
for /D %%f in (*) do (
cd ..
start “Factorio Server – %%f” /min cmd /c %factorio% –start-server servers%%fSave.zip –server-settings servers%%f%server_settings_file% –config servers%%f%config_file%
cd servers
)
echo Alle Server gestartet…
echo.
pause
) else IF “%GET_INPUT%” == “0” (
REM Bei 0 wie geasgt wird beendet!
exit
) else (
REM Wenn die Eingabe gültig ist.
IF NOT “!s%GET_INPUT%!” == “” (
cd ..
REM Wird der Server gestartet.
start !s%GET_INPUT%!
cd servers
echo.
echo Server gestartet…
echo.
GOTO start
) else (
echo.
REM Gehen wir zurück um erneut eine Zahl eingeben zu können.
echo Versuchen sie es nochmal…
GOTO start
)
)
Als Tipp kann ich euch cmder[cmder.net] empfehlen welches eure altes CMD durch ein neues schickes CMD „ersetzt“. Z. B. werden alle Console in einem Fenster geöffnet und als Reiter aufgelistet. Ihr könnt da komplett des Design neu bestimmen. Und vieles mehr.
Tools für Server und mehrere Instanzen
Vorschau:
Ich schreibe gerade mit AutoHotkey[autohotkey.com] einen Script der euch das ermöglicht einfach mehrere Instanzen zu starten. Ohne das ganze kopieren oder bearbeiten von einzelnen Dateien. Ebenfalls könnt ihr auch alle Einstellungen in diesem Script vornehmen.
EDIT:
Auf Trello[trello.com] findet ihr was ansteht.
Jetzt findet ihr alle veröffentlichte Versionen hier[github.com] zum herunterladen.
Auf Github[github.com] könnt ihr Source[github.com] einsehen und mit wie oben genannt Programm AutoHotkey (v1.1.29.01) die Source-Codes ausführen.
Zur guter letzt könnt ihr Fehler Melden[github.com]
Aushelfen
- Wer sich sehr gut mit Batch-Programmierung[de.wikibooks.org] auskennt und möchte hier einen verbesserte Batchdatei hinzufügen, darf sich gerne bei mir melden.
- Wenn ihr ein anderen Router habt und ihr mir einen Screenshot von eure Freigabe zu Factorio schicken könntet und mir sagt wie ihr dort hingelangt Navigationsmäßig wäre das super von euch!
Abschlusswort
- Wenn ihr weitere Fragen habt stellt sie bitte hier, ich möchte das hier so umfangreich wie möglich gestalten.
- Über Feedback und Verbesserungsvorschläge würde ich mich freuen!
- Natürlich wäre es auch schön wenn ihr den Guide bewerten würdet 🙂
Viel Spaß noch am basteln und spielen!