SML v3.x & Headless Modding
The transition to **Satisfactory 1.0** fundamentally changed how we mod dedicated servers. In 2026, the **Satisfactory Mod Loader (SML) v3.x** has replaced the old invasive DLL injections with a robust, JSON-based manifest system. This guide covers how to deploy and audit mods for a stable "Headless" server environment.
🛠️ The New Modding Standards
- JSON Manifests: Mod lists are now stored in
mods.json. The server automatically fetches and validates these files on startup. - Headless Compatibility: Mods must now explicitly support the "Headless" build. Visual-only mods (like texture packs) will cause server-side crashes if loaded on a dedicated node.
- Auto-Sync: Players joining the server will automatically download the correct mod versions from the Ficsit.app repository.
1. Installing SML v3.x on your Server
In 2026, you no longer manually drag files into the game folder. Use the **SML-CLI** for a clean headless installation.
📥 Step 1: Bootstrap
Run ./sml-cli install-sml. This modifies the server binary to support the mod-loading hook using the latest 2026 security headers.
📜 Step 2: Configure Manifest
Edit FactoryGame/Saved/Config/Crust/mods.json. Add your desired Mod IDs here. SML will handle the dependencies automatically.
2. Auditing "Headless-Compatible" Mods
Nothing kills a 2026 mega-factory faster than a single mod attempting to render a UI element on a server. Before deploying a mod, check its tags on Ficsit.app or via the SML-CLI:
# Check mod compatibility
./sml-cli audit "LinearMotion_2.1"
> Result: [COMPATIBLE] - Headless Node Support Verified.
The "Forbidden" List:
- UI Overhauls: Any mod that adds buttons to the main HUD is likely client-side only.
- Particle Modifiers: Mods that change the look of smoke or fire will crash your server console.
- DirectInput Mods: Anything requiring custom keybinds should be loaded on the client, *not* the server.
3. Managing the mods.json Meta
A typical 2026 modded server manifest looks like this:
{
"modLoaderVersion": "3.5.2",
"mods": [
{ "id": "ModularReactors", "version": "latest", "essential": true },
{ "id": "BetterLogistics", "version": "2.4.1", "essential": true },
{ "id": "MicroManage", "version": "latest", "essential": false }
],
"autoUpdate": true
}
Setting essential: true prevents the server from starting if the mod fails to load, protecting your world from "Item Deletion" bugs caused by missing mod data.
Advanced Troubleshooting
"Invalid Mod Version" on join?
This happens if the server's autoUpdate is set to false. Run ./sml-cli update-all to sync your local mods with the worldwide repository.
Server crashes with 'SIGSEGV' after adding a mod?
This is usually a **Dependency Conflict**. SML v3.x is better at this, but sometimes two mods attempt to modify the same "Building Recipe" logic. Remove the most recently added mod and check the FactoryGame.log for "Recipe Conflict" errors.
Can I use mods from the Steam Workshop?
As of 2026, the **Ficsit.app** repository remains the primary source for Satisfactory mods. The Steam Workshop is mostly used for "World Saves" rather than actual code modification.
Next Steps
- Optimize TPS for your Modded Mega-Factory
- Manual Mod Installation Guide (Legacy)
- Back to Satisfactory Wiki Home
Mod-Ready Infrastructure: Supercraft’s Satisfactory nodes include a **One-Click SML Manager**. Browse, install, and audit mods directly from our panel with automatic dependency resolution and headless compatibility checks.