> ## Content Index
> Fetch the complete content index at: https://blog.sudowl.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Satisfactory Dedicated Server on Linux — Native, Lightweight, and Boring (in the Best Way)
- URL: https://blog.sudowl.com/satisfactory-dedicated-server-linux/
- Published: 2026-05-03T14:00:00.000Z
- Updated: 2026-10-11T08:47:37.000Z
- Description: Set up a Satisfactory dedicated server on Ubuntu via SteamCMD. Native Linux build (no Wine), small RAM footprint, ports, claim flow, save backups.
- Author: Lukas
- Tags: Gameserver, Ubuntu, Linux

Unlike [ARK](/ark-survival-ascended-dedicated-server-linux/) and [Enshrouded](/enshrouded-dedicated-server-linux/), Satisfactory ships a native Linux dedicated server. No Wine, no prefix, no glibc surprises. Coffee Stain put real engineering into the Linux build and it shows — install in 5 minutes, runs on 8 GB RAM for a full factory.

**TL;DR:**

```bash
sudo adduser --system --group --home /opt/satisfactory satisfactory
sudo apt install steamcmd
sudo -u satisfactory -H steamcmd \
  +force_install_dir /opt/satisfactory \
  +login anonymous \
  +app_update 1690800 validate \
  +quit
sudo ufw allow 7777/udp
sudo ufw allow 7777/tcp

```

Then a systemd unit, claim the server in-game, you're playing. Same SteamCMD pattern as [Valheim](/valheim-dedicated-server-linux/) and [Palworld](/palworld-dedicated-server-linux/), just simpler because there's no platform translation layer.

## App ID and download

App ID for the Satisfactory dedicated server is `1690800`. Anonymous SteamCMD login works — no account needed.

```bash
sudo dpkg --add-architecture i386  # SteamCMD wants 32-bit libs
sudo apt update
sudo apt install steamcmd
sudo adduser --system --group --home /opt/satisfactory satisfactory
sudo -u satisfactory -H steamcmd \
  +force_install_dir /opt/satisfactory \
  +login anonymous \
  +app_update 1690800 validate \
  +quit

```

Initial download is around 6 GB. With a decent link, 5-10 minutes.

The binary lives at `/opt/satisfactory/FactoryServer.sh` — Coffee Stain's wrapper that handles env vars. Don't try to run the bare ELF directly; you'll miss the LD\_LIBRARY\_PATH setup.

## Systemd unit

`/etc/systemd/system/satisfactory.service`:

```ini
[Unit]
Description=Satisfactory Dedicated Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=satisfactory
Group=satisfactory
WorkingDirectory=/opt/satisfactory
ExecStart=/opt/satisfactory/FactoryServer.sh -log -unattended
Restart=on-failure
RestartSec=10
RuntimeMaxSec=259200
MemoryMax=12G

[Install]
WantedBy=multi-user.target

```

`-unattended` is important — without it, the server prompts on stdin for crash report consent and hangs.

`RuntimeMaxSec=259200` (3 days) — Satisfactory leaks memory slowly. Less aggressive than ARK's daily restart; weekly is fine for small factories, every 3 days for large ones with 10k+ machines.

`MemoryMax=12G` is generous. Most factories never approach 8 GB. Set lower if the box is small.

[systemd unit reference](/systemd-service-unit-file/).

```bash
sudo systemctl daemon-reload
sudo systemctl enable --now satisfactory
sudo journalctl -u satisfactory -f

```

First start takes 30-60 seconds. Look for `Game Engine Initialized` and `LogServer: Server started`. That's go.

## Ports

Satisfactory uses **one port for two protocols** — TCP for control, UDP for game traffic:

```bash
sudo ufw allow 7777/tcp
sudo ufw allow 7777/udp

```

Default port is 7777\. To change, edit `/opt/satisfactory/FactoryGame/Saved/Config/LinuxServer/Engine.ini`:

```ini
[/Script/SocketSubsystemEpic.EpicNetDriver]
Port=7888

```

Then update the firewall rules to match. [UFW rules reference](/ufw-firewall-rules-ubuntu/).

## Claim the server

This is the bit unique to Satisfactory. Brand-new servers are unclaimed — anyone with the IP can connect and "claim" the server, becoming the admin.

After first boot:

1. Open Satisfactory client.
2. Server browser → Add Server → IP `<your-server-ip>:7777`.
3. Connect. You'll be prompted to set an admin password — that's the claim.
4. Once claimed, the server requires the admin password for any admin-tier action (creating game sessions, kicking, settings).

Claim immediately after first boot. If the server is publicly reachable and someone else claims it first, you're locked out (and have to wipe to reset).

You can disable the public server browser by setting `bAdvertiseServer=False` in `Engine.ini` — direct-IP-only. Recommended for a friends server.

## Sessions

Satisfactory's "session" model is unusual. After claiming, you create a *named save* (Game Session) within the server — the world. You can have multiple sessions, swap between them, archive old ones. The active session is what currently-connected players are in.

Sessions live as `.sav` files in `/opt/satisfactory/FactoryGame/Saved/SaveGames/server/`. One file per session, plus auto-saves.

The server keeps running between sessions — players reconnect, pick a session from the menu, load.

## Backups

The whole save directory matters:

```bash
systemctl stop satisfactory
rsync -a --delete /opt/satisfactory/FactoryGame/Saved/SaveGames/ \
  /backup/satisfactory/$(date +%F)/
systemctl start satisfactory

```

Stop-rsync-start adds 30s downtime, prevents corrupt-backup-while-writing race. Same pattern as [Valheim backups](/valheim-dedicated-server-linux/) and the general [rsync setup](/rsync-backup-linux/).

Keep 14 days. Satisfactory saves are small — a 100-hour factory is 50-200 MB. Storage cost is nothing.

**Auto-saves are inside the server too** — `_autosave_0.sav` through `_autosave_2.sav`. They rotate. Useful for "I just blew up my factory, give me yesterday's autosave" — no backup restore needed, just rename and reload.

## Updates

Satisfactory patches are infrequent. When one drops:

```bash
sudo systemctl stop satisfactory
sudo -u satisfactory -H steamcmd \
  +force_install_dir /opt/satisfactory \
  +login anonymous \
  +app_update 1690800 validate \
  +quit
sudo systemctl start satisfactory

```

Update version mismatches between client and server prevent connection — clients see the server in the browser but get a version-mismatch error. Update server promptly when a patch drops.

## The two failure modes you'll hit

**Server in browser but can't connect.** Almost always firewall — UFW open for TCP but not UDP, or vice versa. Both are required:

```bash
sudo ufw status verbose | grep 7777

```

Should show both protocols allowed.

**Claim flow doesn't work — server says "Cannot reach server" in admin prompt.** The client and server can connect (you see the join prompt) but admin actions fail. Almost always: outbound NAT issue. The dedicated server uses a separate outbound channel for admin acks. If your router does port mapping incorrectly, this breaks. Workaround: bind the server to the LAN IP explicitly via `Engine.ini`:

```ini
[URL]
ServerHost=10.0.0.5

```

Replace with the actual LAN IP. Forward 7777 TCP+UDP from the router to that IP.

## Why this is the easiest of the bunch

Comparing the [game servers I've covered](/valheim-dedicated-server-linux/):

- Valheim: SteamCMD + the SteamAppId trick + UDP only. Easy.
- Palworld: SteamCMD, Wine optional but works native too. Easy-ish.
- Enshrouded: Wine wrapper, RAM-hungry. Medium.
- ARK Survival Ascended: Wine wrapper, RAM monster, mod handling. Hard.
- **Satisfactory: native, low RAM, simple session model. Easiest.**

If you've never set up a game server and want to learn the pattern without the pain, Satisfactory is the one to try. The skeleton transfers to everything else.

## Why this and not paid hosting

A small Hetzner box (€7/month, 4 GB RAM, 2 vCPU) runs a 4-player Satisfactory comfortably. Managed Satisfactory hosts charge €8-12/month and lock you into their version cadence. The price difference is marginal; the flexibility difference (control your patches, run it alongside other game servers, swap save files freely) is the win.

---

### Related posts

- [ARK Survival Ascended Dedicated Server on Linux — Wine, 16 GB RAM, and Patience](https://blog.diengdoh.com/ark-survival-ascended-dedicated-server-linux/?ref=blog.sudowl.com)
- [Valheim Dedicated Server on Linux — the One Thing People Get Wrong](https://blog.diengdoh.com/valheim-dedicated-server-linux/?ref=blog.sudowl.com)
- [Palworld Dedicated Server on Linux with SteamCMD](https://blog.diengdoh.com/palworld-dedicated-server-linux/?ref=blog.sudowl.com)