Skip to main content
Back to Category

Satisfactory Server Setup: Dedicated Server Guide

Set up a Satisfactory dedicated server on REXE VDS with multiplayer configuration, save management, and performance optimization.

Read time: 12 dk Game Server Setup
satisfactorydedicated servermultiplayersteamcmdgame serverfactorysave management

Table of Contents

Introduction

Satisfactory is a first-person factory building game developed by Coffee Stain Studios. By setting up a dedicated server, you can build massive factories and manage resources together with your friends. This guide covers the complete Satisfactory dedicated server installation on REXE VDS, including multiplayer configuration and save management.

System Requirements

ResourceMinimumRecommended
CPU2 Cores4+ Cores
RAM6 GB12+ GB
Disk15 GB SSD25+ GB NVMe
OSUbuntu 22.04+Ubuntu 22.04 LTS
Network10 Mbps50+ Mbps

Satisfactory server RAM consumption increases significantly with factory size. 12 GB+ RAM is recommended for large factories.

Installation with SteamCMD

SteamCMD Preparation

hljs bash
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 lib32stdc++6 -y
sudo adduser steam --disabled-login
sudo su - steam
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz

Downloading Satisfactory Server Files

hljs bash
cd ~/steamcmd
./steamcmd.sh +force_install_dir ~/satisfactory +login anonymous +app_update 1690800 validate +quit

Satisfactory Dedicated Server App ID: 1690800. The initial download is approximately 5-8 GB.

Server Configuration

First Launch

Start the server for the first time to generate configuration files:

hljs bash
cd ~/satisfactory
./FactoryServer.sh -unattended

Wait a few seconds and stop with Ctrl+C. This creates the necessary configuration files.

Engine.ini Configuration

hljs bash
nano ~/satisfactory/.config/Epic/FactoryServer/Saved/Config/LinuxServer/Engine.ini
hljs ini
[/Script/OnlineSubsystemUtils.IpNetDriver]
NetServerMaxTickRate=30

[/Script/SocketSubsystemEpic.EpicNetDriver]
MaxClientRate=104857600
MaxInternetClientRate=104857600

Game.ini Configuration

hljs bash
nano ~/satisfactory/.config/Epic/FactoryServer/Saved/Config/LinuxServer/Game.ini
hljs ini
[/Script/Engine.GameSession]
MaxPlayers=8

ServerSettings.ini

hljs bash
nano ~/satisfactory/.config/Epic/FactoryServer/Saved/Config/LinuxServer/ServerSettings.ini
hljs ini
[/Script/FactoryGame.FGServerSubsystem]
mAutoPause=True
mAutoSaveOnDisconnect=True
mAutoLoadSessionName=default_save

Startup Script

hljs bash
nano ~/satisfactory/start.sh
hljs bash
#!/bin/bash
cd ~/satisfactory
./FactoryServer.sh \
  -unattended \
  -Port=7777 \
  -BeaconPort=15000 \
  -ServerQueryPort=15777 \
  -log \
  -multihome=0.0.0.0
hljs bash
chmod +x ~/satisfactory/start.sh

Startup Parameters

ParameterDescriptionDefault
-PortGame port (UDP)7777
-BeaconPortBeacon port (UDP)15000
-ServerQueryPortQuery port (UDP)15777
-multihomeListen IP address0.0.0.0
-unattendedNon-interactive mode-

Multiplayer Configuration

First Connection to Server

  1. Go to the Server Manager tab in-game
  2. Enter your server IP: SERVER_IP:15777
  3. The first player to connect is assigned as admin
  4. Set server name and password from the admin panel

Setting Admin Password

From the server console:

server.SetAdminPassword STRONG_PASSWORD

Or from the in-game Server Manager:

  1. Go to the Admin tab
  2. Set the admin password
  3. Edit server name and description

Player Limit

Satisfactory supports 4 players by default, but this can be increased:

hljs ini
[/Script/Engine.GameSession]
MaxPlayers=8

More than 8 players may cause performance issues. Consider your server resources.

Save Management

Save File Location

Save files are located at:

hljs bash
~/satisfactory/.config/Epic/FactoryServer/Saved/SaveGames/server/

Manual Backup

hljs bash
nano ~/backup_satisfactory.sh
hljs bash
#!/bin/bash
BACKUP_DIR="/home/steam/satisfactory-backups"
SAVE_DIR="/home/steam/satisfactory/.config/Epic/FactoryServer/Saved/SaveGames"
DATE=$(date +%Y%m%d_%H%M%S)

mkdir -p $BACKUP_DIR
tar -czf "$BACKUP_DIR/satisfactory_save_$DATE.tar.gz" -C "$SAVE_DIR" .

# Delete backups older than 7 days
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete

echo "Backup completed: satisfactory_save_$DATE.tar.gz"
hljs bash
chmod +x ~/backup_satisfactory.sh
crontab -e
0 */4 * * * /home/steam/backup_satisfactory.sh

Save Restoration

hljs bash
# Stop the server
sudo systemctl stop satisfactory

# Backup current save
cp -r ~/satisfactory/.config/Epic/FactoryServer/Saved/SaveGames ~/satisfactory-save-backup

# Restore backup
tar -xzf ~/satisfactory-backups/satisfactory_save_DATE.tar.gz -C ~/satisfactory/.config/Epic/FactoryServer/Saved/SaveGames/

# Start the server
sudo systemctl start satisfactory

Auto Save Settings

Configure auto save settings from the in-game Server Manager:

  • Auto Save Interval: 300 seconds (5 minutes) recommended
  • Auto Save on Disconnect: Auto save when a player disconnects
  • Auto Pause: Pause server when no players are connected

Port Configuration

PortProtocolUsage
7777UDPSatisfactory game port
15000UDPBeacon port
15777UDPQuery port

Firewall Rules

hljs bash
sudo ufw allow 7777/udp comment "Satisfactory Game"
sudo ufw allow 15000/udp comment "Satisfactory Beacon"
sudo ufw allow 15777/udp comment "Satisfactory Query"
sudo ufw reload

Auto-Start with systemd

hljs bash
sudo nano /etc/systemd/system/satisfactory.service
hljs ini
[Unit]
Description=Satisfactory Dedicated Server
After=network.target

[Service]
Type=simple
User=steam
WorkingDirectory=/home/steam/satisfactory
ExecStart=/home/steam/satisfactory/start.sh
Restart=on-failure
RestartSec=30
TimeoutStartSec=300
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target
hljs bash
sudo systemctl daemon-reload
sudo systemctl enable satisfactory
sudo systemctl start satisfactory

Automatic Updates

hljs bash
nano ~/update_satisfactory.sh
hljs bash
#!/bin/bash
echo "Stopping Satisfactory server..."
sudo systemctl stop satisfactory
echo "Checking for updates..."
~/steamcmd/steamcmd.sh +force_install_dir ~/satisfactory +login anonymous +app_update 1690800 +quit
echo "Restarting server..."
sudo systemctl start satisfactory
echo "Update complete."
hljs bash
chmod +x ~/update_satisfactory.sh
crontab -e
0 5 * * * /home/steam/update_satisfactory.sh

Performance Tips

  • NetServerMaxTickRate: 30 is sufficient for most servers. Increase to 60 for lower latency.
  • RAM Management: Large factories consume significant RAM. Monitor server RAM regularly.
  • Disk I/O: Using NVMe SSD significantly reduces save/load times.
  • Auto Pause: Pausing the server when no players are connected saves resources.

Conclusion

Satisfactory dedicated server setup can be completed quickly with SteamCMD. With proper multiplayer configuration, regular save management, and correct port settings, you can enjoy a seamless factory building experience with friends. REXE VDS high-performance infrastructure provides the resources needed for large factories.