Installing Factorio Using the Headless Binary
How to install a Factorio dedicated server using the official headless binary without Steam or SteamCMD.
Overview
Factorio provides an official headless server binary that does not require Steam or SteamCMD. This is useful when SteamCMD is not available, when you want to pin a specific version, or when you prefer a minimal install with no Steam dependency.
Download the Headless Binary
The stable headless build is available at:
https://www.factorio.com/download/stable/headless
You can download it directly with curl or wget:
wget https://www.factorio.com/download/stable/headless -O factorio_headless.tar.gz
Or with curl:
curl -L https://www.factorio.com/download/stable/headless -o factorio_headless.tar.gz
The download requires no authentication. The file will be named something like factorio_headless_x64_2.0.x.tar.gz.
Extract the Archive
tar -xzf factorio_headless_x64_*.tar.gz
This extracts to a factorio/ directory in the current working directory. The resulting layout is identical to a SteamCMD install:
factorio/
bin/x64/factorio
config/
saves/
mods/
Verify the Binary
Check the installed version:
./factorio/bin/x64/factorio --version
Expected output:
Version: 2.0.x (build xxxx, linux64, headless)
Pinning a Specific Version
The stable URL always returns the latest stable release. To install a specific version, use the versioned URL format:
https://www.factorio.com/get-download/2.0.x/headless/linux64
Replace 2.0.x with the exact version number. This is useful when you need to match a specific client version or lock a production server to a known-good release.
Updating Without SteamCMD
To update a headless install, download the new tarball and extract it over the existing directory. The binary, data/, and Changelog.txt are replaced; your saves/, config/, and mods/ directories are untouched as long as you extract into the same parent directory.
Stop the server before extracting:
# Stop the server via the panel console or SIGTERM
tar -xzf factorio_headless_x64_NEW.tar.gz
# Restart the server
For full update guidance including compatibility checks, see Updating the Factorio Server and Managing Compatibility.
When to Choose Headless Binary vs SteamCMD
Use the headless binary when you need version pinning, have no SteamCMD support in your egg, or are scripting a minimal Docker-style install. Use SteamCMD when you want automatic updates through the panel and your egg already supports it. Both methods produce identical server functionality.