How to Set Up a Satisfactory Dedicated Server on a VPS
Guide to hosting a Satisfactory dedicated server on a VPS. Covers hardware requirements for small and large factories, Linux and Windows setup, save management, and factory optimization tips.
Sophie Laurent
Technical Writer & DevOps Engineer
Satisfactory is one of those games that starts simple and escalates into something absurdly complex. What begins as hand-crafting iron ingots eventually becomes a planet-spanning network of automated factories, conveyor belts, trains, and drones producing thousands of items per minute. When you play this with friends on a dedicated server, the factory never sleeps. Your friends can log in and expand the production lines while you are at work, and you come back to find the factory has doubled in size.
Running a Satisfactory dedicated server on a VPS means the world is always available, performance is consistent regardless of who is hosting, and you do not need to leave your gaming PC running around the clock. The setup process is straightforward and the server requirements are reasonable for the experience you get.
Satisfactory's server demands depend almost entirely on how complex your factory becomes. A fresh world with a few players hand-crafting items uses minimal resources. A late-game world with thousands of machines, hundreds of kilometers of conveyor belts, and multiple train networks running simultaneously is a different story entirely.
During the early tiers when your factory is still relatively small, the server runs comfortably on modest hardware. Two to four CPU cores and 6 to 8 gigabytes of RAM handle the game logic, physics calculations, and network synchronization without issues. Storage needs are light at around 5 to 10 gigabytes for the server files and save data.
A VPS in the 15 to 25 dollar per month range covers this phase. The server is not working hard because there are not many entities to simulate. Enjoy this while it lasts, because it changes as your factory grows.
This is where Satisfactory gets demanding. Every machine, conveyor belt, splitter, merger, and vehicle in your world is an entity that the server tracks and simulates every tick. A factory with 2,000 machines and 5,000 conveyor belt segments creates a substantial computational load.
Four to six CPU cores and 12 to 16 gigabytes of RAM become necessary at this stage. NVMe storage is important because save files for complex worlds can be hundreds of megabytes, and the server writes them frequently. Budget 35 to 60 dollars per month for a server at this level.
Most game servers process player actions and AI behavior. Satisfactory's server does that plus simulates an entire industrial economy. Every machine has input and output buffers. Every conveyor belt moves items at a specific rate. Every splitter and merger makes routing decisions. Every train follows a schedule and navigates a rail network. Every drone calculates flight paths between stations.
All of this runs on the server regardless of whether any players are connected. The factory produces items 24 hours a day. This is the whole point of a dedicated server for Satisfactory, but it means the server workload does not decrease when players log off. A faster CPU means the server can handle more machines before the tick rate starts dropping.
Start with Ubuntu 22.04 or Debian 12. Update and install dependencies:
sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl
sudo useradd -m -s /bin/bash satisfactory
sudo su - satisfactoryInstall SteamCMD and pull the Satisfactory dedicated server:
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xzf -
./steamcmd.sh +force_install_dir /home/satisfactory/server +login anonymous +app_update 1690800 validate +quitApp ID 1690800 is the Satisfactory dedicated server. The download is several gigabytes. Run the same command to update anytime.
Start the server for the first time to generate configuration files:
cd /home/satisfactory/server
./FactoryServer.shThe first launch takes a minute as it generates the world and config files. Once you see the server is ready, you can connect to it from the game client to complete initial setup. Satisfactory uses an in-game server manager for most configuration.
Connect to the server from your game client using the IP address and port 7777. The first player to connect becomes the admin. You will be prompted to set an admin password and claim the server.
While most settings are managed in-game, the server also has configuration files you can edit directly:
nano /home/satisfactory/server/FactoryGame/Saved/Config/LinuxServer/Game.iniAnd the engine configuration:
nano /home/satisfactory/server/FactoryGame/Saved/Config/LinuxServer/Engine.iniTo set the server to auto-save less frequently (reducing save lag on large worlds), add to Engine.ini:
[/Script/FactoryGame.FGSaveSession]
mAutoSaveInterval=600This sets auto-save to every 600 seconds (10 minutes) instead of the default 5 minutes. On large worlds, less frequent saves reduce the periodic stutter.
Satisfactory uses UDP port 7777 for game traffic and TCP port 7777 for the query protocol:
sudo ufw allow 7777/udp
sudo ufw allow 7777/tcp
sudo ufw allow 22/tcp
sudo ufw enableCreate a service file for reliable operation:
sudo nano /etc/systemd/system/satisfactory.service[Unit]
Description=Satisfactory Dedicated Server
After=network.target
[Service]
Type=simple
User=satisfactory
WorkingDirectory=/home/satisfactory/server
ExecStartPre=/home/satisfactory/steamcmd/steamcmd.sh +force_install_dir /home/satisfactory/server +login anonymous +app_update 1690800 +quit
ExecStart=/home/satisfactory/server/FactoryServer.sh
Restart=on-failure
RestartSec=20
LimitNOFILE=100000
[Install]
WantedBy=multi-user.targetThe LimitNOFILE setting increases the file descriptor limit, which Satisfactory needs for large worlds with many entities. Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable satisfactory
sudo systemctl start satisfactory
sudo systemctl status satisfactoryConnect to your Windows VPS via Remote Desktop. Download SteamCMD for Windows and install the server:
cd C:\SteamCMD
steamcmd.exe +force_install_dir C:\SatisfactoryServer +login anonymous +app_update 1690800 validate +quitRun FactoryServer.exe to start the server. Open the firewall ports:
netsh advfirewall firewall add rule name="Satisfactory Game" dir=in action=allow protocol=UDP localport=7777
netsh advfirewall firewall add rule name="Satisfactory Query" dir=in action=allow protocol=TCP localport=7777Windows uses more RAM than Linux for the operating system, so account for an additional 2 to 3 gigabytes of overhead when choosing your VPS plan. A server that runs well on 12 gigabytes total with Linux might need 16 gigabytes on Windows. Use Task Scheduler for automatic startup on boot.
Satisfactory save files grow with your factory's complexity. A simple early-game save might be 5 megabytes. A massive late-game factory can produce save files of 200 megabytes or more. The server auto-saves at regular intervals, and each save operation writes the entire world state to disk.
On NVMe storage, even large saves complete in seconds. On slower storage, a 200 megabyte save can take long enough to cause a noticeable pause in the game. Keep multiple save slots and rotate between them for protection against corruption.
Create a backup script for your world data:
#!/bin/bash
# save as /home/satisfactory/backup.sh
DATE=$(date +%Y%m%d-%H%M)
BACKUP_DIR="/home/satisfactory/backups"
SAVE_DIR="/home/satisfactory/server/FactoryGame/Saved/SaveGames"
mkdir -p $BACKUP_DIR
tar czf $BACKUP_DIR/satisfactory-$DATE.tar.gz -C $SAVE_DIR .
# Keep 7 days of backups
find $BACKUP_DIR -name "satisfactory-*.tar.gz" -mtime +7 -delete
echo "Backup completed: satisfactory-$DATE.tar.gz"chmod +x /home/satisfactory/backup.sh
# Run every 6 hours
crontab -e
0 */6 * * * /home/satisfactory/backup.shSatisfactory saves are large enough that keeping weeks of backups can consume significant storage. Compress backups to reduce their size. A 200 megabyte save file typically compresses to 30 to 50 megabytes.
The server console shows the current tick rate. Satisfactory targets 30 ticks per second. When the tick rate drops below this, the game simulation slows down. Machines produce items slower, conveyor belts move items slower, and the game feels sluggish.
Monitor the tick rate during peak activity. If it consistently drops below 20, your server hardware is struggling with the factory's complexity. You either need to optimize the factory or upgrade to a more powerful server.
Use manifolds instead of load balancers: Manifold designs use fewer splitters and mergers than load-balanced designs. Each splitter and merger is an entity the server must simulate. A manifold that feeds 10 machines uses 10 splitters. A load-balanced design for the same 10 machines might use 30 or more. The production output is the same, but the server load is significantly lower with manifolds.
Minimize conveyor belt length: Every segment of conveyor belt is a separate entity. Long conveyor runs across the map create thousands of entities. Using trains or drones for long-distance transport instead of conveyor belts dramatically reduces entity counts. A single train replaces hundreds of conveyor belt segments.
Consolidate production: Multiple small factories spread across the map force the server to simulate more active areas simultaneously. Consolidating production into fewer, larger factories can reduce the total entity count and the number of active simulation zones.
Clean up old infrastructure: Decommissioned factory sections that are no longer producing anything still consume server resources if the entities exist. Dismantle old machines, conveyor belts, and structures that are no longer part of your production chain.
Satisfactory supports up to 4 players in its standard multiplayer mode. The dedicated server can technically handle more, but the game is designed and balanced around small groups. Performance and gameplay quality degrade with larger player counts because more players means more simultaneous activity and more network traffic.
Coordinate with your group about building locations and factory designs. Multiple players building in the same area creates more entities in a concentrated zone, which is harder for the server to process than the same number of entities spread across the map.
Server tick rate dropping: Check CPU usage. If one core is maxed, the factory has exceeded what the CPU can simulate in real time. Optimize the factory by reducing entity counts or upgrade to a VPS with faster single-core performance.
Save file corruption: Restore from your most recent backup. If no backup exists, check the save directory for auto-save files with different timestamps. The server keeps multiple auto-saves.
Players cannot connect: Verify ports 7777 UDP and TCP are open. Check that the server is fully started. The first connection requires claiming the server with an admin password.
Periodic freezes during gameplay: This is the auto-save writing to disk. On large worlds, switch to NVMe storage or increase the auto-save interval in Engine.ini. Reducing save frequency means more potential data loss on a crash, but eliminates the periodic stutter.
BlastVPS offers high-performance VPS hosting with NVMe storage and powerful processors that keep your Satisfactory factory running at full tick rate, no matter how complex your production lines get.
Ready to Deploy?
Get a high-performance VPS with instant setup, full root access, and 24/7 support.
Written by Sophie Laurent
Technical Writer & DevOps Engineer
Bridges complex infrastructure topics and practical guides for everyone.