The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →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
Prefer not to run the server on your own PC? Godlike.Host offers hosted Factorio servers with free DDoS protection and up to three free backups a day.
Install the required mods from Factorio’s Mod Portal, place the mod ZIP files in the server instance’s mods directory (or use Factorio’s synchronization options), and launch the save with the headless server. Every client must run the same Factorio version and the same mod versions. When players join, they can accept Sync mods with server to download and enable the server’s exact set automatically.
This guide covers both a manually managed dedicated server and ordinary multiplayer joining. The safest approach is to choose one tested mod set, record it, make the server authoritative, and let clients synchronize instead of assembling archives independently.
What has to match before anyone joins
Factorio multiplayer is strict about compatibility. The server and each connecting game must use identical game builds and mod versions; the Factorio Wiki states that “All game instances need the installation of exactly the same game-versions and mods.” A different startup setting can also prevent a client from loading the map correctly.
| Item | Requirement | Where to verify it |
|---|---|---|
| Factorio version | The same build on the server and every client | The game’s main menu and the server startup output |
| Mod names | Every mod required by the save must be present and enabled | The save’s mod list and the server log |
| Mod versions | Exact versions, not merely the same mod names | Mod details in the Mod Portal or the synchronization screen |
| Dependencies | All declared required dependencies must be installed; optional dependencies are not mandatory | The mod’s dependency list and load errors |
| Startup settings | Use the values expected by the save and mod set | The synchronization dialog and server log |
A mod name alone is not a sufficient manifest. A new release can alter recipes, settings, or compatibility even though the name remains unchanged. Record the exact version shown by Factorio, along with whether the mod is enabled and any startup-setting values that matter to the world.
#1 Best Overall
- 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
Before changing a live installation, record the Factorio build, each mod’s name and version, and the startup settings. Treat that record and the server’s current files as the source of truth. Keep the record with the save backup so you can identify the working combination if an update fails.
Install mods from the official Mod Portal
Use the in-game Mods section
- Open Factorio and choose Mods from the main menu.
- Browse or search for the mod you want, then select Install.
- Let Factorio download any required dependencies. Required dependencies are necessary for the mod to load; optional dependencies add features but are not required.
- Enable the mod when prompted and restart the game if Factorio requests it. The restart lets the game rebuild its mod list and apply startup settings.
Required and optional dependencies have different consequences. A required dependency must be available at a compatible version before the dependent mod can load. An optional dependency can be left out, although the mod may expose fewer features. Do not assume that installing a similarly named archive satisfies a declared dependency; use the dependency information Factorio presents.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteThe in-game Mod Portal is also useful for checking available versions. Do not replace a mod ZIP’s filename or edit its contents; Factorio reads package metadata from the archive. Keep the archive intact when moving it between a workstation and the server.
Download through the Mod Portal website
The official Mod Portal website is the other documented download source. Download the version that matches the server’s Factorio build. Keep each downloaded archive as a ZIP file. If you download on a separate computer, transfer the archives to the server without extracting or renaming them.
When assembling a collection, install all required dependencies rather than only the mods you selected directly. Check for declared incompatibilities before enabling the complete set. A mod that works alone can still refuse to load when another declared-incompatible mod is present.
Copy mod ZIP files to a dedicated server
For a file-managed dedicated server, the normal location is the mods directory belonging to that Factorio installation or instance. The exact absolute path depends on where you extracted Factorio. A typical Linux installation might be under /opt/factorio, but that is only an example.
Free tools Windows power users keep installed
One-click scans. No signup required.
- Stop the server before changing its mod set. This prevents a running process from reading a partially copied archive.
- Open the server instance’s
modsdirectory. If it does not exist, create it with the same account that runs Factorio. - Copy every required mod ZIP into that directory. Preserve the original filenames and archive contents.
- Include dependency ZIPs that are not already present. A client’s automatic dependency download does not replace the server’s need for the files when you manage the server manually.
- Remove or move obsolete versions so two versions of the same mod are not competing in the instance.
- Start the server and inspect its log for missing dependencies, malformed archives, incompatible mods, or startup-setting errors.
Keep one complete, known-good set rather than mixing archives copied at different times. If you are replacing several files, copy them while the process is stopped and start only after the whole set is in place. Preserve a backup of the previous directory until the updated save has loaded successfully.
A declared incompatibility prevents affected mods from loading together. Resolve that conflict before players connect rather than disabling random files until the server happens to start.
Start the headless server with a modded save
A dedicated server runs without graphics and normally starts from a save file. Run these commands from the Factorio installation directory, adjusting paths for your host:
./bin/x64/factorio --create ./saves/my-save.zip
./bin/x64/factorio --start-server ./saves/my-save.zip
./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json
Create a new save
--create writes a new save archive. Install and enable the intended mods before creating a world if you want those mods represented from the beginning. A save created with one mod set may require that same set when it is loaded later.
Crashes, 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 minuteWindows 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 reinstallCreating the save and starting it are separate operations. After creating it, verify that the server’s selected mod directory contains the complete collection, then use --start-server with that archive. This makes it clear which map is being launched instead of relying on whichever save happens to be newest.
Start a chosen save
--start-server FILE starts multiplayer using the specified save, such as ./saves/my-save.zip. This is the clearest option when you need to pin a particular map and mod collection.
Start the latest save
--start-server-load-latest selects the latest available save. Pair it with --server-settings FILE when the server should load a specific JSON settings file. Confirm that the latest file is actually the world you intend to expose, especially when several saves share one installation.
Headless mode initializes no graphics. By default, the server can pause when nobody is connected; change the no-auto-pause setting if your world must continue simulating while empty. On Linux, the official guide describes extracting the full or headless package under /opt/factorio, creating a separate factorio user, and assigning the installation and save ownership to that account. Use a location and service account appropriate to your host.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Use Factorio’s synchronization features
Sync when joining a multiplayer server
- Start Factorio with the same game build as the server.
- Open the multiplayer browser and select the server.
- When Factorio displays Sync mods with server, accept it.
- Wait while the client downloads and enables the server’s exact mod versions and synchronizes startup settings.
- Reconnect if Factorio requests a restart.
This is usually safer than manually hunting for archives because the server advertises the versions it is actually using. It does not solve a game-version mismatch; update or roll back the client or server so both builds match first.
Rank #2
- 【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
Synchronization changes the joining client’s active collection to match the server. Players should not continue launching an old local set after declining the prompt; they will continue to receive a mismatch until they accept the advertised set or install the same versions manually.
Sync from a save in the Load game menu
When synchronizing from a save, Factorio uses the latest available mod versions by default. Hold CTRL while clicking Sync mods with save to select the exact versions stored with that save. Use the exact-version option when restoring an older world or when a newer release could change behavior.
The distinction matters when a save has been archived for a while. “Latest” can produce a different collection from the one that originally generated the map, while the exact-version choice preserves the versions recorded with the save.
Choose a separate mod directory for each instance
The command-line reference provides --mod-directory PATH to select which mod directory a server process uses. Separate directories prevent one modpack from changing another save’s environment:
./bin/x64/factorio
--start-server ./saves/my-save.zip
--mod-directory ./mods
--server-settings ./data/server-settings.json
For example, a host running two communities can use ./instance-a/mods and ./instance-b/mods, with each process pointing to its own save, settings file, and mod collection. Keep backups of those directories together with the corresponding saves. An isolated directory also makes it easier to test an update against one world without changing another server that is still running its established set.
Synchronize a save’s mod set from the command line
--sync-mods FILE synchronizes mods with a save. In headless mode, downloading is possible only when the server has the required service credentials in player-data.json. If credentials are unavailable, download the ZIP files through the Mod Portal and copy them into the selected mod directory instead.
Command-line options can change between Factorio builds. Run factorio --help on the installed build and confirm the option names before placing them in a service file or startup script. Test a command interactively first so a typo does not leave an automated service repeatedly failing to start.
Update mods without breaking an active world
- Stop the server and make a backup of the save and its current mod directory.
- Decide whether the world should remain on its existing versions or move to a tested set. Do not update only the server or only one client.
- Replace the mod archives as a complete set, including dependencies.
- Start the server and read the log from the beginning. Fix load errors before allowing players to join.
- Have clients synchronize after the server is stable. Players who keep an old archive should accept the server prompt rather than forcing a different version.
Keeping a written manifest of the Factorio build, mod versions, and startup settings makes rollback possible. Never delete the previous working set until the updated save has loaded successfully and a backup exists.
Do not update during an active session. Stop the process, make the backup, change the complete set, and only then reconnect players. If the new set cannot load the save, restore the previous archives and backup rather than trying unrelated combinations while the world is exposed.
Make the server reachable over the network
Factorio multiplayer uses UDP and defaults to port 34197. You can change the port in the server configuration, but every network component must then use the new value.
- For an Internet-hosted server, forward the chosen UDP port from the router to the machine running Factorio.
- Allow inbound and outbound UDP traffic through the host firewall.
- Check antivirus or endpoint-security rules if the process starts but clients cannot connect.
- Ensure the forwarding rule points to the host’s current private IP address.
A server can load every mod correctly and still be unreachable if the UDP port is blocked or forwarded to the wrong computer. Confirm the server is listening on the configured port and that the router rule targets the current private address; a changed local address can silently invalidate an otherwise correct forwarding rule.
Troubleshoot “mods are different” and startup failures
| Symptom | Likely cause | Fix |
|---|---|---|
| “Mods are different” or a failed join | Different Factorio builds, mod names, or mod versions | Match the game build, then accept Sync mods with server or use exact save synchronization. |
| Dependency error | A required dependency is missing or the wrong version is installed | Install the declared required dependency and remove the conflicting version; optional dependencies may be omitted. |
| Two mods refuse to load together | A declared incompatibility | Remove or replace one of the incompatible mods and restart. |
| Server log reports a missing archive | The ZIP is absent, renamed incorrectly, or copied to another instance’s directory | Copy the intact ZIP into the directory selected by --mod-directory and verify file ownership. |
| Headless synchronization cannot download | Missing service credentials | Provide the required credentials in player-data.json, or download and copy the archives manually. |
| Server starts but nobody can connect | UDP port, router forwarding, firewall, or antivirus block | Verify the configured port, forwarding destination, and UDP allow rules. |
| World loads with unexpected settings | Startup settings differ between the saved set and the active set | Use the server’s synchronization prompt and review the startup-setting entries in the log. |
Follow that order: game version, mod names and versions, dependencies and incompatibilities, listening port and forwarding, firewall rules, then the server log. Changing network settings cannot repair a mod mismatch, and reinstalling mods cannot open a blocked UDP port.
Read the server log from the first error, not only the final shutdown line. A later message can be a consequence of an earlier missing ZIP or dependency failure. Once the server loads cleanly, have one client synchronize and test a join before inviting the rest of the group.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Self-hosting or managed hosting?
| Consideration | Self-hosted dedicated server | Managed host |
|---|---|---|
| Control | Direct filesystem, command-line, and process control | Provider-managed panel with less low-level access |
| Maintenance | You handle updates, backups, monitoring, and restarts | Some automation may be included, depending on the provider |
| Mod workflow | Copy ZIPs, choose --mod-directory, or configure synchronization |
May offer one-click or automatic mod synchronization |
| Networking | You configure UDP forwarding and firewall rules | A public endpoint is generally supplied by the provider |
| Cost and performance | Uses your hardware, bandwidth, and administration time | Requires a recurring hosting fee in exchange for managed infrastructure |
Self-hosting avoids a separate hosting bill when you already have suitable hardware and bandwidth, but the operator supplies the administration time: updates, backups, process supervision, and network configuration. A managed host trades a recurring fee for provider infrastructure and potentially simpler mod synchronization. Compare the maintenance you are willing to perform, not just the monthly price.
The mod and version rules do not change with the hosting choice: the server and clients still need an identical, compatible set.
Rank #3
- 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.
Final pre-launch checklist
- The save, Factorio build, mod archives, dependencies, and startup settings are backed up or recorded.
- The server process points to the intended save and, when used, the intended isolated mod directory.
- The startup log contains no missing-file, dependency, incompatibility, or settings errors.
- Clients can complete synchronization before joining the map.
- The configured UDP port is forwarded and permitted by host security software.
- The previous working mod directory remains available until the new save has loaded and been tested.
- Players know whether they should accept the server synchronization prompt or use exact save synchronization.
Frequently asked questions
Do clients need to install every mod manually?
No. When joining through multiplayer, clients can accept Sync mods with server; Factorio downloads and enables the exact versions advertised by the server and can synchronize startup settings. The server itself still needs its files present when you manage it by copying ZIPs.
Why do matching mod names still produce “mods are different”?
Factorio compares versions as well as names, and the game builds must match too. A client with the same titles but a newer or older archive is not an exact match. Check the Factorio build first, then accept the server synchronization prompt or choose exact versions when syncing from the save.
Should I extract the ZIP files into the mods folder?
No. Keep the downloaded packages as ZIP files and preserve their filenames and contents. Factorio reads the package metadata from the archive. If a log reports a missing archive, check that the intact ZIP is in the directory selected by the server process.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →What is the difference between required and optional dependencies?
A required dependency must be installed at a compatible version or the dependent mod cannot load. An optional dependency is not mandatory and can be omitted, although features associated with it may not be available. Factorio’s in-game Mod Portal handles required dependency downloads.
How do I run two modpacks on one machine?
Give each server its own save, settings file, and mod directory, then pass the appropriate path with --mod-directory PATH. This prevents one collection from replacing another. Back up each directory together with its corresponding save.
Why can the server load mods but nobody connect?
Mod loading and network reachability are separate. Factorio uses UDP and defaults to port 34197. Verify the configured port, router forwarding to the correct private host, host-firewall UDP rules, and antivirus or endpoint-security exceptions.
When should I use CTRL with “Sync mods with save”?
Without CTRL, synchronization from the Load game menu uses the latest available mod versions. Hold CTRL while selecting Sync mods with save when you need the exact versions stored with an older save or want to preserve a tested world configuration.
Frequently Asked Questions
Do clients need to install every mod manually?
No. When joining through multiplayer, accept Sync mods with server so Factorio downloads and enables the server’s exact mod versions and startup settings.
Why do matching mod names still produce “mods are different”?
The Factorio builds and mod versions must match exactly, not just the names. Check the build first, then synchronize with the server or save.
Should I extract ZIP files into the mods folder?
No. Keep each archive intact, including its filename and contents, so Factorio can read its metadata.
How do I run multiple modpacks on one host?
Use a separate save, settings file, and --mod-directory path for each server instance.
Recommended Free Tools
Why can the server load mods but nobody connect?
Check UDP port 34197 (or your configured port), router forwarding, host firewall rules, and antivirus or endpoint-security blocking.
When should I hold CTRL while syncing from a save?
Use CTRL with Sync mods with save to select the exact versions stored with the save instead of the latest available versions.
The Bottom Line
Use the Mod Portal, keep the server’s ZIP files and save together, and require an exact Factorio-build and mod-version match. For dedicated hosting, launch the save with --start-server or --start-server-load-latest, isolate collections with --mod-directory when needed, and let clients synchronize before joining. If a connection fails, check versions and dependencies before investigating UDP port 34197, forwarding, or firewall rules.
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.

