Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon 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
VGSources
Blog

How to Update a Factorio Server Without Losing Your Save

Update Factorio safely by backing up saves, preserving user data, replacing only the executable or container, and verifying exact version and mod parity before players reconnect.
Length10 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

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.

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

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

  1. 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.
  2. 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.
  3. 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.
  4. Record the current state. Write down the output of factorio --version or 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.
  5. 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.
  6. 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
LIUWEI New Retro Gaming Console & Game Stick Pro - 20,000+ Classic Video Games, 23 Emulators, Dual Wireless Controllers, 4K HDMI Output, Plug & Play, Compatible with TV, PC, Projector, 64GB
  • 🎮 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.

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

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.

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

5. 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.

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

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.

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.

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

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.

  1. Use the panel’s stop action and wait for the process to exit.
  2. Download or trigger a host-side backup, then create an independent copy of the save if the panel permits it.
  3. Record the selected version, active mods, server settings, and map settings.
  4. Choose the target version in the host’s software selector or update workflow.
  5. Confirm that the host retains the existing save and configuration directories.
  6. 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.

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

Validate the server after the update

Validation should be a deliberate gate between installation and reopening the server.

  • Version: Run factorio --version on 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.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

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.

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

The 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.

  1. Stop the updated server cleanly.
  2. Preserve the failed version’s logs so you can diagnose it later.
  3. Restore the prior native executable directory or select the previous Docker image tag.
  4. Restore the pre-update save and user-data backup if the new version modified or migrated data and the old version cannot read it.
  5. Restart with the recorded startup command, server settings, map settings, ports, and environment variables.
  6. 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.

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

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.

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 *

Free tools Windows power users keep installed

One-click scans. No signup required.

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

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

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.