How to Make a Satisfactory Server

Satisfactory is a first-person, factory-building game with a dash of exploration and combat on an alien planet. For fans looking to improve their gaming experience, creating your own Satisfactory dedicated server might be an ideal next step.

Unlike hosting a private game, where the session ends once the host signs off, a dedicated server allows players to collaboratively build a world without needing everyone to be online simultaneously, ensuring seamless multiplayer gameplay.

In this article, you’ll learn how to make a Satisfactory server on a Linux virtual private server (VPS). From the initial steps to advanced configurations, our guide ensures that you can enjoy this game on a dedicated platform.

Prerequisites for Setting up a Dedicated Satisfactory Server

Before setting up your server for playing Satisfactory with friends, make sure you meet these minimum requirements:

  • Operating system. Any currently supported Windows version or major Linux distribution.
  • Processor. At least an i5-3570 or Ryzen 5 3600 processor.
  • RAM. A minimum of 12 GB, though 16 GB is recommended for larger save files or hosting more than four players.
  • Storage. At least 25 GB of available space.

Beyond the system requirements mentioned above, consider a broadband internet connection for a smooth Satisfactory server installation.

When hosting a Satisfactory dedicated server on a Linux VPS, it’s advisable to have a basic understanding of SSH and Linux commands. This knowledge will assist you when navigating and managing the server environment.

Also, ensure that your server is up-to-date and secured. Regular updates strengthen your server against vulnerabilities while implementing security measures protect your game data and server software integrity.

How to Set Up a Satisfactory Server in Hostinger Game Panel

Hostinger’s game hosting service is an excellent choice for a seamless Satisfactory server setup. Our AMP-based Game Panel allows you to install, manage, and invite players to join your server with ease.

Thanks to its easy-to-use graphical interface, this method is ideal for beginners or players who need to become more familiar with the complex and error-prone manual approaches.

Start by choosing a suitable game hosting plan. For Satisfactory, we recommend the Game Panel 4 plan, which includes 16 GB RAM and a quad-core AMD processor for optimal performance.

Once you have your desired plan chosen, follow these steps to complete the setup process:

  1. Follow the VPS setup wizard to select the server location closest to your player base and create a strong password for your Game Panel profile.
  2. Navigate to the VPS dashboard to ensure your server status is Running. If it’s not, start it by clicking the Start VPS button.
  1. Go to the Panel Access tab and click on the provided login URL. Enter the Game Panel using your credentials.
  1. In the Game Panel, select Create Instance. Choose Satisfactory from the drop-down menu, give a server name, and click Create Instance.

Once your server is running, invite friends to join by sharing your server’s public IP address and the default port. To find these details, double-click on your newly created instance and look for the Connection Info section.

You can also fine-tune your server configurations, such as limiting player entry and setting the maximum number of autosaves, through Configuration → Server Settings.

Suggested Reading

Did you know that you can install multiple instances in the Game Panel? This is beneficial for setting up another dedicated server hosting for Palworld or other Steam-based games.

How to Make a Dedicated Satisfactory Server Manually

For players who prefer a hands-on approach, you can manually set up a Satisfactory server on Linux. In this tutorial, we’ll use a Debian 11 distribution.

1. Purchase a Game Server Hosting Plan

Choosing the right game hosting service is crucial for creating a dedicated Satisfactory server. A reliable hosting provider that offers flexibility, power, and reliability can significantly enhance your overall gaming experience.

As one of the best game hosting providers, Hostinger plans are designed to support demanding games like Satisfactory, ensuring your server maintains smooth performance under various conditions.

Beyond simple installation via the Game Panel, our plans also support manual installation, granting you root access for complete game server management. This level of control lets you tailor your hosting environment to meet your specific needs.

Furthermore, our plans are scalable, allowing your server to grow with your gaming community. This is particularly valuable as your player base expands, ensuring you can continuously provide optimal gameplay for your players.

2. Set Up Your VPS

After purchasing a VPS for Satisfactory, it’s time to configure your own server. For Hostinger customers, access your VPS login data, including the server password, by navigating to the SSH access tab within your VPS dashboard.

Next, connect to your server using an SSH client, such as PuTTY, Terminal, or our own Browser terminal feature. Once logged in, follow these steps:

  1. Update your package list and upgrade all system packages to the latest versions with these commands:
sudo apt-get update && sudo apt-get upgrade
  1. Open the Debian package repositories file in the nano editor using the following command:
sudo nano /etc/apt/sources.list
  1. At the end of the file, add these two lines to incorporate third-party repositories:
deb http://mirrors.linode.com/debian bullseye main non-free

deb-src http://mirrors.linode.com/debian bullseye main non-free
  1. Save your changes and exit nano by pressing Ctrl + X → Y → Enter.
  2. Enable i386 architecture support on your Debian VPS with:
sudo dpkg --add-architecture i386
  1. Refresh your local package cache to recognize the newly added repositories:
sudo apt-get update

Important! Every time you modify files or repository settings, always update your package list to reflect the changes by running the sudo apt-get update command.

3. Install SteamCMD

SteamCMD is Valve’s official command-line version of the Steam gaming platform client. It’s crucial for installing and updating various dedicated server applications without using the whole Steam graphical user interface.

Here’s how to install and set up SteamCMD:

  1. Download SteamCMD directly from the package manager with the following:
sudo apt-get install steamcmd
  1. Create a new user to run your game server. Here, we name it steam:
sudo useradd -m steam
  1. Switch to this new user account using:
sudo su - steam
  1. Navigate to the user’s home directory by typing:
cd
  1. Make SteamCMD more accessible by creating a symbolic link within your Steam account directory:
ln -s /usr/games/steamcmd steamcmd

4. Install the Satisfactory Dedicated Server

Use SteamCMD to download the necessary files for your Satisfactory dedicated server. You can choose between the stable and experimental versions of the server, depending on your preferences for stability or accessing the latest features.

Here’s the guide:

  1. Start SteamCMD and log in anonymously with the following:
./steamcmd.sh +login anonymous
  1. Download the basic server files by running this command:
+force_install_dir ~/satisfactory +app_update 1690800 validate +quit

For the experimental server version, use:

+force_install_dir ~/satisfactory +app_update 1690800 -beta experimental validate +quit
  1. Navigate to the Satisfactory server directory once the download is complete:
cd ~/satisfactory
  1. Launch Satisfactory by executing:
./FactoryServer.sh
  1. You should see output similar to the following, indicating the server is running:
[2024.03.31-15.46.32:739][ 0]Log file open, 03/31/24 15:46:32

[2024.03.31-15.46.32:739][ 0]LogInit: Display: Running engine for game: FactoryGame

[2024.03.31-15.46.33:123][ 0]LogOnline: Warning: OSS: Async task 'FOnlineAsyncTaskSteamCreateLobby' failed ...
  1. To stop the game server, press Ctrl + C.

5. Run the Server as a Background Service

By default, the Satisfactory server runs as a foreground service, meaning closing the terminal would shut down the server. To prevent this, you can either use the screen command or create a dedicated service file for the server.

Using Screen

The Linux screen command is useful for interactive sessions where you can see the output or interact with the process. Follow this guide:

  1. If not already installed, install screen on your server using the following command:
sudo apt-get install screen
  1. Launch a new screen session for your Satisfactory dedicated server with a descriptive name:
screen -S satisfactory-server
  1. Inside the screen session, start your Satisfactory server as usual:
./FactoryServer.sh
  1. To keep the server running in the background, detach from the screen session by pressing Ctrl + A → D.
  2. You can reattach to the session anytime using:
screen -r satisfactory-server

Setting Up a Service File

Creating a service file is recommended because it enables your server to start automatically upon boot if configured to do so. Here are the steps:

  1. Create a new service file with nano:
sudo nano /etc/systemd/system/satisfactory.service
  1. Paste the following lines into the file, adjusting the User, Group, WorkingDirectory, and ExecStart paths as needed for your setup:
[Unit]

Description=Satisfactory dedicated server

Wants=network-online.target

After=syslog.target network.target nss-lookup.target network-online.target

[Service]

Environment="LD_LIBRARY_PATH=./linux64"

ExecStartPre=/usr/games/steamcmd +force_install_dir "/home/steam/satisfactory" +login anonymous +app_update 1690800 validate +quit

ExecStart=/home/steam/satisfactory/FactoryServer.sh

User=steam

Group=steam

StandardOutput=journal

Restart=on-failure

WorkingDirectory=/home/steam/satisfactory

[Install]

WantedBy=multi-user.target
  1. Save the file and exit nano. Then, enable the new service to start on boot with:
sudo systemctl enable satisfactory.service
  1. Start the Satisfactory service by running:
sudo systemctl start satisfactory.service
  1. Verify that the server is running using:
sudo systemctl status satisfactory.service

If everything is set up correctly, you should see an output indicating that the server is active and running:

● satisfactory.service - Satisfactory dedicated server

   Loaded: loaded (/etc/systemd/system/satisfactory.service; enabled; vendor preset: enabled)

   Active: active (running) since Tue 2024-03-31 15:46:33 UTC; 1min 17s ago

 Main PID: 12345 (FactoryServer)

    Tasks: 9 (limit: 4915)

   Memory: 200.0M

      CPU: 10s

   CGroup: /system.slice/satisfactory.service

           └─12345 /home/steam/satisfactory/FactoryServer.sh

6. Connect to Your Server

With your Satisfactory dedicated server online, it’s time to configure it within the game client. Here are the steps:

  1. Launch the Satisfactory game client and navigate to the Server Manager menu.
  2. In the Satisfactory Server Manager, select Add Server and enter your server’s public IP address and port to establish a connection.
  3. Upon successfully connecting, you’ll be prompted to claim the server. Here, you can specify the server name and admin password.
  4. Move to the Server Settings tab to fine-tune your initial configurations, such as setting up a player password to restrict server access to only those with the password.
  5. Switch to Create Game to select a starting world and customize the session name. Check the Join option if you wish for the server to join once the world loads automatically.
  6. Click the Join Game button to launch your gaming session on the server.

After completing the setup, you’re ready to invite your friends to join your Satisfactory server.

7. Customize Your Satisfactory Server

Your Satisfactory server provides various customization options via INI configuration files to improve overall gameplay and manage server operations. However, to modify these files, you must first gracefully shut down your server. Here’s how:

  1. Open Satisfactory and navigate to Server Manager → Server Console.
  2. Type quit and press Enter. This command forces the server to save its current state to the INI files and then exits gracefully.
  3. Navigate to your server’s configuration directory with:
cd /home/steam/satisfactory

ServerSettings.ini Configuration

The ServerSettings.ini file contains options to pause the server when no one joins and autosave the current gameplay when a player disconnects. You can access it using the following:

nano ./FactoryGame/Saved/Config/LinuxServer/ServerSettings.ini

Here’s the basic configuration to customize both:

[/Script/FactoryGame.FGServerSubsystem]

mAutoPause=False

mAutoSaveOnDisconnect=True

Engine.ini Configuration

Engine.ini provides scripts to improve server performance, which is crucial for Satisfactory multiplayer server configuration. Open the file with:

nano ./FactoryGame/Saved/Config/LinuxServer/Engine.ini

To turn off the server crash reporting, add:

[CrashReportClient]

bImplicitSend=False

To customize the client disconnection timeout, add these lines, replacing xx with your desired timeout duration:

InitialConnectTimeout=xx.0

ConnectionTimeout=xx.0

To override the default value of autosave slots, use the following:

[/Script/FactoryGame.FGSaveSession]

mNumRotatingAutosaves=xx

If you wish to change the server’s tick rate, make these modifications:

[/Script/OnlineSubsystemUtils.IpNetDriver]

NetServerMaxTickRate=xx

LanServerMaxTickRate=xx

[/Script/SocketSubsystemEpic.EpicNetDriver]

NetServerMaxTickRate=xx

LanServerMaxTickRate=xx

[/Script/Engine.Engine]

NetClientTicksPerSecond=xx

After editing those configuration files, restart the server with:

sudo systemctl restart satisfactory.service

Updates and Monitoring

Currently, the Linux version doesn’t support automated Satisfactory server updates. However, you can manually update with the same SteamCMD command used for installation:

./steamcmd.sh +login anonymous +force_install_dir /home/steam/satisfactory +app_update 1690800 validate +quit

If your server runs as a background service and you want to monitor its performance without opening server logs, run the following:

sudo systemctl status satisfactory.service

Advanced Satisfactory Server Configuration Tips

For advanced Satisfactory customization and control, explore these best practices with server admin commands.

Set up a Static IP for Your Server

Assigning a static IP address ensures your Satisfactory server is accessible at the same address, which is handy for regular players joining your server. A static IP also simplifies various setup processes, such as port forwarding.

Here’s how to do it:

  1. Open the network configuration file with the following command:
sudo nano /etc/network/interfaces
  1. Modify the file to establish a static server IP. Here’s an example:
auto eth0

iface eth0 inet static

address 192.168.1.50

netmask 255.255.255.0

gateway 192.168.1.254

dns-nameservers 8.8.4.4

Ensure the interface name and IP address match those of your network.

  1. Restart the networking service using this command:
sudo systemctl restart networking

Configure Port Forwarding if Behind a Router

Configuring port forwarding is crucial for directing external traffic to your Satisfactory server, mainly when it operates behind a router. This ensures players outside your local network can connect to your server.

Follow these steps:

  1. Log in to your router’s web interface, usually by typing its IP address in a web browser.
  2. Navigate to the Port Forwarding, Gaming, or Virtual Server section within the settings.
  3. Set up port forwarding rules for the game port and query port your server uses.
  4. Input the local IP address and server ports you wish to open.
  5. Save your router’s settings and restart it if required.

Enhance Server Security With a Firewall and Fail2ban

Securing your Satisfactory server against unauthorized access and potential threats is crucial. You can implement the Uncomplicated Firewall (UFW) and set up Fail2ban to enhance your server’s protection.

Setting Up UFW

  1. If it’s not pre-installed, add the UFW server firewall with:
sudo apt-get install ufw
  1. Configure firewall rules to permit only necessary traffic, like your game and query ports. For instance:
sudo ufw allow 7777/tcp

sudo ufw allow 7777/udp

Replace 7777 with your specific game port numbers.

  1. Activate UFW to enforce the firewall settings:
sudo ufw enable

Setting Up Fail2ban

  1. Install Fail2ban on your system with:
sudo apt-get install fail2ban
  1. Copy the default configuration file for customization:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

sudo nano /etc/fail2ban/jail.local
  1. Restart the Fail2ban service to activate your settings:
sudo systemctl restart fail2ban

Conclusion

In this guide, you’ve learned how to set up and customize dedicated servers for Satisfactory, from the initial installation to implementing advanced security measures.

By following these instructions, you’re now well-prepared to launch your own server, providing a tailored and secure gaming environment for you and your fellow players. Enjoy your Satisfactory adventures!

How to Make a Satisfactory Server FAQ

This section will answer the most common questions on how to make a Satisfactory server.

How Much Does It Cost to Run a Satisfactory Server?

The cost of running a Satisfactory server depends on the hosting service, server specifications, and usage. It typically ranges from $10 to $50 monthly, increasing with more players and higher specs.

How Can I Manage My Satisfactory Server Remotely?

To remotely manage a Satisfactory server, use tools such as game server manager software or SSH for direct access. These tools allow you to adjust settings, update the game, and monitor performance from any location.

Can I Install Mods on My Satisfactory Dedicated Server?

Yes, you can install mods on your Satisfactory dedicated server to enhance gameplay. However, ensure that server mods and customizations are compatible and up-to-date to prevent conflicts and guarantee a smooth experience for all players.

Author
The author

Ariffud Muhammad

Ariffud is a Technical Content Writer with an educational background in Informatics. He has extensive expertise in Linux and VPS, authoring over 200 articles on server management and web development. Follow him on LinkedIn.