Satisfactory
Install and configure a Satisfactory dedicated server on Linux or Windows
Platform Support
| Platform | Support | Notes |
|---|---|---|
| Linux | ✅ Native | Full support |
| Windows | ✅ Native | Full support |
Satisfactory
Satisfactory is a first-person factory-building game with dedicated server support on both Linux and Windows. This guide covers both platforms.
Requirements
- RAM: 6 GB minimum (8-12 GB recommended for large factories)
- CPU: 4 vCPU recommended
- Storage: 30 GB SSD minimum
- Bandwidth: 2-8 Mbps per player
- OS: Ubuntu 20.04+ or Debian 11+
RAM usage grows significantly with factory complexity. A large factory with multiple players can consume 10+ GB of RAM. Start with 8 GB and monitor usage.
Installation
1. Install SteamCMD
sudo apt update && sudo apt install -y steamcmd2. Create a dedicated user
sudo useradd -m -s /bin/bash satisfactory
sudo su - satisfactory3. Download the server
Use SteamCMD to download the Satisfactory dedicated server (AppID 1690800):
steamcmd +login anonymous +app_update 1690800 validate +quitThe server will install to ~/.local/share/Steam/steamapps/common/FactoryServer. Note this path for reference.
First installation may take 15-30 minutes. Do not interrupt the download.
4. Navigate to the server directory
cd ~/.local/share/Steam/steamapps/common/FactoryServerInitial Configuration
First startup (generate config files)
Run the server once to generate default configuration files:
./FactoryServer.shLet it run for 10-15 seconds, then press Ctrl+C to stop. This creates the necessary config directory:
~/.config/FactoryGame/Saved/Config/LinuxServer/Configuration
Option 1: Web Admin UI (Recommended)
Satisfactory includes a built-in web-based admin panel on port 7777 (TCP). After the server starts, access it:
http://your-server-ip:7777Use this UI to:
- Configure server name and password
- Adjust gameplay settings (difficulty, automate quality, etc.)
- Manage players and bans
- Monitor server performance
- View game logs
The web UI is the easiest way to configure Satisfactory. Most users prefer this over manual config file editing.
Option 2: Manual configuration
If you prefer editing config files directly, modify:
~/.config/FactoryGame/Saved/Config/LinuxServer/Engine.iniKey parameters:
[URL]
Port=7777
[/Script/Engine.GameSession]
MaxPlayers=4
[/Script/FactoryGame.FGServerSubsystem]
mServerName=My Satisfactory Server
mServerPassword=your_password
mServerTag=PvE,Industrial,CooperativePorts
Ensure these ports are open:
| Port | Protocol | Purpose |
|---|---|---|
| 7777 | UDP | Game traffic |
| 7777 | TCP | Web admin UI |
| 15000 | UDP | Game traffic |
| 15777 | UDP | Game traffic |
Open firewall ports:
sudo ufw allow 7777/udp
sudo ufw allow 7777/tcp
sudo ufw allow 15000/udp
sudo ufw allow 15777/udp
sudo ufw enableRunning the Server
Manual startup
cd ~/.local/share/Steam/steamapps/common/FactoryServer
./FactoryServer.shSystemd service (recommended)
Create /etc/systemd/system/satisfactory.service:
[Unit]
Description=Satisfactory Dedicated Server
After=network.target
[Service]
Type=simple
User=satisfactory
WorkingDirectory=/home/satisfactory/.local/share/Steam/steamapps/common/FactoryServer
ExecStart=/home/satisfactory/.local/share/Steam/steamapps/common/FactoryServer/FactoryServer.sh
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
Environment="LD_LIBRARY_PATH=/home/satisfactory/.local/share/Steam/steamapps/common/FactoryServer/Engine/Binaries/Linux"
[Install]
WantedBy=multi-user.targetEnable and start:
sudo systemctl daemon-reload
sudo systemctl enable satisfactory
sudo systemctl start satisfactoryCheck status:
sudo systemctl status satisfactoryView logs:
sudo journalctl -u satisfactory -fSave Files and Backups
Always maintain regular backups of your save files. Loss of save data means losing your entire factory progress.
Save files are stored in:
~/.config/FactoryGame/Saved/SaveGames/Backup your saves regularly:
tar -czf satisfactory-backup-$(date +%Y%m%d_%H%M%S).tar.gz ~/.config/FactoryGame/Saved/SaveGames/Keep backups in cloud storage or an external location for disaster recovery.
Server Updates
To update your server, run SteamCMD again:
steamcmd +login anonymous +app_update 1690800 validate +quitThen restart the service:
sudo systemctl restart satisfactoryAlways back up your saves before updating the server.
Monitoring Performance
Monitor server resource usage:
# Check CPU and memory usage
top -p $(pgrep -f FactoryServer)
# Check disk usage
du -sh ~/.config/FactoryGame/If RAM usage approaches your limit:
- Increase server RAM allocation (contact DeluxHost support)
- Reduce the number of concurrent players
- Archive old save files
Server not appearing in server list:
- Verify ports 7777, 15000, and 15777 are open
- Ensure firewall is allowing UDP traffic
- Restart the service and wait 2-3 minutes
Cannot connect to web admin UI:
- Ensure port 7777 (TCP) is open:
sudo netstat -tuln | grep 7777 - Check server logs:
sudo journalctl -u satisfactory -n 50
High RAM usage:
- Monitor with
toporps aux | grep FactoryServer - Reduce player count
- Archive old save files:
tar -czf archive.tar.gz SaveGames/
Server crashes:
- Check logs for errors:
sudo journalctl -u satisfactory -n 100 - Ensure sufficient free disk space:
df -h - Verify your VPS meets minimum RAM requirements (8 GB+)
Windows Server Setup
Step 1: Download Server on Windows
steamcmd +force_install_dir "C:\Satisfactory-Server" +login anonymous +app_update 1690800 validate +quitStep 2: Generate Initial Config (Optional)
Run the server once:
cd C:\Satisfactory-Server
FactoryServer.exeStop after 10 seconds. Config files appear in %APPDATA%\FactoryGame\Saved\Config\WindowsServer\.
Step 3: Create Startup Batch
Create C:\Satisfactory-Server\start-server.bat:
@echo off
cd /d C:\Satisfactory-Server
FactoryServer.exe
pauseStep 4: Run as Service (Optional)
nssm install SatisfactoryServer "C:\Satisfactory-Server\FactoryServer.exe"
nssm start SatisfactoryServerTips & Tweaks
Memory Usage Scaling
Satisfactory RAM usage scales dramatically with factory size:
| Factory Stage | Players | Recommended RAM |
|---|---|---|
| Early game | 1-4 | 6-8 GB |
| Mid game (oil/supercomputers) | 4-8 | 8-12 GB |
| Late game (heavy production) | 8+ | 12-16 GB |
| Mega factory | 16+ | 16+ GB |
Monitor with:
# Linux
top -p $(pgrep -f FactoryServer)
# Windows
Get-Process FactoryServer | Select-Object WorkingSet64Server Manager Web UI
Access admin panel on http://your_server_ip:7777:
Features:
- Server name and password settings
- Player kick/ban management
- Save file management
- Server performance metrics
- Autosave frequency configuration
Save File Location and Backups
Linux: ~/.config/FactoryGame/Saved/SaveGames/
Windows: %APPDATA%\FactoryGame\Saved\SaveGames\
Backup critical saves:
# Linux
tar -czf satisfactory-backup-$(date +%Y%m%d).tar.gz ~/.config/FactoryGame/Saved/SaveGames/
# Windows (PowerShell)
Compress-Archive -Path "$env:APPDATA\FactoryGame\Saved\SaveGames\*" -DestinationPath "satisfactory-backup-$(Get-Date -f 'yyyyMMdd').zip"Admin Commands via Console
In-game console (accessed during game):
| Command | Purpose |
|---|---|
/admin | Verify admin status |
/open [player_name] | Grant admin to player |
/close [player_name] | Revoke admin |
/kick [player_name] | Remove player |
/ban [player_name] | Permanent ban |
/unban [player_name] | Lift ban |
Next Steps
- Monitor factory growth and plan RAM allocation accordingly
- Set up automated backups (daily recommended)
- Configure autosave frequency (every 5-15 minutes)
- Plan regular server restarts during off-peak hours
- Establish player economy rules (if running shared factory)