Satisfactory Field guide

Installing Mods on a Satisfactory Dedicated Server: ficsit-cli, SML, and Client Synchronization

Installing mods on a Linux Satisfactory dedicated server: deploying the ficsit-cli tool, installing SML runtimes, enforcing client-server parity, and checking FactoryGame.log.

Installing Mods on a Satisfactory Dedicated Server: ficsit-cli, SML, and Client Synchronization

Satisfactory offers deep factory automation gameplay, but dedicated community servers frequently require extended capabilities: teleporters, expanded splitters, custom building grids, and detailed power consumption telemetry. With the game running on Unreal Engine 5, dedicated servers fully support the Satisfactory Mod Loader (SML) framework.

In this practical guide, we examine the architecture of Satisfactory mods, deploy the headless ficsit-cli management tool on Linux, install SML along with server packages, and structure client-side synchronization.

Satisfactory Mod Architecture: SML and Dedicated Server Runtimes#

All modifications within the Satisfactory ecosystem operate through the ficsit.app repository:

  • SML (Satisfactory Mod Loader): The runtime loader providing hooks into the Unreal Engine 5 executable.
  • The Mods Directory: Server packages are stored at <ServerRoot>/FactoryGame/Mods/.
  • Strict Parity Requirements: Unlike Minecraft, where UI-only client mods function independently, Satisfactory mods alter factory recipes, construction logic, and replication packets. Connecting clients must install identical mod versions to prevent instant disconnect exceptions.

Deploying the ficsit-cli Tool on Linux#

Headless server environments without graphical desktop displays cannot run the standard Satisfactory Mod Manager (SMM) application. For terminal-driven installations, community developers provide the official ficsit-cli binary.

Download and configure ficsit-cli inside your server root:

bash
cd /opt/satisfactory
curl -sSL https://github.com/satisfactorymodding/ficsit-cli/releases/latest/download/ficsit-cli-linux-amd64 -o ficsit-cli
chmod +x ficsit-cli
./ficsit-cli --version

The tool identifies local game installations and communicates directly with the ficsit.app API.

Installing SML and Server-Compatible Mod Packages#

Prior to deploying gameplay modifications, install the core SML runtime:

bash
cd /opt/satisfactory
./ficsit-cli install SML
ls -la FactoryGame/Mods/SML/

Next, install dedicated-server compatible mods (such as Area Actions or Refined Power) by targeting their official package names:

bash
./ficsit-cli install "Refined Power"
./ficsit-cli list

The utility downloads compiled archives, validates dependencies, and places the corresponding .pak, .ucas, and .utoc binaries into the appropriate directory tree.

Client-Server Version Synchronization and Log Auditing#

Restart the dedicated server daemon:

bash
sudo systemctl restart satisfactory && sudo journalctl -u satisfactory -n 25 --no-pager

Inspect engine initialization logs to confirm that all packages loaded successfully:

bash
grep -i "loaded mod" /opt/satisfactory/FactoryGame/Saved/Logs/FactoryGame.log

Log outputs containing [SML] Loaded mod: RefinedPower indicate that the runtime is active and accepting connections.

Before connecting, ensure all participating players open Satisfactory Mod Manager (SMM) on their local machines, activate a matching profile, and install the exact same mod package versions present on the server.

If you are looking to host high-performance Satisfactory dedicated servers with automated mod management, scheduled factory snapshots, and robust connection timeout protection, dependable Satisfactory server hosting provides enterprise cloud infrastructure built for complex mega-factories.

References#