Recommended Free Tools
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
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.
The safest Factorio server update replaces only the game executable or container image. Stop the server cleanly, back up the save and user data, install the target version beside the old one, start it with the same settings, and test a client before reopening the server. Your players must use exactly the same Factorio version and mods as the server.
The safe update sequence
A Factorio update is low-risk when the replaceable installation layer is kept separate from the persistent user data. The installation contains the executable and bundled assets; user data contains the worlds and server state you need to preserve. Treat the update as a controlled replacement, not as an in-place overwrite.
- Announce maintenance and stop accepting new connections.
- Stop the Factorio process or container cleanly so the latest autosave is flushed.
- Copy the save archives and the complete user-data directory to a separate backup location.
- Record the current game version, enabled mods, startup command, server-settings file, map-settings files, and relevant environment variables.
- Choose the target Factorio branch or version and make sure every player can install that same build.
- Install the new native package or pull the replacement container image while preserving the recorded user data.
- Start the server with the existing save and settings, inspect the startup output and logs, and test with one client.
- Keep the previous executable or image and the pre-update backup until the test session succeeds.
This sequence applies whether the server runs on Linux, Windows, Docker, or a managed host. The commands and persistence details differ by deployment type.
What must be preserved
Factorio keeps important state outside the replaceable program files. The user-data area includes the saves directory, mods, configuration, logs, and crash dumps. Preserve that area when replacing the installation; do not assume that copying only the executable also copies your world.
#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.
| Item | Why it matters during an update | What to record or copy |
|---|---|---|
| Save archives | Contain the maps, progress, and player data. | Copy every relevant .zip save to storage outside the server installation. |
| Mods | The save may depend on specific mods and their versions. | Preserve the mods directory and make an inventory of enabled mods. |
| Configuration | Defines server behavior and map settings. | Copy server-settings and map-settings files and record their paths. |
| Logs and crash dumps | Provide evidence if the new build fails to load or migrate a save. | Retain the pre-update user-data copy and inspect new logs after startup. |
| Startup and environment settings | Determine which save, ports, credentials, and options are used. | Record the complete launch command and any container environment variables. |
Do not delete the old installation immediately. A separate versioned directory gives you a simple executable rollback, while the backup gives you a recovery point for user data.
Before you change the server
Schedule a clean stop
Tell players when connections will close and stop new joins before maintenance begins. Shut down the Factorio process through the normal control method for your operating system or host. A clean stop lets Factorio finish writing its current state; terminating a process abruptly can leave the newest session state unavailable.
Free tools Windows power users keep installed
One-click scans. No signup required.
Make a restorable backup
Copy the save archives and the entire user-data directory to a different disk, host, or storage location. A backup on the same filesystem as the server does not protect you from an accidental deletion of that filesystem. Check that the copied archive can be opened or at least that the expected filename and size are present before proceeding.
Capture the current configuration
Write down the output of the current version check, the exact startup command, the save filename, the server-settings and map-settings paths, enabled mods, and any environment variables. This inventory prevents an update from silently switching to a different world or default settings.
Pick a compatible target
Decide whether you are moving to a specific release or following a branch used by your players. Every client must be able to install that exact game version. If the server uses mods, plan the mod versions at the same time rather than updating the game first and diagnosing mod changes afterward.
Updating a native Linux or Windows headless server
The native procedure is the same in principle on Linux and Windows: install the selected full or headless package, leave user data intact, and launch the new binary with the existing save and settings. Use a new, versioned installation directory instead of overwriting the working directory immediately.
1. Download and unpack the target package
Obtain the target full or headless package through the official Factorio distribution channel. Extract it into a new directory named for the target version. Keeping the old directory untouched allows you to switch back without reconstructing the previous installation.
2. Point the new installation at existing user data
Use the same user-data location that held the saves, mods, and configuration before the update, or copy that directory into the location expected by the new package. Do not create an empty data directory and assume the old world will be discovered automatically. Verify that the account running the server can read the saves and write logs and updated configuration.
3. Start the intended save
To open a named save, use the documented headless form:
./bin/x64/factorio --start-server ./saves/my-save.zip
On Windows, use the equivalent path to the new executable and the same arguments. If the server should load the newest available save, use:
./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json
Keep the server-settings path aligned with the preserved configuration. If you use map-settings or additional startup switches, carry those over from the recorded command rather than relying on package defaults.
4. Watch the first startup
Read the console output and log from beginning to end. Look for the new version line, the selected save, migration errors, missing or disabled mods, and permission failures. Do not open the server to players merely because the process stayed running; confirm that the expected map and settings loaded.
5. Verify the binary
Run the version switch against the binary you intend to use:
./bin/x64/factorio --version
The result must identify the target build you selected. If a service manager or script starts a different path, correct that launch configuration before testing.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware match6. Test before removing the old package
Connect with one client using the target game version and the same mod set. Check a known area of the map, confirm player data is present, and watch the log while joining. Leave the old installation in place until this test completes successfully.
Updating a Factorio server in Docker
With Docker, the container and image are disposable, but the save is not. The host directory or named volume mounted into the container must hold the persistent data. If the save exists only inside the container, removing that container can remove the save with it.
Rank #3
1. Confirm the data mount
Inspect the existing docker run command or Compose file and identify the -v volume mapping used for server data. Confirm that saves, mods, settings, and logs are written to the mounted location. Back up that host-side data before stopping the container.
2. Record the complete container configuration
Save the image name and tag, published ports, volume mapping, environment variables, server settings, and any Compose overrides. The replacement container must receive the same values; otherwise it may start with a new empty data directory or different behavior.
3. Stop and remove the old container
For a container named factorio, the documented operational sequence is:
docker stop factorio
docker rm factorio
Removing the container is safe only after the data has been backed up and verified on the mounted volume. It is not safe when the world is stored solely in the container’s writable layer.
4. Pull the refreshed image
docker pull factoriotools/factorio
Then recreate the container using the same docker run command or Compose configuration, including the original volume, ports, environment variables, and settings. Do not improvise a new volume path during the update.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
5. Handle automatic mod updates deliberately
The Docker project documents UPDATE_MODS_ON_START=true for updating mods when the container starts and UPDATE_IGNORE=mod1,mod2 for holding selected mods back. Automatic mod updates require valid Factorio credentials. Holding a mod back can itself create a compatibility problem if the save or other players use a different version, so treat these variables as part of the version plan rather than enabling them blindly.
6. Inspect the recreated container
Follow the container logs during startup. Confirm that the mounted save is discovered, the expected settings are applied, the target game version is running, and no mod or permission error prevents the world from loading. Join with a test client before announcing that the server is available.
Using a third-party or managed host
A managed host normally supplies its own update control in a panel or documented maintenance procedure. Use that mechanism instead of replacing files manually, but retain the same safeguards:
Rank #4
- Take an independent copy of the save and user data before pressing the update control.
- Confirm the exact target Factorio version offered by the host.
- Check how the host persists saves, mods, and settings and whether those locations are included in its backups.
- Verify that the host supports the same mod set and mod versions used by your players.
- Keep the previous backup until a client has joined and the map has been checked.
If the panel offers multiple branches, select the one your clients can install. If the host cannot provide the required game or mod version, changing the client alone will not solve the mismatch.
Validate the update before reopening the server
Use this order so a failure is isolated before players make new changes to the world.
- Confirm the build. Run
factorio --versionor read the version shown in the server startup line. It must be the intended target, not the old binary left in a service definition. - Confirm the save. Check the map name, map progress, force or team data, and at least one known player inventory or location.
- Confirm settings. Verify that server settings, map settings, ports, and authentication behavior match the recorded configuration.
- Confirm mods. Compare the enabled mod list and versions on the server with the list each player will use. Multiplayer requires the same game version and mods on every instance.
- Review logs. Search for migration failures, missing or disabled mods, unreadable files, and permission errors before inviting anyone else.
- Perform a test join. Use one client on the target build, connect, move around the map, and perform a small noncritical action. Confirm that the client can leave and reconnect.
- Retain recovery materials. Keep the previous executable or image and the pre-update backup until the test session has succeeded.
Why friends cannot join after an update
Game-version mismatch
The most common cause is that the server and a client are on different Factorio builds or branches. Check the server startup version and have each player check the version selected in their Factorio installation. Align them exactly before troubleshooting networking.
Mod-set or mod-version mismatch
A client can be rejected when a mod is missing, disabled, or at a different version. Compare the server’s enabled list with every client’s list. Docker’s automatic mod-update setting can change this list at startup, and an ignore list can leave one mod behind, so inspect those variables when the mismatch appears after a container refresh.
The server loaded a different world
If the process starts but the familiar map is absent, inspect the save argument, the --start-server-load-latest behavior, and the mounted or configured user-data path. A new empty container volume or a wrong native data directory can make a valid save appear to be missing.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →The save or a mod failed during migration
Stop accepting joins and read the startup log for the first migration, missing-mod, or load error. Do not overwrite the backup while experimenting. Restore the previous executable or image and the pre-update user data if the new build cannot load the world, then investigate compatibility in a separate copy.
File permissions prevent loading
When the log reports an unreadable save, unwritable log, or inaccessible configuration file, check ownership and permissions for the account running the native process or the user inside the container. The new package or host mount may use a different account than the old deployment.
Rollback when the update fails
Rollback is a controlled return to the last known-good executable or image and the matching user data.
- Stop the failed server cleanly and prevent clients from reconnecting.
- Preserve the failed version’s logs so the cause can be diagnosed later.
- Restore the previous native installation directory or pin the previous container image.
- Restore the pre-update save and user-data backup if the newer process changed or migrated files.
- Reapply the recorded startup command, settings paths, environment variables, volume mappings, and mod versions.
- Start the old build and verify the map and player data with one test client.
- Keep the failed package and logs separate while deciding whether the target release or a mod needs further compatibility work.
There is no single rollback command that works for every operating system and hosting panel. The reliable common elements are a clean stop, a retained prior executable or image, a restorable user-data copy, and the configuration record made before the update.
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 →Choosing a deployment method for future updates
| Deployment | Persistent data model | Version control | Mod synchronization | Rollback effort | Operating-system maintenance |
|---|---|---|---|---|---|
| Native package | User data stays separate from the replaceable installation directory. | Keep versioned directories and select the desired binary in the startup command or service. | Maintain the preserved mods directory and compare it with clients. | Usually direct: point the service back to the old directory and restore data if needed. | You maintain the host operating system, files, permissions, and service. |
| Docker | A host-mounted volume or named volume must contain saves and configuration. | Pull and run a chosen image; retain the previous image or tag for recovery. | Environment variables can update or hold mods, subject to credentials and compatibility. | Recreate the container with the previous image and the same volume. | You maintain the host and Docker; the image supplies the application layer. |
| Managed host | Persistence depends on the provider’s panel and storage policy. | Use the provider’s supported version selector or update workflow. | Confirm the provider supports the exact required mod set. | Depends on the host’s restore and version options, so keep an independent backup. | The provider performs most operating-system maintenance. |
The best method is the one that makes the save location explicit, lets you pin a known version, and gives you a tested recovery path. Convenience does not replace an independent backup.
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.

