Update a Factorio server by replacing only its executable, image, or managed-host version while preserving the user-data directory that contains your saves, mods, settings, and logs. Stop the server cleanly, make a separate backup, record the current configuration, install the target version, start it with the same save and settings, and test a client before reopening the server. Every player must then use exactly the same Factorio version and mod set as the server.
Godlike.Host offers hosted Factorio servers with its own game panel, SFTP access and free DDoS protection, if you would rather not host it yourself.
What an update changes—and what it must not change
A Factorio dedicated server has two practical layers. The installation layer contains the Factorio program and its packaged assets. The user-data layer contains the material you need to keep: save archives, installed mods, configuration, logs, and crash dumps. A safe update replaces the first layer and preserves the second.
As an Amazon Associate I earn from qualifying purchases.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →This distinction matters on both native installations and Docker. A new native package can live beside the old directory, allowing a quick fallback. A new Docker image can replace an old container, but only data mounted on the host survives container removal. If saves remain inside a container’s writable filesystem, docker rm can delete them with the container.
Prepare before taking the server offline
- Announce a maintenance window. Tell players when the server will close and prevent new joins while you prepare. Do not begin an update while someone is saving, researching, or building unless you are willing to restore the last backup.
- Stop the server cleanly. Use your service manager, host control panel, or Docker command instead of killing the process. A clean shutdown lets Factorio flush the latest autosave and close files consistently.
- Create an independent backup. Copy every save archive and the relevant user-data directory to storage separate from the live installation. Keep the pre-update copy untouched until the new version has passed a test session.
- Record the current state. Write down the output of
factorio --versionor the version shown in the startup line, the save being loaded, the complete mod list, the startup command, the server-settings file, map-settings files, and any environment variables used by the deployment. - Select one target version. Decide whether you are moving to a stable release, a specific pinned build, or another branch supported by your host. Check that every player can install that same game version before you switch the server.
- Check mod availability. A game update can require updated mods or make a mod unavailable. Do not let the server start with an accidental mixture of old and new mod files; record which versions were active before the change.
Updating a Linux or Windows headless installation
The official dedicated-server workflow uses the Factorio executable with --start-server for a named save or --start-server-load-latest for the newest save in the saves directory. The command reference also provides --version for checking the installed build.
#1 Best Overall
- 🎮 20,000+ Classic Games: This retro gaming console comes preloaded with over 40,000 classic games from your favorite retro consoles. Play instantly—no downloads, no internet needed!
- 📡 Dual Wireless Controllers: Enjoy smooth, lag-free gaming with two 2.4GHz wireless controllers. Play comfortably from anywhere without tangled wires, making multiplayer fun hassle-free.
- 🖥 4K HDMI Output: Connect the game stick to your TV, PC, or projector via HDMI and experience stunning 4K visuals for an immersive and crystal-clear gaming experience.
- 🔌 Plug & Play: Setup is super easy! Simply plug in the console, connect to your TV, and start playing immediately—no complicated installation required.
- 🎁 Perfect for All Ages: Whether you're introducing the next generation to classic entertainment or reliving nostalgic moments, this system makes an ideal gift for any occasion. Perfect for family gatherings, holidays, or just downtime fun.
1. Download the selected package
Obtain the full or headless package for the target build from Factorio’s official distribution channel. Do not overwrite the working directory immediately. Extract the package into a new, versioned directory such as one named for the target release. Keeping the old directory intact gives you a simple executable-level rollback.
2. Preserve and connect user data
Use the existing user-data directory, or copy it into the location expected by the new installation after you have made the independent backup. The directory must retain the saves, mods, server configuration, map settings, logs, and crash information used by your deployment. Do not replace those files with a newly initialized empty data directory unless that is intentional.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →If your service file, batch file, or scheduled task points to an absolute executable path, change only that path to the new directory. Keep the save path, settings path, working directory, ports, and environment variables unchanged unless the target release specifically requires a documented adjustment.
3. Start with the same save and settings
For a named save, the documented form is:
./bin/x64/factorio --start-server ./saves/my-save.zip
To load the newest save automatically while applying a server-settings file, use:
./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json
On Windows, use the equivalent factorio.exe path and the same switches in the service, PowerShell script, or batch file that normally launches your server. The important part is not the shell syntax; it is that the new executable receives the same save and settings references as the old one.
4. Read the startup output before opening the port
Watch the console and log from the first launch. Confirm that the intended version is reported, the expected save opens, and the normal map, player data, server settings, and mod list are present. Stop and investigate if the log shows a migration failure, a missing or disabled mod, an unreadable save, or a permissions error. Do not invite players while the process is still reporting a failed load.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitches5. Test, then retire the old directory
Connect with one test client and perform a short check: join the map, inspect a known area, verify that player inventories and permissions are present, and leave normally. Keep the old executable directory and the pre-update backup until this test succeeds and you are satisfied that the first real play session is stable.
Updating a Factorio server in Docker
Docker updates replace a container and usually pull a refreshed image. The save and configuration must therefore live in a host-mounted volume. The factoriotools project states the operational rule plainly: “Before upgrading backup the save.”
1. Verify the volume before stopping anything
Inspect the existing docker run command or Compose file and identify the host path mounted into the container with -v (or the equivalent Compose volume declaration). Confirm that the mounted location contains the saves and other user data. If no persistent volume is present, create one and copy the data out of the container before removing it.
Also record the published ports, image tag, environment variables, credentials settings, and any custom server-settings or map-settings files. A replacement container does not automatically inherit configuration that was typed into the old container command unless you run it again with the same options.
Recommended Free Tools
2. Stop and remove the old container
After making the independent backup, the documented sequence is:
docker stop factorio
docker rm factorio
docker pull factoriotools/factorio
Use your actual container name if it differs. Removing the container is safe only when all required data is on the host-mounted volume or another persistent Docker volume. Data stored solely in the container’s writable layer is destroyed by removal.
Rank #3
3. Recreate it with the unchanged deployment configuration
Run the same docker run command or Compose configuration again, retaining the volume, ports, environment variables, and settings files. If you intentionally use an image tag to pin a release, pull and run that tag rather than silently switching to an unpinned latest image. The container should see the existing saves and mods as soon as it starts.
4. Decide how mods are updated
The factoriotools image documents UPDATE_MODS_ON_START=true for updating mods when the container starts. Automatic mod updates require valid Factorio credentials. You can hold selected mods back with UPDATE_IGNORE=mod1,mod2, but an ignored mod can itself become incompatible with the new game version. Treat these variables as a deliberate compatibility policy, not as a substitute for a backup or a version check.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
5. Inspect logs and test a client
Follow the new container’s startup logs until the server has loaded the expected save. Check for authentication failures, mod download errors, disabled mods, permission problems, or a save migration that did not complete. Verify the game version and mod set from a test client before announcing the server open.
Updating on a managed or third-party host
The Factorio multiplayer documentation identifies a dedicated server as an appropriate option on a third-party hosted server. Managed hosts differ in their control panels and storage layout, so use the provider’s documented update action rather than applying native package or Docker commands blindly.
- Use the panel’s stop action and wait for the process to exit.
- Download or trigger a host-side backup, then create an independent copy of the save if the panel permits it.
- Record the selected version, active mods, server settings, and map settings.
- Choose the target version in the host’s software selector or update workflow.
- Confirm that the host retains the existing save and configuration directories.
- Start the server, read its console or log, and test with one client before inviting everyone back.
If the host cannot provide the same mod set or target version your players use, the update is not complete for multiplayer purposes. Ask the host how to pin a version and how to download a restorable save before proceeding.
Validate the server after the update
Validation should be a deliberate gate between installation and reopening the server.
Rank #4
- Version: Run
factorio --versionon a native installation, or inspect the startup line and image tag in Docker or managed hosting. Confirm that it is the build you selected. - Save integrity: Open the expected map and check that terrain, entities, research, player inventories, permissions, and the latest intended progress are present.
- Settings: Confirm that the server name, visibility, password, autosave behavior, map settings, and administrative permissions match the recorded configuration.
- Mods: Compare the server’s enabled mods and versions with the list each player will use. The multiplayer requirement is exact: all game instances need the same game version and mods.
- Logs: Review startup and runtime logs for migration failures, missing files, disabled mods, authentication errors, and filesystem permissions.
- Network test: Join from one client, load into the map, perform a small action, disconnect normally, and reconnect. This catches both loading and persistence problems before a full session.
- Rollback readiness: Keep the old executable or container image and the pre-update backup until the test session has succeeded.
Why friends cannot join after an update
They are on a different game version
A server and client on different Factorio versions cannot form a normal multiplayer session. Have the affected player select the exact server build in the Factorio installation’s version or branch controls, then restart the game and try again. If the server was updated unintentionally, pin it back to the recorded build instead of asking every player to guess which version changed.
The mod lists differ
Compare enabled mods, versions, and dependencies on both sides. A server can start after disabling a missing mod, but that does not make it compatible with clients that still have the original set. Restore the intended mod files or deliberately update the server and every client together. In Docker, check whether UPDATE_MODS_ON_START=true changed files that were expected to remain pinned; review any UPDATE_IGNORE entries as well.
The save or migration failed
Stop accepting connections and read the log from the first error, not only the final connection message. A failed migration, unreadable archive, or missing dependency can leave the process running without a usable map. Stop the server, restore the pre-update executable and backup if necessary, and resolve the incompatibility before attempting another upgrade.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteThe server is running with different settings
Recheck the startup command, server-settings path, map-settings path, working directory, ports, and environment variables. Native services sometimes point to a new empty data directory; recreated containers sometimes omit a volume or an environment variable. Correct the launch configuration, restart, and verify the loaded save before testing again.
Players see a network or authentication error
First confirm that the server process completed its save load and is listening on the expected port. Then check host firewall and port-forwarding rules, which should remain unchanged unless the deployment configuration was altered. For Docker mod downloads, verify that the credentials required by the image are valid; a failed download can present to players as a join problem even though the network path is working.
How to roll back safely
Rollback is a controlled return to the last known-good executable, image, and data set. Do not overwrite the backup while experimenting with the new version.
- Stop the updated server cleanly.
- Preserve the failed version’s logs so you can diagnose it later.
- Restore the prior native executable directory or select the previous Docker image tag.
- Restore the pre-update save and user-data backup if the new version modified or migrated data and the old version cannot read it.
- Restart with the recorded startup command, server settings, map settings, ports, and environment variables.
- Join with a test client on the old version and confirm that the expected map and player data are back.
There is no single rollback script that applies to every operating system, container arrangement, or managed host. The reliable common method is version pinning plus an independent save and user-data backup.
Choosing an update method
| Deployment method | What you replace | Where data persists | Version control | Mod synchronization | Rollback effort | Maintenance responsibility |
|---|---|---|---|---|---|---|
| Native Linux or Windows package | Executable and installation assets | Existing user-data directory | Keep versioned directories and select the executable explicitly | Manual unless your own tooling manages it | Low when the old directory and backup are retained | You maintain the operating system, files, service, and firewall |
| Docker | Container and image | Host-mounted volume or persistent Docker volume | Pin an image tag and recreate the container with the same configuration | Optional automatic updates with credentials; selected mods can be ignored | Low if the prior image and volume backup remain available | You maintain Docker, volumes, ports, and the host |
| Managed host | Provider-controlled server build | Host-managed storage, subject to its backup and retention policy | Use the provider’s version selector or update mechanism | Depends on the host’s supported mod workflow | Depends on whether the host offers downloadable backups and version selection | The provider handles much of the operating-system work; you still manage saves, versions, and compatibility |
Practices that make future updates safer
- Keep installation directories or image tags versioned rather than treating the newest release as the only copy.
- Store the startup command and every settings path in documented configuration, not only in an interactive shell history.
- Back up saves before every update, including Docker updates where removing a container can delete unmounted data.
- Keep a current mod manifest with exact versions and dependencies so clients can prepare before downtime ends.
- Use a staging or test launch when a major game or mod change is involved, and test the real save copy rather than an empty map.
- Do not delete the old executable, image tag, or backup until players have completed a successful session on the new build.
The repeatable sequence is simple: clean stop, independent backup, replace only the installation layer, preserve user data, launch with the recorded settings, verify the version and mods, test one client, then reopen the server.
Quick Recap
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.




