Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk12 min

How to Set Up a Factorio Space Age Dedicated Server

A complete Factorio Space Age dedicated-server guide covering native headless installation, save creation, Space Age mods, server settings, networking, Docker persistence, backups and troubleshooting.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To host Factorio: Space Age, run a Factorio 2.0-or-newer headless server, enable the Space Age content, load a save, and make UDP port 34197 reachable. Every connecting player must use the same game version and complete mod set. You can install the headless files directly on Linux or Windows, or run them in a container with persistent storage.

The reliable order is: choose where the process will run, install the matching Factorio version, create or copy a Space Age save, configure server-settings.json, launch with --start-server, open the network path, and test with a second client.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What a Space Age server needs

A dedicated server is a Factorio process without a graphical interface or in-game character. It loads a save, accepts multiplayer connections, performs the simulation, and writes autosaves. The server can pause automatically when nobody is connected unless you disable that behavior.

  • Factorio 2.0 or newer: Space Age is built for the 2.0 game line. A 1.x headless binary cannot load the expansion correctly.
  • Space Age content: The official expansion is represented by the space-age mod and normally appears with base, quality, and elevated-rails in mod-list.json.
  • A save file: --start-server needs an existing .zip save. Create one on the server or copy a compatible save into its saves directory.
  • Matching clients: Every player must use exactly the same Factorio version and mods, including enabled Space Age components.
  • A reachable UDP port: The default is UDP 34197. The host firewall and, for home servers, the router must both permit it.
  • Authentication for public listing: Public visibility requires Factorio account credentials or an authentication token in the server settings.

There is no authoritative, general CPU or RAM sizing number for Space Age servers. Start with capacity appropriate to your concurrent players, factory scale, and mod load, then watch the server’s UPS and system utilization as the world grows.

#1 Best Overall
Sale
CyberPowerPC Gamer Xtreme VR Gaming PC, Intel Core i5-13400F 2.5GHz, GeForce RTX 5060 8GB, 16GB DDR5, 1TB PCIe 4.0 SSD, WiFi Ready & Windows 11 Home (GXiVR8060A40)
  • System: Intel Core i5-13400F 2.5GHz 10 Cores | Intel B760 Chipset | 16GB DDR5 | 1TB PCIe 4.0 NVMe SSD | Windows 11 Home
  • Graphics: NVIDIA GeForce RTX 5060 8GB Graphics | 1x HDMI | 2x DisplayPort
  • Connectivity: 1 x USB-C 3.2 | 2 x USB-A 3.2 | 6 x USB-A 2.0 | 1 x LAN | WiFi 6 | Bluetooth 5.3 | 7.1 Channel Audio
  • Tempered Side Case Panel | Custom RGB Lighting | Keyboard and Mouse
  • 1 Year Parts & Labor Warranty, Free Lifetime Tech Support

Choose a deployment model

Option Best for What you manage Important considerations
Native headless installation Owners who want direct control of files and updates Operating-system packages, Factorio files, firewall, backups and service startup Use a separate factorio user instead of root. A Linux headless package omits graphics and sound files and libraries such as Xlib, libGL and libasound.
Container deployment Operators already using containers and volume-based backups Image updates, environment variables, volume permissions, firewall and backups Mount persistent storage for saves, configuration and mods. Replacing a container without that volume can remove your world.

Both models run the same server binary and use the same save, settings and network concepts. Native installation exposes the files directly; a container adds an image and volume layer but makes recreation and rollback more systematic.

Install a native headless server

Linux headless package

Download the Factorio headless distribution that matches the version used by your players. The smaller Linux headless package is designed for GUI-less machines because it excludes graphics and sound assets and their desktop-oriented libraries.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Create a dedicated operating-system account, commonly named factorio, and give it ownership of the installation and data directories. Do not run a long-lived game server as root.
  2. Extract the package into a stable directory such as /opt/factorio or a directory under the factorio user’s home.
  3. Run the binary from the installation directory. On 64-bit Linux installations the executable is typically ./bin/x64/factorio.
  4. Allow the process to create its saves, mods and configuration files, then verify that the binary reports Factorio 2.0 or newer.

Windows installation

Install the matching Factorio files on the machine that will stay online. Keep the server directory writable by the account that launches it. A batch file is convenient for repeatable starts; the Windows command is shown later.

Enable Space Age on the server

Space Age must be enabled on the server, not just purchased or enabled in a player’s client. The active mod list is stored in mod-list.json. For a standard Space Age world, the list includes the base game and the expansion’s official components:

{
  "mods": [
    {"name": "base", "enabled": true},
    {"name": "space-age", "enabled": true},
    {"name": "quality", "enabled": true},
    {"name": "elevated-rails", "enabled": true}
  ]
}

Use the exact file format generated by your Factorio version; the example illustrates the required enabled entries rather than replacing a file blindly. If you use additional mods, install the same versions on every client and on the server. Container images that support Space Age expose a DLC_SPACE_AGE setting; when enabled in a supported 2.0.8-or-newer configuration, it writes the Space Age entries to mod-list.json.

For a new campaign, generate the save with Space Age enabled so the world uses the intended planetary progression. An old vanilla save may load only when its version and mod state are compatible, and it will not automatically become a fresh Space Age world with the expansion’s original progression.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Create or copy the save

A dedicated process cannot create a world merely by starting with a server settings file. First create a save or copy one made by a client. The basic creation command is:

./bin/x64/factorio --create ./saves/my-save.zip

The command writes my-save.zip in the server’s saves directory. Map-generation and map-settings JSON files can be supplied when creating the world to control resource placement, pollution, biter expansion, evolution and other simulation settings. Keep those JSON files with your deployment if you may need to reproduce the world-generation choices.

To use an existing world, copy its .zip file into the server’s saves directory and ensure the server account can read and write it. Do not unzip the save; Factorio expects the zipped save format.

You can test a newly created world directly:

./bin/x64/factorio --start-server ./saves/my-save.zip

For normal operation, add the server settings file as shown below.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
ZER-LON Prebuilt Gaming PC Desktop, Core I7 up to 3.9 GHz, RX 550 4GB GDDR5
  • 【PC Gaming System】This gaming PC is loaded with Intel Core I7 up to 3.9GHz and AMD Radeon RX 550 4G graphics card, allowing you to experience top-notch gaming performance. This system features 16GB of high-speed memory and 512GB SSD Solid State Drive for lightning-fast load times
  • 【Superior Gaminig Experience】This high-performance Gaming Computer Desktop is capable of running a wide range of popular PC games for pc gamer, including Fortnite, Call of Duty Warzone, Escape from Tarkov, GTA V, World of Warcraft, LOL, Valorant, Apex Legends, Roblox, Overwatch, CSGO, Battlefield V, Minecraft, Elden Ring, Rocket League, The Division 2, and Hogwarts Legacy with 60+ FPS
  • 【Multifunctional Use】This tower computers gaming pc desktop is designed to meet the needs of different people on the computer, powerful performance not only in the game to show quality graphics, the face of the office, design, audio and video can also be comfortable, multi-tasking, fast switching smooth operation
  • 【Tower Gaming PC Desktop】The gaming computer desktop is designed for versatile connectivity, featuring 2x USB 3.0 ports, 6x USB 2.0 ports, 1x RJ-45, 1x Serial, and built-in Wi-Fi. The AMD Radeon RX 550 4G GDDR5 Graphics Card supports multiple display options including 1x HDMI, 1x DisplayPort, and 1x DVI, ensuring compatibility with a wide range of monitors

Configure server-settings.json

Start with the version-matched template at data/server-settings.example.json. Copy it to a separate file, such as data/server-settings.json, and edit the copy so package updates do not overwrite your changes.

Core identity and access settings

  • Name: The name shown to players in the server browser.
  • Description and tags: Explain the map, play style, language or mod policy so players know what they are joining.
  • Maximum players: Set a cap appropriate to your machine and factory. The documented hard limit is 65,535 players, but practical limits are far lower and depend on simulation load.
  • Password: Use one for private groups. Share it through a trusted channel rather than publishing it.
  • Visibility: Choose public, LAN or hidden. Hidden servers can still be joined by direct address; public servers appear in the public listing when authentication is configured.

Public listing credentials

A public listing requires non-empty Factorio authentication credentials or an authentication token. The settings file is plain text, so treat that token like a password: restrict file permissions, do not commit it to a public repository, and remove it before sharing diagnostics. If you do not want browser discovery, use LAN or hidden visibility instead.

Administrative controls

The command-line reference supports whitelist and admin-list files, a custom port, RCON options and the --server-settings FILE switch. Add administrative controls before opening a public server, especially if strangers can discover it. If you enable RCON, protect it with a strong secret and limit network access to trusted addresses.

Start the server

Load the latest save on Linux

Once at least one save exists, launch the newest save with:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
./bin/x64/factorio --start-server-load-latest 
  --server-settings ./data/server-settings.json

This command searches the server’s saves directory and loads the latest save. To select a specific file, use:

./bin/x64/factorio --start-server ./saves/my-save.zip 
  --server-settings ./data/server-settings.json

Keep the process attached while testing so you can read startup errors. In production, run it under your service manager or a supervised session and configure automatic restart only after you have verified that the save and settings paths are correct.

Windows batch file

Create a .bat file in the Factorio installation directory:

start /wait .binx64factorio.exe --start-server-load-latest --server-settings .dataserver-settings.json

The /wait switch keeps the batch process associated with the server process. Use a scheduled task or service wrapper if the machine must start the server automatically after reboot.

What a successful start looks like

  • The log identifies the selected save and finishes loading it without JSON or mod errors.
  • The process remains running and reports that it is listening for peers.
  • A save is written when the server exits, in addition to normal autosaves.
  • When nobody is connected, the server may pause automatically. Change the no-auto-pause setting only if you deliberately want the simulation to continue empty.

Open the network path

Factorio uses UDP for gameplay and defaults to port 34197. You must allow that port in two places when the server is behind a home router:

  1. On the server host, create an inbound firewall rule for UDP 34197 (or your chosen custom port).
  2. On the router, forward the same UDP port to the server’s fixed local IP address.
  3. If you changed the port with --port N or in your service configuration, use that number consistently in the firewall, router and client address.
  4. Test from a network outside your home LAN, such as a friend’s connection or a mobile hotspot. A local test can succeed even when the router’s internet forwarding is wrong.

Some routers randomize outbound source ports, and host firewalls or antivirus software can drop the resulting packets. If an external player cannot connect, verify the server’s local address has not changed, check the firewall profile, and inspect the router’s forwarding rule before changing Factorio settings.

Rank #3
Sale
Mumba Mouse Grip for Nintendo Switch 2 Joy-Con, [2 Pack] Ergonomic Gamer Grip Holder with Super Smooth PTFE Glide Pads Portable Gaming Controller Stand for Switch 2 Joy Con Accessories (2025), Black
  • Compatibility: Designed specifically for the Nintendo Switch 2 Joy-Con controllers, with dedicated left and right grips. It provides a more comfortable and precise control experience for smoother gameplay.
  • Ergonomic Design: This comfortable Switch 2 controller grip is designed to fit the shape of your hand, with finger grooves for a stable and secure grip, helping you stay relaxed during long gaming sessions.
  • Zero Resistance: The precision-crafted ABS shell and unique Teflon feet provide an ultra-smooth movement experience, making your control more precise. Whether it's shooting, strategy, or simulation games, you can enjoy an intuitive and seamless connection with the game.
  • Quick & Easy Setup: Align the "+" and "-" buttons on your Switch 2 Joy-Con with the corresponding markings on the mouse grip, then snap it into place for immediate use, so you’re ready to game in seconds with enhanced precision.
  • Lightweight and Portable: Weighing only 34.2g, it’s easy to carry and lets you enjoy a professional-grade gaming experience anytime, anywhere.

Let players join

Players can connect through the public server browser, the LAN browser, supported platform services, or a direct IP and port. For a direct connection, give them the server’s public address and UDP port, for example 203.0.113.10:34197; replace the example address with your real address.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Public-browser visibility is independent of reachability. A server can be reachable by direct IP but absent from the public list if visibility is set to hidden or if credentials/token fields are empty. Conversely, a listed server can still reject connections when the router or firewall blocks UDP.

Keep clients and mods identical

Factorio checks the complete game and mod state during connection. Every instance must use the exact same game version and enabled mod versions. A red mod-mismatch message commonly means the server and client disagree about space-age, quality, elevated-rails or another installed mod.

  1. Record the server’s Factorio version from its startup log.
  2. Have each player select that same version rather than automatically running a newer or older build.
  3. Compare the full mod list, enabled flags and versions, not just the number of mods.
  4. Copy the server’s mod set to clients or use the game’s download prompt when the server offers one.
  5. Restart the server after changing mod-list.json or replacing mod files.

Do not update the server’s binary or mods while players are connected. Schedule updates, back up the save first, and have everyone update before the next session.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Run the server in Docker

Containers are optional. A documented image from the factoriotools project stores Factorio data under /factorio and runs as a non-root factorio user. The host directory must be persistent and writable by the container’s numeric user ID.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Minimal deployment

sudo mkdir -p /opt/factorio
sudo chown 845:845 /opt/factorio
sudo docker run -d 
  -p 34197:34197/udp 
  -v /opt/factorio:/factorio 
  --name factorio 
  --restart=unless-stopped 
  factoriotools/factorio

The -p option publishes UDP 34197, while -v maps the host directory that must retain saves, configuration and mods. The --restart=unless-stopped policy brings the process back after a host reboot.

Useful container settings

The image documents environment variables for common operations:

Variable Purpose
PORT Sets the Factorio listening port; update the published port and firewall if you change it.
SAVE_NAME Selects the save to load.
LOAD_LATEST_SAVE Loads the newest save when enabled.
GENERATE_NEW_SAVE Requests creation of a new save when no existing save should be loaded.
TOKEN Supplies the authentication token used for public listing.
UPDATE_MODS_ON_START Updates supported mods at container startup; use this only when you have a backup and a matching client-update plan.
DLC_SPACE_AGE Enables the Space Age mod entries in supported 2.0.8-or-newer image configurations.

Before deleting or replacing a container during an upgrade, copy the save files out of /opt/factorio. A new container with an empty or incorrectly mounted directory can appear to have lost the world even though the old volume still contains it.

Backups, updates and safe operation

Back up the important files

  • Back up every active save in the saves directory before changing the Factorio version, mods or container image.
  • Back up server-settings.json, mod-list.json, the installed mod files and any map-generation settings used to create the world.
  • Store at least one copy outside the server host. A disk failure, mistaken deletion or bad upgrade should not destroy the only save.
  • Test a backup by copying it to a temporary directory and confirming that Factorio can load it.

Update in a controlled order

  1. Announce maintenance and stop the server cleanly so it writes the latest save.
  2. Create and verify a backup.
  3. Update the server binary or container image.
  4. Update the mod set only when the new game version supports it.
  5. Start the server and read the complete log for migration or compatibility errors.
  6. Have players update to exactly the versions shown by the server before reconnecting.

Protect the host

Use a dedicated operating-system account, least-privilege file permissions and an operating-system firewall. Expose only the UDP game port and any deliberately configured administration endpoint. Keep authentication tokens out of shell history, public repositories and support screenshots.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshoot common failures

The server exits immediately

  • Confirm the save path exists and points to a readable .zip file. --start-server cannot operate without a save.
  • Validate that server-settings.json is valid JSON and was copied from the template for the same Factorio version.
  • Check the startup log for a missing mod, wrong game version or permission error.
  • For a container, verify that /opt/factorio is mounted and owned by the container user.

Nobody can connect

  • Confirm the server is listening on UDP 34197, or on the custom port you selected.
  • Allow that UDP port through the host firewall and forward it from the router to the server’s current local IP.
  • Test from outside the LAN and check for router source-port rewriting or antivirus filtering.
  • Try a direct address before diagnosing public-browser listing.

The server is missing from the public list

  • Set visibility to public in server-settings.json.
  • Enter valid Factorio credentials or a non-empty authentication token.
  • Check that the token is readable by the server process but not exposed to other users.
  • Remember that listing does not replace firewall and router forwarding.

A red mod-mismatch message appears

  • Compare exact Factorio versions on both sides.
  • Compare every enabled mod and its version, including the four standard Space Age entries.
  • Remove stale or duplicate mod files, restart the server and let clients download the matching set.

Space Age content will not load

  • Verify that the server binary is Factorio 2.0 or newer.
  • Confirm space-age, quality and elevated-rails are enabled in mod-list.json where your world requires them.
  • Check that the save was created or migrated with a compatible version and that all required mod files are present.

Progress disappears after a container upgrade

  • Stop the container and inspect the host directory for the save.
  • Confirm the replacement container mounts /opt/factorio:/factorio rather than an empty directory.
  • Restore the most recent verified save backup before allowing players to continue.

Native headless or Docker?

Choose native installation when you need transparent access to Factorio files, want to use the operating system’s service tools, or prefer updates you can inspect manually. Choose Docker when your existing operations already use containers and you value reproducible launches, environment-variable configuration and easy recreation.

Neither model removes the core responsibilities: matching versions and mods, persistent saves, UDP forwarding, backups, and credential security. For a first server, native headless mode usually exposes fewer layers to troubleshoot. For an established container host, the Docker deployment is equally practical provided the volume and permissions are correct.

Final launch checklist

  1. Factorio server and clients are on version 2.0 or newer and the same build.
  2. Space Age entries are enabled and all additional mods match exactly.
  3. A valid .zip save exists in the server’s persistent saves directory.
  4. server-settings.json contains the intended name, cap, password and visibility.
  5. Public visibility has valid credentials or a token; hidden and LAN servers do not need public listing.
  6. UDP 34197 is allowed by the host firewall and forwarded by the router when applicable.
  7. The process starts with --start-server or --start-server-load-latest and remains running.
  8. A remote player can connect, load the world and save progress.
  9. Backups include saves, settings and mods before updates or container replacement.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.