Before starting a Space Age factory, check three things: every player owns the expansion, server and clients use compatible Factorio builds, and the server has the same enabled expansion mods and regular mods as the save. The fact that the headless package contains Space Age files does not mean every participant owns the expansion.
This guide covers a directly installed Linux headless server. If Factorio runs through Docker or a control panel, use that deployment's save paths and launch configuration.
Separate the base game from the expansion#
Factorio 2.0 is a free base-game update. Space Age is a separate paid expansion. Wube's official download page offers a free Linux headless package with Space Age content. That helps the server host, but it does not replace a player's entitlement: every player needs the expansion for Space Age Freeplay multiplayer.
If you want to play without the DLC, create or keep a regular base-game save and do not enable the Space Age mods. If you are starting Space Age, ask every participant to verify the expansion in their account and use a compatible Factorio build. Do not test this against the only copy of an established factory: enabling the expansion can change progression and world content.
Pin the build and mod set#
The Factorio download page lists stable and experimental branches. When checked on October 21, 2026, it listed stable 2.0.77 and experimental 2.1.23. This is a dated snapshot; check the current numbers before setup and avoid moving the server and players to experimental by accident.
Record the complete server and client build numbers. For a modded game, record every enabled mod and its version. Factorio build, expansion mods, and regular mods are separate parts of compatibility. An Incompatible with space-age message concerns the state or requirements of a particular mod; do not blindly apply Docker environment variables when Factorio is installed directly. First compare mod-list.json with the save's enabled mods and the loader message.
Before changing branches, enabling Space Age, or updating mods, back up the program, configuration, mod directory, and save. Open a copy with the intended build and test it using a matching client. Do not remove a mod from the live world just to make it load: that mod may have added entities or logic the factory depends on.
Start the intended save#
Create a dedicated non-interactive system account and grant it access to its data directory, save, and settings. Substitute your own verified absolute paths:
sudo -u factorio /opt/factorio/bin/x64/factorio \
--port 34197 \
--server-settings /srv/factorio/server-settings.json \
--start-server /srv/factorio/saves/space-age-friends.zip
--start-server starts a dedicated server with the specified save archive; --port sets the game network port. Open the corresponding UDP port in both the external and host firewall. Do not expose RCON to the internet; if you need it, set a separate secret and restrict it to a private network or admin VPN. For ongoing service, run the command through systemd so you can manage shutdown and logs; do not leave it attached to an SSH session.
This command alone does not configure player lists, RCON, auto-pause, public listing, or mod downloads. Check the server-settings.example.json shipped with the same installation for paths and format. Do not expose a password, Factorio token, or RCON secret in a public log.
Verify the path from build to join#
Before opening the server to players, check that:
- The server and every client use compatible complete build numbers on the same branch.
- Every player owns Space Age if the save uses expansion content.
- Enabled expansion and regular mods match the save by name and version.
- The startup log identifies
space-age-friends.zip, and the external UDP port is reachable. - Players join from clients with the same build and full mod set.
If the base game connects but a Space Age save does not, compare the save's and players' expansion state first. If the error names a mod, compare its list and version rather than only the Factorio build. A port scan or active systemd unit does not prove that a client joined and can save.
When updating an existing factory, keep the original save separate and test conversion on a copy. Reinstalling the old executable does not undo changes a newer version already wrote to the save. If you administer your own Linux infrastructure through Nexardo, see how the product works; still verify the selected build and backups for your deployment.
References#
- Wube's Space Age and free 2.0 release announcement
- Factorio downloads and the headless build
- Space Age Freeplay multiplayer requirements
- Command-line parameters
Branch requirements, mod versions, and configuration formats can change. Check the current download page and each mod's instructions before upgrading.




