Installer un serveur Factorio headless sous Linux (guide 2.0 / Space Age)
Wube Software distribue gratuitement une version headless de Factorio : le jeu complet, sans graphismes ni sons, pensé pour tourner sur un serveur. Ce guide couvre l’installation de la version stable 2.0.77 sur Linux, la création de la carte, la configuration server-settings.json, le port réseau et le démarrage automatique avec systemd.
Pas envie de gérer Linux, le pare-feu et les mises à jour ? Louez un serveur Factorio chez HebergTonServ — installation automatique, Ryzen 9 5950X, dès 6,90 €/mois.
Specs techniques à connaître
| Élément | Valeur |
|---|---|
| Version stable (sept. 2026) | 2.0.77 (expérimentale : 2.1.x) |
| Paquet serveur | factorio-headless_linux_<version>.tar.xz |
| Port | 34197 UDP (UDP uniquement) |
| Binaire | bin/x64/factorio |
| Config serveur | data/server-settings.example.json → à copier |
| glibc minimum | 2.31 |
| Space Age | inclus dans la headless (data/space-age, data/quality, data/elevated-rails) |
Source : wiki officiel — Multiplayer et factorio.com/download.
Étape 1 — Créer un utilisateur dédié
Ne lancez jamais le serveur en root :
sudo useradd -m -s /bin/bash factorioÉtape 2 — Télécharger et extraire la version headless
Le lien officiel redirige toujours vers la dernière version stable :
cd /tmp
wget -O factorio-headless.tar.xz https://factorio.com/get-download/stable/headless/linux64
sudo tar -xJf factorio-headless.tar.xz -C /opt
sudo chown -R factorio:factorio /opt/factorioLe serveur est maintenant dans /opt/factorio. Vérifiez la version :
sudo -u factorio /opt/factorio/bin/x64/factorio --versionSi vous obtenez une erreur
GLIBC_2.31 not found, votre distribution est trop ancienne (CentOS 7 par exemple). Passez sur Debian 11+ ou Ubuntu récent.
Étape 3 — Créer la carte
Le serveur headless exige une sauvegarde au démarrage. On la génère avec --create :
sudo su - factorio
cd /opt/factorio
./bin/x64/factorio --create ./saves/mon-usine.zipPar défaut, --create produit une partie Space Age (l’extension est activée d’office). Pour une partie vanilla jouable par des amis sans l’extension, créez d’abord mods/mod-list.json :
{
"mods": [
{ "name": "base", "enabled": true },
{ "name": "elevated-rails", "enabled": false },
{ "name": "quality", "enabled": false },
{ "name": "space-age", "enabled": false }
]
}Sur la branche expérimentale 2.1, l’extension comporte un mod supplémentaire
recycler: ajoutez-le à la liste avec"enabled": false.
Personnaliser la génération (optionnel)
Copiez les exemples fournis et passez-les à --create :
cp data/map-gen-settings.example.json map-gen-settings.json
cp data/map-settings.example.json map-settings.json
nano map-gen-settings.json # taille, minerais, falaises, graine...
./bin/x64/factorio --create ./saves/mon-usine.zip \
--map-gen-settings map-gen-settings.json \
--map-settings map-settings.jsonVous pouvez aussi fixer la graine avec --map-gen-seed 123456.
Vous avez déjà une partie solo ? Envoyez simplement son
.zipdanssaves/: voir transférer une partie solo sur un serveur Factorio.
Étape 4 — Configurer server-settings.json
cp data/server-settings.example.json data/server-settings.json
nano data/server-settings.jsonLes clés les plus utiles :
| Clé | Rôle | Exemple |
|---|---|---|
name / description | Nom et description dans la liste des parties | "Usine FR" |
visibility.public | Listée sur le serveur public de Factorio | true |
visibility.lan | Visible en réseau local | false |
username + token | Identifiants factorio.com (obligatoires si public: true) | token depuis votre profil |
game_password | Mot de passe de la partie | "secret" |
require_user_verification | N’accepte que des comptes factorio.com valides | true |
max_players | Limite de joueurs (0 = illimité) | 10 |
allow_commands | true, false ou admins-only | "admins-only" |
autosave_interval / autosave_slots | Fréquence (min) et nombre d’autosaves | 10 / 5 |
afk_autokick_interval | Kick AFK en minutes (0 = jamais) | 0 |
auto_pause | Pause quand personne n’est connecté | true |
only_admins_can_pause_the_game | Seuls les admins peuvent mettre en pause | true |
Préférez le token au mot de passe : le fichier est stocké en clair. Pour un serveur privé, laissez
username/tokenvides et passezpublicàfalse.
Étape 5 — Premier lancement
./bin/x64/factorio --start-server ./saves/mon-usine.zip \
--server-settings ./data/server-settings.jsonOu, pour charger automatiquement la sauvegarde la plus récente (pratique avec les autosaves) :
./bin/x64/factorio --start-server-load-latest \
--server-settings ./data/server-settings.jsonParamètres réseau utiles :
| Paramètre | Rôle |
|---|---|
--port 34197 | Changer le port du jeu |
--bind 0.0.0.0 | IP (et port) d’écoute |
--rcon-port 27015 --rcon-password XXX | Activer RCON (administration à distance) |
--console-log fichier.log | Copie du log serveur |
Coupez avec Ctrl+C : le serveur sauvegarde à la fermeture.
Étape 6 — Ouvrir le port 34197 UDP
Factorio n’utilise que l’UDP :
# UFW (Ubuntu/Debian)
sudo ufw allow 34197/udp
# firewalld
sudo firewall-cmd --permanent --add-port=34197/udp
sudo firewall-cmd --reloadDerrière une box, créez une redirection UDP 34197 vers la machine, et vérifiez que le routeur ne randomise pas le port source (problème connu sur certains pfSense).
Étape 7 — Service systemd (démarrage automatique)
Revenez sur votre compte sudo et créez /etc/systemd/system/factorio.service :
[Unit]
Description=Factorio Headless Server
After=network-online.target
Wants=network-online.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
KillSignal=SIGINT
TimeoutStopSec=60
[Install]
WantedBy=multi-user.targetKillSignal=SIGINT reproduit un Ctrl+C pour que la partie soit sauvegardée proprement à l’arrêt.
sudo systemctl daemon-reload
sudo systemctl enable --now factorio
sudo journalctl -u factorio -fMettre à jour le serveur
Tous les joueurs doivent avoir exactement la même version que le serveur. Pour mettre à jour :
sudo systemctl stop factorio
sudo cp -r /opt/factorio/saves ~/backup-saves-$(date +%F)
cd /tmp && wget -O factorio-headless.tar.xz https://factorio.com/get-download/stable/headless/linux64
sudo tar -xJf factorio-headless.tar.xz -C /opt
sudo chown -R factorio:factorio /opt/factorio
sudo systemctl start factorioL’extraction écrase les binaires et data/ mais conserve saves/, mods/ et vos fichiers de configuration. Attention : data/server-settings.json se trouve dans data/ — gardez-en une copie avant la mise à jour.
Et sous Windows ?
Il n’existe pas de version headless Windows. Utilisez la version complète du jeu (Steam ou factorio.com) avec un fichier .bat placé dans le dossier d’installation :
start /wait .\bin\x64\factorio.exe --start-server-load-latest --server-settings .\data\server-settings.jsonLe dossier d’installation Steam par défaut est C:\Program Files (x86)\Steam\steamapps\common\Factorio. Ouvrez le port 34197 UDP dans le pare-feu Windows.
FAQ
Le serveur dit qu’il ne trouve pas la sauvegarde, c’est normal ?
Oui, au premier essai sans --create. Le serveur headless a toujours besoin d’un fichier .zip : créez-le avec --create ou importez votre partie solo.
Mes amis n’ont pas Space Age, ils ne peuvent pas rejoindre
La partie a été créée avec l’extension activée. Désactivez space-age, quality et elevated-rails dans mods/mod-list.json avant de créer une nouvelle carte. Une partie déjà commencée avec Space Age ne peut pas être « retirée » proprement de l’extension.
Comment devenir admin de mon serveur ?
Depuis la console serveur : /promote VotrePseudo. Le fichier server-adminlist.json est alors créé. Toutes les commandes sont dans notre guide commandes admin Factorio.
La partie est en pause quand je me déconnecte
C’est le comportement par défaut (auto_pause: true). Passez la valeur à false dans server-settings.json.
Conclusion
Votre serveur Factorio headless est en ligne : il ne reste qu’à vous connecter via Multijoueur → Se connecter à une adresse avec IP:34197. Pour ajouter des mods, suivez installer des mods sur un serveur Factorio.
Si vous préférez éviter l’administration Linux, HebergTonServ installe et met à jour votre serveur Factorio automatiquement, avec 4 Go (6,90 €/mois) ou 8 Go de RAM (11,90 €/mois) sur Ryzen 9 5950X.
Pour aller plus loin
- Meilleur hébergeur Factorio 2026 : comment choisir
- Commandes admin d’un serveur Factorio
- Transférer une partie solo sur un serveur Factorio
- Serveur Factorio qui ne s’affiche pas : dépannage
- Sauvegarder et restaurer un serveur Factorio
- Serveur Factorio privé : mot de passe, whitelist et bans
Sources : wiki Factorio — Multiplayer, wiki Factorio — Command line parameters, server-settings.example.json (wube/factorio-data), forum officiel — Space Age et serveur headless.



