How to Install Factorio Server Mods (Mod Portal)
Install Factorio server mods the right way: drop .zip mods in the mods folder, manage mod-list.json, and keep server and clients on matching versions.
Installing mods on a Factorio dedicated server comes down to one folder, one JSON file, and one golden rule about version matching. This guide walks through the whole process for a headless server and explains how to keep your players in sync.
Step 1: Get mods from the Mod Portal
Every legitimate Factorio mod lives on the official Factorio Mod Portal. Each mod downloads as a .zip file whose name includes the mod name and version, for example Krastorio2_1.3.23.zip. Do not unzip these files; Factorio loads mods directly from the zip. Download the exact versions you want, and note each mod's dependencies, listed on its Mod Portal page, so you grab everything a mod needs to run.
Step 2: Find the mods folder
Your Factorio server keeps mods in a dedicated mods folder. On a headless server this lives inside the Factorio data directory, alongside saves and config. If the folder does not exist yet, create a folder named mods in that directory. This is the single location where the server looks for installed mods.
Step 3: Drop the .zip files in
Copy your downloaded .zip mod files directly into the mods folder. Keep them zipped and do not rename them, Factorio reads the version from the filename, so renaming can cause load failures. If a mod depends on others (AAI Industry under Space Exploration, for instance), make sure every dependency zip is present in the folder too, or the server will refuse to start.
Step 4: Understand mod-list.json
Inside the mods folder, Factorio maintains a mod-list.json file that records which mods are enabled or disabled. When the server starts, it generates or updates this file to list every mod it finds. You can edit mod-list.json to toggle a mod off without deleting its zip, useful for temporarily disabling a mod while keeping it available. Each entry has a name and an enabled true/false flag.
If you add a new mod zip, the server adds it to mod-list.json on next launch, enabled by default. If you want precise control, edit the file directly and set each mod's enabled value, then start the server.
Step 5: Headless mod loading
A headless Factorio server has no graphics and loads mods purely from the mods folder at startup. When you launch it, the console prints each mod as it loads, along with any dependency errors or version conflicts. Always read this output on first launch after changing mods, it is where problems surface. A missing dependency, an incompatible mod combination, or a version mismatch between mods will be reported here and will usually stop the server from starting until fixed.
Because the headless server has no in-game mod manager, all mod management happens through the mods folder and mod-list.json. This is why keeping those files organized matters.
Step 6: The golden rule, server and clients must match
This is the most important step in Factorio modding: the server and every client must run the exact same mods at the exact same versions. Factorio checks this on connection, and any mismatch, a missing mod, an extra mod, or even a different version of the same mod, will prevent a player from joining.
To keep everyone in sync, decide your modpack up front and share the exact mod list and versions with your group. When Factorio's built-in mod sync is available, clients can be prompted to download and match the server's mods automatically; otherwise, players install the same zips from the Mod Portal manually. Coordinate updates as a group, and avoid updating mods mid-save unless everyone updates together, since a save may also depend on specific mod versions.
Step 7: Back up before changes
Before adding, removing, or updating mods, back up your mods folder, mod-list.json, and your save. Some mod changes are incompatible with existing saves, and a backup lets you roll back cleanly if a new mod breaks your world.
The one-click alternative
Managing zips, editing mod-list.json, chasing dependencies, and syncing versions across a group is exactly the kind of chore that eats an evening. On Nxeon game servers, the one-click Mods manager pulls mods from the Mod Portal, resolves dependencies, writes mod-list.json for you, and keeps the server's versions consistent so clients can match cleanly. You choose the mods; the panel handles the folder, the JSON, and the version bookkeeping.
Recap
Download .zip mods from the Mod Portal, drop them (still zipped) into the mods folder, manage enabled state in mod-list.json, launch the headless server and read the console, and make absolutely sure server and clients share identical mods and versions. Do that and your modded Factorio server will start and accept players every time.