Satisfactory Wiki

Dedicated servers

  • 2 Requirements
  • 3.1.1.1 Linux
  • 3.1.1.2 Windows
  • 3.1.1.3.1 For Linux
  • 3.1.1.3.2 For Windows
  • 3.2 Epic Games
  • 4.1 Manual - Steam GUI
  • 4.2.1.1 Epic games
  • 4.2.2 Linux
  • 4.3 Command line options
  • 4.4 Third-party automated solutions
  • 5 Configuration
  • 6 Logs and crash dumps
  • 7 Port forwarding and firewall settings
  • 8 Console commands
  • 9 Changing configuration (Update 8)
  • 10 Loading a save file
  • 11.1 Update 8
  • 11.2.1 Is the server actually running?
  • 11.3.1.1 Checking Listening UDP Ports on Windows
  • 11.3.1.2 Checking Listening UDP Ports on Linux
  • 11.3.2 Is the server bound to the correct interface?
  • 11.3.3 Is the server firewall allowing ingress on the correct ports?
  • 11.3.4 Are the port forwarding settings at the NAT pointing to the correct address and all three correct ports?
  • 11.3.5 Are you or anyone else able to connect to the server from a client on the LAN?
  • 11.3.6 Are you or anyone else able to connect to the server via the internet?
  • 11.4 SDL Priority Manager
  • 11.5 SteamAPI_Init(): Sys_LoadModule failed to load: /path/to/.steam/sdk64/steamclient.so
  • 11.6 SteamCMD error: "state is 0x606 after update job" when installing/updating
  • 11.7 Trains not un/loading
  • 11.8 Server running on Virtual Machine, crashing on world creation or save load
  • 12.1 How do I gracefully shut down the Dedicated Server?
  • 12.2 How do I update the Dedicated Server?
  • 12.3 How do I reset the Administrator password?
  • 12.4 How can I have more than four players in my server?
  • 12.5 I thought the Dedicated Server was multi-threaded- why am I only seeing one core being used?
  • 12.6 I was running an Experimental server after the U5 release, but I want to move it to Early Access, and it's not converting. What do I do?
  • 12.7 How can I get my friends to join my server?
  • 12.8 I was running a Dedicated Server on Experimental; now that Update 5 is on Early Access, how do I switch?
  • 12.9 The Dedicated Server stops after throwing two warnings; what do I do?

This page shows basics and details on how to set up and operate a Satisfactory dedicated server .

Summary [ ]

At the moment, the dedicated server is available for the Windows and Linux operating systems. It can currently be installed using the Steam service (where it is listed in the user's library as a "tool"), or its command line sibling SteamCMD , or Epic Games . Game clients from both the Epic and Steam game stores can connect and play on dedicated servers regardless of where the Dedicated Server was downloaded.

The feedback about the experiences of community members is needed to make dedicated servers available on stable Early Access releases as soon as possible. Please use the Official Q&A site and add the tag Dedicated Server into your post.

Requirements [ ]

The Dedicated Server is currently provided for Windows and Linux 64-bit architectures using the amd64 platform (i. e. any relatively modern AMD or Intel 64-bit CPU). There are currently no plans for an ARM CPU-compatible build, so the Dedicated Server cannot be deployed to, for instance, a Raspberry Pi or new Microsoft Surface Pro.

The current means of distribution is via Steam (through the normal client or the command-line SteamCMD client). In addition, Coffee Stain is currently working with Epic to get the server software up on the Epic Games Store. Coffee Stain is also working with Valve to resolve issues whereby the Dedicated Server is not showing in the desktop Steam client's Tools section for people who do not own the game client on Steam.

System requirements
Recent (comparable to the i5-3570 [Intel] or Ryzen 5 3600 [AMD] or better) x86/64 (AMD/Intel) processor. No 32 bit or ARM support. The server favours higher single-core performance over multiple cores.
12GB minimum, 16GB RAM is recommended for larger saves or to host more than 4 players.
25GB for the game server itself
Any currently supported version of Windows or major Linux distribution. Out-of-support OSs such as Windows 7 are explicitly not supported.
Broadband internet connection. Hosting from home will require the ability to configure port forwarding.

Installation [ ]

You can install the server from your Steam library like you would install any other game. You might have to change your steam library filters to include tools but other than that the process does not differ from any other game.

Coffee Stain is currently working with Valve to make the Dedicated Server visible in the normal Steam client to accounts which do not currently have access to the Satisfactory game client. However, you can still use SteamCMD to download and install the files without needing a Steam account.

If you want to use the Experimental branch of the Dedicated Server rather than the mainline Early Access release, go to the Properties of the entry in your Library, go to the Betas tab, and ensure that the Experimental beta branch is selected. To revert to the mainline release, reverse this process.

SteamCMD [ ]

If you are installing the server on a headless environment or do not want to use the GUI client for any other reason, you will most likely want to use SteamCMD, regardless of the platform that you are using. SteamCMD itself on both Windows and Linux is thoroughly documented on the SteamCMD wiki page .

Once SteamCMD has been installed, you can use one of the following commands to install (or update) the Dedicated Server in your server's command-line environment (i. e. a Linux terminal, or Windows Command Prompt or PowerShell):

A user without root privileges needs to be used for the installation. Using root might cause issues with permissions and missing libraries.

Windows [ ]

On Windows, SteamCMD uses Steam client DLL files, so it you may get better performance by copying steamcmd.exe into your Steam directory (typically C:\Program Files (x86)\Steam ) and then use a command such as this one instead:

where the first path is the Steam directory and the second is the desired dedicated server install directory. Note: this is not a requirement. if SteamCMD is run with the command stated above (assuming the file path is where you put the executable) and Steam is not installed, SteamCMD will update itself first and download the .dll files that it requires. This is useful if you do not want to install the entire Steam client on your server.

Experimental branch selection [ ]

To download the Experimental branch of the Dedicated Server, add -beta experimental to the end of your SteamCMD invocation. It is not yet possible with Epic Games Launcher. See the following example commands for Linux and Windows respectively:

For Linux [ ]

For windows [ ], epic games [ ].

You can install Dedicated Server Tool DLC by visiting the Epic Games Store Page and adding Dedicated Server Tool add on to your library. Search your library for "Satisfactory Dedicated Server" and select install.

The server can be ran in a Docker container. There are many such containers available on Docker's public repository . Please direct any questions about using these containers to their respective maintainers.

Starting the server [ ]

Manual - steam gui [ ].

Simply launch the Dedicated Server from Steam just like any other program. You will be able to find it in the Tools category rather than games. It will open a terminal window in which you can review the logs in real time. Do not be alarmed if the window stops showing information after a while. This usually means the server is up, running, and waiting for connections.

Manual - Command line [ ]

In either the Command Prompt or PowerShell, navigate to the directory in which you had installed the Dedicated Server, and use the following command, with any other options from the below table that you need:

Epic games [ ]

Satisfactory Dedicated Server from Epic games requires a few changes to use custom arguments.

  • First, start the server once as explained above, it will generate a log file in \ FactoryGame \ Saved \ Logs
  • LogInit : Build Configuration : Shipping LogInit : Branch Name : ++ FactoryGame + rel-main - 0 . 7 . 0 LogInit : Command Line : -log -unattended -AUTH_LOGIN = unused -AUTH_PASSWORD =********* -AUTH_TYPE = exchangecode -epicapp = CrabDedicatedServer -epicenv = Prod -EpicPortal -epicusername ==********* -epicuserid =********* -epiclocale = en -epicsandboxid = crab The arguments after -unattended are necessary for your dedicated server to work with Epic games.
  • In the SatisfactoryServer folder you chose for the install, there is a file named launcher_id . Delete it or edit its content. If you don't, any argument you pass to start your server will be replaced by arguments made by Epic games to create the command line.
  • Now you can start your server with custom arguments. You will need to use the arguments shown in your log file.

IMPORTANT! If you want to use custom ports as shown in the Command line options , you must put those arguments BEFORE the -log -unattended part:

Any arguments to set custom port after -log -unattended will be ignored!

Navigate to the directory in which you installed the Dedicated Server, and use the following command, with any other Options from the below table that you need:

NOTE! Starting the server in this manner will not automatically restart the server if it crashes or is terminated for other reasons. The server will also very likely stop running when you close your terminal. It is highly recommended that you set up the server to run as a service. For more information, see: Running as a Service .

Command line options [ ]

The below table outlines the available options for use when starting the server, either from the command-line or through Steam (via editing the Properties of the Dedicated Server's entry in Tools) in both Windows and Linux:

Option Description Example
Bind the server process to a specific IP address rather than all available interfaces
Override the Query Port the server uses. This is the port specified in the Server Manager in the client UI to establish a server connection. This can be set freely. The default port is UDP/15777.
Override the Beacon Port the server uses. As of Update 6, this port be set freely. The default port is UDP/15000. If this port is already in use, the server will step up to the next port until an available one is found.
Override the Game Port the server uses. This is the primary port used to communicate game telemetry with the client. The default port is UDP/7777. If it is already in use, the server will step up to the next port until an available one is found.
Forces the server to display logs in a window (on Windows) or in the active terminal (on Linux). This option is implicit by default when launching on Linux.
Makes it such that the Dedicated Server will not present any dialogs which might otherwise interrupt the server from running if not attended to. This option is implicit by default when launching on Linux,
Startup argument for disabling the packet router (Automatically disabled with multihome)

NOTE: you can also set some of these options via INI files, as follows:

Equivalent CLI parameter INI file Heading and setting
Engine.ini

Engine.ini

Third-party automated solutions [ ]

There are several automated solutions for deploying and managing the Dedicated Server out there, for the sake of brevity we suggest using the search engine of your choice to find a game server manager for the Satisfactory Dedicated Server. There are plenty of free and paid options that are "turnkey" implementations.

Please keep in mind that the Dedicated Server is currently not only experimental but known to be unstable and feature-incomplete. Adding a third-party service will make your installation more complex, and add more variables that can break the server or cause unexpected complications. Please understand these risks - people helping you with the Dedicated Server may not know the details about how to help with a third-party program.

Configuration [ ]

Initial configuration is made in the game by the first player connecting to a server and it largely boils down to giving the server a name and assigning an administration password. More settings are available through the in-game server manager. The server does not start any game on its own. An administrator will have to create a game through the in-game UI. Player password protection is not enabled by default but a player password can be set through the same UI.

For more information, see Configuration files .

NOTE : Server ini files are located in the steam install directory for the server by default: .\steamapps\common\SatisfactoryDedicatedServer\FactoryGame\Saved\Config and may not be generated until the server is closed gracefully using the console "quit" command for the first time.

Logs and crash dumps [ ]

The server keeps a running log of all of the messages it prints to the console. The logs are rotated on server start, with the latest (current) log being named FactoryGame.log , the next being FactoryGame_2.log , and the rest following a datetime filename pattern ( FactoryGame-backup-DATE-TIME.log ). These logs are saved in the server's install directory (in the FactoryGame/Saved/Logs subdirectory). Note that depending on build and branch, not all of these may be present.

The server - if so configured (and it is configured this way by default) - also keeps crash dumps of any crashes it manages to save. Those are kept in the server's install directory (in the FactoryGame/Saved/Crashes subdirectory), and each crash report receives its own folder with a randomly-generated UUID.

The game client follows a similar pattern, but the logs and crash dumps are kept in the user's AppData directory alongside save files.

Port forwarding and firewall settings [ ]

Before you start, you will need to ensure that the following ports are reachable on your server so you might have to create firewall rules or configure port forwarding in your router, depending on your setup. Port redirection is not supported at the moment so the ports that you open in your router need to match the ones presented here (IE: do not forward port 7777 as port 7778 on your router). Each of these ports is overridable via a parameter, in accordance with the table below. If you want to run multiple instances of the server on one computer you will have to override at least one port.

15777 Query Port This is the port that you need to enter in the game when you first connect to a dedicated server. This port can be redirected freely.
15000 Beacon Port This port is automatically incremented if multiple instances of the server are launched and the default is in use already. As of Update 6, this port can be redirected freely.
7777 Game Port This port can be redirected freely using the -Port paramater upon server startup, e. g. " " to change the game port to UDP port 10000. At present, if the default port is in use, the next higher one will be checked until a free port is found, and it will be used.

Here is an example configuration file to put into applications.d for a UFW-controlled Linux firewall:

You can use the following PowerShell command on a Windows host to open the default UDP ports used by the server:

Console commands [ ]

Here are a list of known commands for dedicated servers, as of v5.0.4 the console tab in the server manager is the only way to execute commands

Note: For Update 8 and above, the FG.xxx commands are no longer supported. Please see below for how to change these settings using configuration files.

Command Info
Shuts down the FactoryServer.exe service.

(If the server is setup as a service on Linux, it will restart)

Creates a save of the current session named .

For a with one or more spaces, use quotation marks around the name.

Sets how often the server performs an Autosave, in seconds. (Default is 300)
Sets the network configuration for the game server.

is equivalent to the "Ultra" setting in the game client.

Replace with 1 to disable or 0 to allow the FICSmas event.

Requires server restart.

Configuration changes made at the server Console (e. g. FG.AutosaveInterval ) are stored to disk upon a graceful server shutdown, and do not need to be re-implemented when the server is restarted unless the configuration files are removed or reverted.

Changing configuration (Update 8) [ ]

Open GameUserSettings.ini in the dedicated server.

Create a heading with the content, if it does not already exist:

The following will set the Network Quality to the Ultra setting in the game client, will disable seasonal events, and will set the autosave to be every 15 minutes.

Be sure to restart the server after saving these changes.

Loading a save file [ ]

  • Session Name is of critical importance, save files only display it if they haven't been renamed while being saved, the only way to see the Session Name otherwise is from the Load Menu or a save editor
  • Linux: ~/.config/Epic/FactoryGame/Saved/SaveGames
  • Windows: %LOCALAPPDATA%\FactoryGame\Saved\SaveGames
  • Linux: ~/.config/Epic/FactoryGame/Saved/SaveGames/server
  • Windows (local): %LOCALAPPDATA%\FactoryGame\Saved\SaveGames\server
  • Windows (Using NSSM): %WINDIR%\System32\config\systemprofile\AppData\Local\FactoryGame\Saved\SaveGames\server
  • Note: The first time accessing the Windows Service paths (NSSM or Windows Server Service), you will need to manually navigate through the folder structure using File Explorer and grant access to the folders as you go (admin rights required). If you do not do this, you will not be able to navigate directly to the save folder.
  • The server should initiate a search for the save file with the matching Session Name.
  • To reiterate, Session Name & Save File Name are not the same, Session Name cannot be changed without a save editor, renaming a .sav file does not change the Session Name.

Other platforms/setups will have differing folder structures, the key point of this tutorial is finding Session Name.

This is a temporary/manual method while the Manage Saves feature is not implemented.

DediServer SaveFile Tutorial-1.png

Common errors or problems [ ]

Update 8 [ ].

Due to the updated game engine the server now runs on IPv6 by default. You can force the server to use IPv4 with the following command line option:

Configuration issues [ ]

If you believe the server is running but are unable to connect to it, the most common cause is a networking issue. The vast majority of common problems with successfully connecting to the Dedicated Server can be resolved by working through these diagnostic questions:

Is the server actually running? [ ]

The simplest reason for not being able to connect to the server is that it is not running. Either it was not started, or it has crashed and not been subsequently restarted. A simple way on Linux to check whether the server is running is with the command pgrep -f FactoryServer.sh . If you run that command, you will either get no response (indicating the Dedicated Server is not running) or one or more numbers (indicating that you have one instance of the Dedicated Server running per number you see). Each number given as a response to the command is the PID (Process ID) of that instance of the shell script which started the Dedicated Server.

Windows: Error libcurl error: 60 (Peer certificate cannot be authenticated with given CA certificates [ ]

If you're seeing this error/warning message in your server logs, just install the Epic Games Launcher . You do not have to log in - just install it, as it will deploy the Epic certificate required to connect to Epic Online Services (EOS)

Is the server listening on the correct ports? [ ]

If you have inadvertently started the server more than once at any one time, you may not have the server running on the network ports you are expecting it to be. Since you are sure now that the server is indeed running, the next step is to check to see which UDP ports the server is bound to (or "listening" on).

Checking Listening UDP Ports on Windows [ ]

On Windows, you can get a list of bound UDP ports with the Get-NetUDPEndpoint command. Adding some extra filters to it will restrict the output of that command to only show a list of IP addresses and ports to which an Unreal game server process (such as the Satisfactory Dedicated Server) is listening. Review that output for the expected ports of 7777, 15000, and 15777. The command and its typical output are shown below:

Checking Listening UDP Ports on Linux [ ]

On Linux, you can get a list of bound UDP ports with the ss command. Filtering the output of that command will restrict the outputof that command to only show a list of IP addresses and ports to which an Unreal game server process (such as the Satisfactory Dedicated Server) is listening. Review that output for the expected ports of 7777, 15000, and 15777. The command and its typical output are shown below:

Is the server bound to the correct interface? [ ]

While checking on the UDP port bindings in the previous step, take a look at the IP address associated with the port in the output from ss or Get-NetUDPEndpoint . If you did not use the -multihome switch when starting the Dedicated Server, the associated address will probably appear as one of * , 0.0.0.0 , or :: . Any of these are fine, indicating the server is listening on all interfaces. If you see a specific address, such as 192.168.1.203 , this is also fine, but you will have to be aware that only that internal (or LAN) IP address will work for connecting to or forwarding connections to the server. If you have trouble connecting via IPv6, specify -multihome=:: , this will enable the server on both IPv4 and IPv6.

Is the server firewall allowing ingress on the correct ports? [ ]

In short, did you follow the steps in the Port Forwarding and Firewall Settings section above? Verify your host's firewall settings are configured to allow inbound connections on the UDP ports the Dedicated Server is using.

Are the port forwarding settings at the NAT pointing to the correct address and all three correct ports? [ ]

On your router or other network ingress point, double-check that the Port Forwarding settings are correctly configured to direct traffic on all three of the UDP Ports that the Dedicated Server uses to the LAN IP address of the host running the Dedicated Server. Be sure you are forwarding UDP ports, not TCP ports (If you are forwarding both TCP and UDP ports, that is fine, the important thing is that the UDP ports must be forwarded).

Are you or anyone else able to connect to the server from a client on the LAN? [ ]

From the same host or another host on the same LAN (i. e. generally in the same building), attempt to connect to the Dedicated Server from the Server Manager in the game client If this works, the the server is clearly running and the firewall on the server is clearly allowing inbound connections.

Are you or anyone else able to connect to the server via the internet? [ ]

From a host which is not on the same LAN, attempt to connect to the public IP address of the host running the Dedicated Server from the Server Manager in the game client. If this works, then not only is the server clearly running and the server firewall allowing inbound connections, but the port forwarding settings are now confirmed to work as well-- you server is online and accessible! Have fun, and stay effective!

SDL Priority Manager [ ]

This issue can be resolved by downloading the dependency. For example, on a Debian-derived Linux distribution:

SteamAPI_Init(): Sys_LoadModule failed to load: /path/to/.steam/sdk64/steamclient.so [ ]

This issue can be resolved by creating a symbolic or hard link from the expected path to the location where the library actually exists, for example:

Log output should change:

SteamCMD error: " state is 0x606 after update job " when installing/updating [ ]

SteamCMD error 0x606 is thrown when SteamCMD attempts to update a file and the operating system says that it cannot write to the file because it is in use by another process. The most common cause for this is attempting to update while the server is already running. If you have already stopped the server and are still getting this error, the issue can be resolved by rebooting the host.

Trains not un/loading [ ]

This issue can be resolved by loading the save file into the game locally, rebuilding the Train Station , saving and loading the save file back onto the server.

Server running on Virtual Machine, crashing on world creation or save load [ ]

On the Proxmox hypervisor specifically, check that the CPU type defined for your VM is not KVM64. This processor type will cause the Satisfactory Dedicated Server to crash on load. Instead of the KVM processor type, select host , or another processor type to resolve the crashing. This may also affect other hypervisors depending on your configuration, if you have the processor type KVM set.

How do I gracefully shut down the Dedicated Server? [ ]

Regardless of which operating system the server is running, it can be gracefully shut down by connecting to the server in the Server Manager in the game client, and on the Console tab, issuing the quit command. The means to shut the Dedicated Server down without access via a game client depend on the operating system you are running.

On Linux, the server process can be gracefully shut down by sending SIGTERM to the server process or, if you have the server controlled by systemd , with the command systemctl stop satisfactory , where "satisfactory" is the name of your unit file. Note that the service file can specify the KillSignal= attribute in the Service block, but SIGTERM is the default if not set.

On Windows, if you have the server running 'interactively' (which is to say, there is a window showing the server logs in real time), focus on that Window and press Ctrl+C. Do not just close the window; this will kill the server process instantly and not give it the proper time to clean up after itself and write the state files to disk. If you have it running as a service, you can use the Services snap-in to the Management Console, find the service, right-click it and Stop the service there.

How do I update the Dedicated Server? [ ]

If your server was installed using the desktop Steam client, it should be automatically updated shortly after the update is released. You may need to shut your server instance down and tell Steam to verify the local files, or restart Steam, to force the update to go through.

If your server was installed using the SteamCMD command-line client, you can shut down the server instance and then use the same command you used to install the server to check for and install an update.

How do I reset the Administrator password? [ ]

In the location where you can find the server's saved-game files, look for a file called ServerSettings.port , where port is the server port number (e. g. ServerSettings.15777 ) and delete it. This will delete all server settings relating to passwords, server name, and session name, and you will be asked for a new Administrator password when connecting as when the server was first set up.

How can I have more than four players in my server? [ ]

First and foremost, before implementing the answer provided here, note that the server is being tuned to be performant with the expected player cap of four. Increasing this limit may have ramifications with respect to server stability, performance, and resource usage.

That said, if you will wish to proceed with increasing the player limit, find the Game.ini file in your server's configuration directory (see above ), and add this stanza to the top of the file (replacing the default of 4 with the desired player cap for your server):

I thought the Dedicated Server was multi-threaded- why am I only seeing one core being used? [ ]

While the software is in point of fact multi-threaded, the fact remains that the game's design is still predominantly reliant upon a single primary thread. As one of the developers recently put it :

We never intended to say the server will evenly use all your cores. We meant more that the server spawns up to 26 threads (per work set). The game loop is still fundamentally single threaded though and all multi threaded work is happening on ticks. So one core will always work harder than others as a result.

I was running an Experimental server after the U5 release, but I want to move it to Early Access, and it's not converting. What do I do? [ ]

Sometimes, Steam can helpfully remember which branch you have selected. If you were using -beta experimental to stay pinned on the Experimental branch, removing it from your update command may not roll you into Early Access. To force this to happen, use -beta public to force the switch.

How can I get my friends to join my server? [ ]

In order for your friends to join your server, you will need to give them your Public IP Address (WAN IP) and the port if it differs from 15777. You can obtain this by searching for "what is my ip" in most search engines.

Please note however that this will require you setup port forwarding correctly and have the correct firewall entries in place to allow connections into the network where the server is hosted.

I was running a Dedicated Server on Experimental; now that Update 5 is on Early Access, how do I switch? [ ]

While U5 was only on the Experimental branch, that was the only version of the Dedicated Server that was available. With the release into Early Access, the default branch of the Dedicated Server was updated to also be on the Early Access branch. All you need to do is let the server update and it will roll into Early Access; if you want to stay on or revert the Dedicated Server into the Experimental branch, you have to alter your configuration as described above.

The Dedicated Server stops after throwing two warnings; what do I do? [ ]

There are two common warnings that you will see once the server has finished its startup process. These are warnings , not errors , and in this case they can be ignored. If you see the two messages below there is nothing wrong, and the server is now just waiting for a client connection. Both messages related to the Epic Online Store (EOS), which the server has no interactions with, and so these warnings are completely innocuous.

History [ ]

Dedicated server patches are being released in par with every game patch. This section only lists changes directly related to the dedicated server itself, changes to multiplayer in general are tracked here .

  • Improved stability of the packet router
  • Improved CPU usage of the packet router
  • Added a startup argument for disabling the packet router: -DisablePacketRouting
  • Implemented a mechanism that routes all server packets through the query beacon, in effect reducing the number of ports that need to be open/forwarded to 1, simplifying setup.
  • Fixed a bug that made Clients spam poll the server, now we should poll much less
  • Fixed some more issues with the Crash reporter integration
  • Found an issue where threading was forced to be disabled for dedicated servers in some scenarios. Fixed it so now we should actually make use of multiple CPU cores
  • Added tick rate information on the Server Status UI Menu
  • Production Lights for all buildings should now be working again
  • Patch 0.5.0.13 : Added Crash Reporter integration for Dedicated Server for both Windows and Linux, which is enabled by default and can be disabled using a config edit
  • Patch 0.5.0.12 : Enabled background and hi-prio task sets for servers to match what they are for the game, This should further improve multicore CPU usage
  • Patch 0.5.0.11 : Servers should now use all available cores (Up to 26 worker threads) on both Windows and Linux
  • Implemented a first revision of the Save Manager in the “Manage Saves” tab under Server Manager
  • Increased the beacon connection timeout to 30 seconds (Previous value was 5 seconds)
  • Fixed spelling mistake in the server is offline message
  • Server state is now polled a lot less by the clients (at most 3 times per second) and clients back off gradually if a server does not respond to pings which makes the client behaviour less consistent with DDOS attacks
  • Clients do not store DNS lookup results in the server manager file and instead the DNS lookups are made every time the client starts up which makes the clients work better for servers with Dynamic DNS
  • Fixed a crash on startup on Dual Stack Linux, IPv6 should now work on more recent kernels
  • Fixed a shutdown crash caused by OnlineSubsystemEOS
  • Added IPv6 Support
  • Made FGAbstractServerWidget public for modders
  • UI should now properly display when new connections are established
  • Potentially fixed a crash related to using the Rebar Gun on Dedicated Server
  • Fixed Nobelisk/Snowballs on Dedicated servers
  • Changed "-GamePort" server parameter to "-Port"
  • Added a “Save Game” server command ( server.SaveGame <saveName> )
  • Flipped around the Show/Hide Address Toggle Button text in the Add Server popup
  • Patch 0.5.0.0 : Introduced
  • The console of the server (as of Patch 0.5.0.12) serializes boolean values with typos: "IsAwake newState = flase ", "IsAwake newState = ture ". This is considered a common typo.
  • When Patch 0.5.0.0 was released, Dedicated Servers were initially only available to those using Steam. On December 7, 2021, it was announced on Twitch Stream by Community Manager Snutt Treptow that Dedicated Servers were available on Epic Games .
game mechanics
Player abilities  •   •   •   •   •   •   •   •   •   •   •   •   •   •   • 
Unlockable abilities  •   •   •   •   •   •   • 
Progression  •   •   •   •   •   •   •   • 
Miscellaneous  •   •   •   •   •   •   •   •   •   •   •   •   •   •   • 
Guides and tutorials  •   •   •   • 
Logistics  •   •   • 
Dedicated servers  •   •   • 
Other  •   • 
  • 1 Coal Generator
  • 2 Milestones
  • 3 Fuel Generator

Get the Reddit app

This is a subreddit for the game developed by Coffee Stain Studios currently in Early Access.

Where is the dedicated server? (experimental)

I've purchased Satisfactory on the Epic Store and have the experimental version installed. I'd like to use the dedicated server with friends.

I can't find it on Docker Hub. It's not on Epic either. I also could not find it on Steam (yes I've set the filter to Utils).

Has it already been released?

By continuing, you agree to our User Agreement and acknowledge that you understand the Privacy Policy .

Enter the 6-digit code from your authenticator app

You’ve set up two-factor authentication for this account.

Enter a 6-digit backup code

Create your username and password.

Reddit is anonymous, so your username is what you’ll go by here. Choose wisely—because once you get a name, you can’t change it.

Reset your password

Enter your email address or username and we’ll send you a link to reset your password

Check your inbox

An email with a link to reset your password was sent to the email address associated with your account

Choose a Reddit account to continue

Screen Rant

Satisfactory: how to setup (& run) a dedicated server.

4

Your changes have been saved

Email Is sent

Please verify your email address.

You’ve reached your account maximum for followed topics.

10 Worst Modern Licensed Video Games

Why starfield fans should pay attention to august 20, elden ring: shadow of the erdtree dlc ruined the base game for me.

Running a dedicated server in  Satisfactory allows players to host a game, set an administration password, and change the parameters of their world. There are a few steps to setting up a dedicated server, including downloading a tool from Steam or the Epic Games Store. It's also important that players check the system requirements to ensure their computer is capable of running the dedicated server.

There are some advantages to hosting a dedicated server rather than simply starting a private game in Satisfactory . The biggest difference is that a dedicated server allows other players to access it without the host being online. In a private game, once the host signs off, the session ends and other players can't access the world until the host is online again.  Setting up a dedicated server makes it much easier to connect with friends and create a world together without everyone having to be online at the same time.

Related: Satisfactory: How to Fix a Broken Power Grid

Several options are available for running a dedicated server, but efficiency and performance will depend on the host's system specifications and operating system. Players have the option of using or renting external hardware in order to improve performance, but efficiency will depend on what hardware is used and how many players are on the server. A separate computer can be used to run the server while playing on a different device, or players can rent external hardware to remotely  run their dedicated server . While renting external hardware for a running dedicated server is helpful, it's not necessary for  Satisfactory .

System Requirements For Running A Dedicated Server In Satisfactory

satisfactory experimental dedicated server

The system requirements should be similar regardless of which dedicated server tool is being used. The recommended system requirements for a  Satisfactory dedicated server can be found on the Epic Games Store website by going to the game's main page, then selecting the Add-Ons tab. The free dedicated server will be listed as an add-on, and players can click on it, then scroll to the bottom of the page to find the minimum system requirements.

  • OS : Windows 10 or later (64-bit)
  • Processor : i5-3570 3.4 GHz 4 Core
  • Memory : 8 GB RAM
  • Graphics : Dedicated graphics card, 2 GB GTX 770
  • Storage : 15 GB of available space

The specifications for the tool released on the Epic Games Store website are the minimum requirements, but performance will also depend on how strong the internet connection is. Currently, the Early Access version of  Satisfactory only allows for four players to be on a single server at once, so there shouldn't be a lot of performance issues if players have the right system specifications. However, since the game is in Early Access, some issues may occur that aren't related to the computer's performance.

How To Set Up A Dedicated Server In Satisfactory

Satisfactory-conveyor-belts.

After checking the system requirements and determining whether or not external hardware is needed, players can download a dedicated server tool from Epic Games or Steam to start setting everything up. The tool that's being installed needs to be the same as the version of the game that players have downloaded. The process for setting up the dedicated server will differ depending on which tool is being used. Current save files can be copied into the Epic Games dedicated server tool, otherwise, a new game can be started after downloading it. For Steam, there are a few more steps involved in setting up a dedicated server.

  • SteamCMD Step One : Download SteamCMD and extract the file
  • SteamCMD Step Two : Double-click on the extracted application to download the files, then type quit to exit
  • SteamCMD Step Three : Right-click and start a new text document file, then open it and add the command steamcmd +login anonymous +force_install_dir SatisfactoryDedicatedServer +app_update 1690800 +quit
  • SteamCMD Step Four : Go to file, then save as and save the text document as server.bat and choose All Files from the file type drop-down list
  • SteamCMD Step Five : Open the new server.bat file and wait for the files to download
  • SteamCMD Step Six : Open the Satisfactory dedicated server folder, create a new text document, then paste  FactoryServer.exe -log -unattended into it
  • SteamCMD Step Seven : Save the text document as start.bat, then open it to run the dedicated server
  • SteamCMD Step Eight : Launch Satisfactory and choose Server Manager from the main menu
  • SteamCMD Step Nine : Choose ‘Add Server’ at the bottom of the screen
  • SteamCMD Step Ten : Players can add their IP address and the default Port, 15777, then choose 'Confirm' to create the server

If players are having trouble with step six, they may need to adjust their firewall settings and give permissions to the SteamCMD application. Although the Steam dedicated server is a bit more complicated than the Epic Games tool, both options work well. Additionally, the dedicated server on the Epic Games Store website states that the tool is still experimental, so there could be some issues while running it. Players will need to choose whichever tool matches the version of the game they own. For example, if  Satisfactory was purchased on Steam, the Epic Games dedicated server tool won't work with that version. After adding the dedicated server to the game, the host can change some of the settings.

Dedicated Server Settings In Satisfactory

Satisfactory How to Setup &amp; Run a Dedicated Server Settings Menu

When the dedicated server is created, it will appear unclaimed, and a prompt will ask if the player wants to claim it. The player that claims the server will become the host, and a few options will become available. First, the host can set an administration password that gives others access to change the parameters of the game. The password set on the screen for the game's new server won't add any restrictions on who can join, but it does indicate that players with the password can alter administrative settings.

The server and session names can be set in the Server Manager screen, and the administration password can also be changed at any time. The other two settings on this screen can be turned on or off using the checkboxes. The first option is to pause the game when there are no players connected, and the other setting can be turned on to automatically save the game when a player disconnects. After adjusting the settings, the host can create a game in their preferred starting area and begin playing  Satisfactory on their dedicated server.

Next: Satisfactory: How to Build the Particle Accelerator (& What It's For)

Satisfactory  is available in Early Access on PC.

  • Game Guides

Wiki.gg header logo

Personal tools

  • Create account

Navigation menu

  • Sign up to edit
  • Edit source
  • View source
  • View history
  • Purge cache
  • Community portal
  • Recent changes
  • Random page
  • Admin noticeboard
  • Style guide

Useful pages

  • AWESOME Sink
  • Space Elevator
  • Future content
  • Community tools

Satisfactory links

  • Official website
  • Official merch
  • Epic Games Store
  • Humble Bundle

Social media

  • Twitter (X)
  • What links here
  • Related changes
  • Special pages
  • Printable version
  • Permanent link
  • Page information
  • Cite this page

Dedicated servers/Running as a Service

This page describes how to set up a dedicated server as a service .

  • 1.1.1.1 Experimental Branch
  • 1.1.2 OpenRC
  • 1.3.1 Docker-Compose

Running as a Service

Running the dedicated server as a Service allows your server to auto-restart in the event of a crash, as well as automatically start after booting. How this is handled differs between Linux and Windows operating systems, so make sure you use the correct section for your environment.

Systemd is the service management system installed for many Linux distributions.

Ensure SteamCMD is installed. Once done, some small preparations for Systemd must be made defining the service and configuring it. The following systemd unit file for the Satisfactory service will automatically use SteamCMD to check for updates any time the server is started or restarted. It will also start the server when the host is rebooted. Edit the user and path to reflect the location and owner of the Satisfactory installation. The unit file should be placed at /etc/systemd/system/satisfactory.service

The above configuration will have the server logs written to the system Journal. If you do not wish for this to happen, and would rather have log and error messages sent to files on disk, you can add the following two directives to the [Service] section of the Unit file. Bear in mind that if you do so, the log files will grow without limit if you do not also set up a log rotation scheme such as configuring logrotated to archive and rotate logs for you. That configuration is beyond the scope of this article. With that in mind, to log to disk rather than the journal, add these directives:

After creating the service, you will need to execute a daemon-reload to load the new service into systemd:

To enable and start the service, use the following two commands respectively:

You can check the status with sudo systemctl status satisfactory . If configured correctly the output should look something like:

If the service times out before its loaded it will continue in a loop. This can happpen if you are testing on older hardware that doesn't reach the minimum requirements for the server hardware. To prevent this you can add the following line to the [Service] section: TimeoutSec=XXX . You replace the XXX with a numerical value in seconds. Normally a service times out after 90 seconds on most distros.

Experimental Branch

To have systemd pre-fetch the Experimental branch of the Dedicated Server upon restart, adjust the ExecStartPre directive to tell SteamCMD to use the experimental branch, as follows (truncated for brevity):

OpenRC is a service management system for Gentoo Linux .

Install SteamCMD using Portage, and accept it's license. Its installation directory by default is /opt/steamcmd .

The recommended way to get it set up is to link to the already existing SteamCMD init file with ln -s /etc/init.d/steamcmd /etc/init.d/steamcmd.satisfactory and then copying the default config from /etc/conf.d/steamcmd to /etc/conf.d/steamcmd.satisfactory .

The completed /etc/conf.d/steamcmd.satisfactory would look something like this:

You can use Non-Sucking Service Manager to easily set up auto-restart for the dedicated server.

Once you've downloaded and installed NSSM, navigate to the directory containing nssm.exe and run the below command:

This will pull up a GUI for configuration. Set the " Path " to the location of FactoryServer.exe, Set the " Arguments " to "-unattended". You can modify other settings if you want, but that's the only required step. Click "install", then run this command.

Other useful nssm commands:

Docker is a cross-platform utility designed to run services in virtual machines in a compartmentalized fashion. This is an example dockerfile you can use to run the Satisfactory dedicated server inside a docker container

The $STEAMAPPDIR is declared as a volume so that the savegames and the config of the server can be accessed and modified from outside the container. If that is not mapped to a host directory as done with -v, it will go into /var/lib/docker/volumes . You can find exactly where using docker inspect on the running container. More information here .

Docker-Compose

Use the following example docker-compose file in parallel with the Dockerfile and run docker-compose up -d for a detached background server.

  • Dedicated Servers - Main Page
  • Dedicated Servers - Configuration Files
  • Dedicated Servers - Automatic Updates
game mechanics
Player abilities  •   •   •   •   •   •   •   •   •   •   •   •   •   •   •   • 
Unlockable abilities  •   •   •   •   •   •   • 
Progression  •   •   •   •   •   •   •   • 
Environment  •   •   •   •   •   •   •   •   • 
Miscellaneous  •   •   •   •   •   •   •   •   •   •   •   •   •   •   • 
Guides and tutorials  •   •   •   •   •   • 
Logistics  •   •   •   •   • 
Dedicated servers  •   •   • 
Other  •   •   • 

satisfactory experimental dedicated server

  • Minecraft Server Hosting
  • ARK: Survival Evolved
  • See all games
  • Portal Home
  • Knowledgebase
  • Satisfactory

How to Make Your Satisfactory Server Run Experimental Mode

  categories.

Before getting started, you will need to backup and reset your server to prevent incompatibilities with the previous server type.

satisfactory experimental dedicated server

  • Follow our guide on using DANGER_DELETE_ALL to reset your server , and delete all server files aside from the backup you just created.

Changing Your Server Version to Experimental Mode

You can set your server to Experimental Mode via your Control Panel’s Server Type Selector. If you do not have access to the selector, please submit a ticket to get it activated.

  • Navigate to the Control Panel and Stop your server.

satisfactory experimental dedicated server

  • Start your server.

If you want to rollback your server to early access, revert your server type, delete all files aside from besides the backup, and restore the backup . Extract the backup using the built-in FTP.

Setting Your Client to Experimental Mode

After setting your server to experimental Mode, you must also configure your client.

For Steam Users

  • Open Steam and navigate to your Library .

satisfactory experimental dedicated server

  • Wait for the update to finish downloading and start the game.

For Epic Games Users

satisfactory experimental dedicated server

  • Wait for it to install and Start the game.

Your server is now set up in Experimental Mode. Should you need assistance with joining your server, you can check out this guide on Joining your Satisfactory Server .

satisfactory experimental dedicated server

Mitchell Smith

Managing Director @ Shockbyte

  • 4 Users Found This Useful

Related Articles

Satisfactory’s console can be accessed by pressing the § (paragraph) / ` (backtick) / ~ (tilde)...

Satisfactory's config hosts a variety of options allowing you to customize your server; from the...

Note: Before playing on your server, you will need to ensure you've claimed your server. HOW TO...

Your game can be loaded or saved on your server by using the Server Manager. SAVING THE GAME...

When someone adds your Satisfactory server via IP, the name of your server will be the first...

  Support

Installing Mods on Dedicated Servers

SML3.7.0 enables the compilation of mods for Dedicated Servers. Keep in mind that Coffee Stain considers the base game’s dedicated servers to be an experimental, incomplete feature, so modded dedicated servers are experimental squared! Expect bugs and test carefully to determine if bugs are caused by the base game or by mods before reporting them on the QA site (base-game) or the Discord (modded) respectively.

Obtain a Server

You need access to a dedicated server before you can start installing mods on it. Pick one of the options below to set one up.

Option 1: Self Hosted Server

Hosting a server yourself is the best way to ensure you can work with the files required to get modded a server working. First, set up a copy of the vanilla dedicated server if you haven’t done so yet. The Satisfactory Official Wiki already has a detailed guide covering how to do this . Follow that guide, then continue to the next section .

Option 2: Third Party Hosted Server

Third-party server hosts often restrict how you can access and modify files on the system, complicating the mod setup process.

You will have to follow your server host’s own documentation about mod setup. If your server host provides (s)ftp access to server files the Mod Manager and ficsit-cli should be able to interact with them normally.

With this in mind, continue to the next section .

Unsupported Hosts

We do not currently maintain a list of server hosts that support modded servers.

The following 3rd party hosting services are known to NOT support mods , regardless of what their websites and marketing pages claim:

low.ms - Does not allow executables

nitroserv.games - Allows creating but not deleting dot files, which bricks the server

Shockbyte - Doesn’t show the root executable

gportal - Doesn’t show the proper game file tree, just the Saved folder

4netplayers - Doesn’t show the root executable, as well as other game files

GTXGaming - Doesn’t show the proper game file tree, just the Saved folder

It is also worth noting that AMP causes SFTP to throw weird errors, but mods can be installed if pointing SMM to a network mount or local path as described here .

If you believe a site is listed here in error, contact us about it on the Discord .

Use a Mod Manager to Connect to the Server

Both Satisfactory Mod Manager (version 3.0.0 and up) and ficsit-cli can be used to manage mods on a remote server installation as long as you have network filesystem or (s)ftp access to the server.

You could also install ficsit-cli on the server and interact with its file system directly via its terminal user interface.

Satisfactory Mod Manager

. It doesn’t support dedicated servers.

.

If using the Mod Manager to manage your server:

Download and install the Satisfactory Mod Manager .

Open the Mod Manager.

In the left panel, under Other, select "Manage Servers".

Don’t see this option? Follow the steps in the "Important" box above to get the right version of Satisfactory Mod Manager.

Note that if your server is locally installed through Steam or Epic, the mod manager may automatically detect it, allowing you to skip the below step of manually adding it.

Enter server connection details in the popup window.

Decide what method to select and what to enter by reading the File Transfer Methods section, then return here.

The server will now appear in your Game Version dropdown and can be managed like a local install.

Skim the below ficsit-cli section to stay informed, then continue reading the next setup step .

If using ficsit-cli to manage your server:

Download ficsit-cli either to your computer or to the server itself depending on which environment you are more comfortable working with.

Visit https://cli.ficsit.app/ to automatically download the latest stable release for your detected platform.

Specific (pre-)releases can be manually download from the GitHub releases page .

Run the application in a terminal window.

Navigate to the "Installations" > "New Installation" screen.

If you are running ficsit-cli from your computer (not the server), enter the server connection details.

Decide what to enter here by reading the File Transfer Methods section, then return here.

If ficsit-cli is installed on the server, enter the file system path, for example D:\SatisfactoryDS or /opt/SatisfactoryDedicatedServer .

The server will now appear as an install you can select and manage as usual.

Continue to the next setup step .

File Transfer Methods

The Mod Manager and ficsit-cli support multiple methods of connecting to servers remotely to manage mod files. Select a method below based on what your server (or 3rd party server host) provides.

For 3rd-party server hosts, refer to their documentation on how to connect to the server using a (S)FTP client. The mod manager uses the same username, password, IP and port. The path depends on how the server host has set things up (check their documentation), but it’s relatively easy to figure it out: in the server’s files, find a folder that contains a file named FactoryServer.sh or FactoryServer.exe . The mod manager will make sure the path points to an installation, so it will show an error if the path is not correct (no installations found).

Secure File Transfer Protocol (SFTP) is a common method to transfer files over the Internet/Network. It’s more modern and secure than FTP as you may have guessed from its name. SFTP typically uses TCP port 22, but your server may differ. The examples below are for a self-hosted dedicated server.

The authenticating user requires Read/Write/Delete or Read/Modify permissions.

The path should follow this format:

sftp://username:password@ServerNameOrIP:Port/path/

Satisfactory Mod Manager Example

instead if it is available.

File transfer protocol (FTP) is a common but outdated method to transfer files over the Internet/Network. FTP typically uses TCP port 21, but your server may differ. The examples below are for a self-hosted dedicated server.

ftp://username:password@ServerNameOrIP:Port/path/

Satisfactory Mod Manager Example

Filepath or SMB/CIFS

Server Message Block (SMB), also known as CIFS (Common Internet File System) or Windows File Shares, is a network file transfer method commonly used on Windows Systems and occasionally Linux/Unix systems. Think of it like Windows file paths but expanded to supports network locations. SMB typically uses TCP port 445, but your server may differ. The examples below are for a self-hosted dedicated server.

If running your chosen mod management tool on a Windows computer:

If the server is installed on the same computer, use the file path, for example C:\EpicGamesGames\SatisfactoryDSExperiment

If the server is on a network location: \\ServerNameOrIP\ShareName\Path or //ServerNameOrIP/ShareName/Path

If running your chosen mod management tool on a Linux computer:

If the server is installed on the same computer: use the file path.

If the server is on a network location, you first need to mount it to a local path, then you can treat it as a local installation. Mounting varies significantly depending on your setup; a good starting point is to check linux mount cifs to path on your favorite search engine.

Note that locally installed dedicated servers set up through Steam or Epic will likely be automatically detected by Satisfactory Mod Manager and appear with the "DS" note in the dropdown.

Satisfactory Mod Manager Example

Troubleshooting

Remember, we can only provided limited support for third-party hosted servers as we do not know or control their systems. Contact your server host’s support lines if you encounter problems.

Contact us on the Discord Server if something is confusing or goes wrong.

Installing Mods

Once you have set up the mod manager of choice you can start installing mods on the server. Read the below warnings, then check out the set of directions specific to the mod manager you chose.

Checking if a Mod Supports Dedicated Servers

Not all mods are compatible with dedicated servers. They must be specially compiled and packaged for the alternative format. A greater percentage of mods will support servers once Satisfactory 1.0 launches since all developers will be forced to recompile their mods for that anyways.

As dedicated server support is still a work in progress, there is not currently a convenient way to filter mods for dedicated server support on the ficsit.app website.

When viewing the webpage for a mod, check the "Latest Version" section - if you see a table with a "Server" column, and a checkmark is present on your server type, the mod is compatible with dedicated servers. If you see an X, or the table is absent, the mod does not yet support dedicated servers.

Supported Example

Satisfactory Mod Manager offers a "compatible" filtering mode which, while managing a server install, causes only server-compatible mods to be displayed.

Ficsit-cli does not currently have a way to filter mods for dedicated server support.

Important: Server-Client Mod Consistency

Although it is possible to use ficsit-cli or the Mod Manager to install mods one-by-one on the server, this is not recommended as you could easily end up with a mismatch between client and server mod versions, preventing you from connecting.

It is not feasible to export a profile created in SMM for a client to be used on a server because there are some mods that only exist client or server side. In the future, the ability to create and share "modpacks" will be introduced to resolve this problem, as modpacks will be able to keep track of mods that may not apply for a game target.

In the mean time, we suggest using an installation of SMM or ficsit-cli on your client computer so that you can use the same profile to manage both your client and remote server install. You can then export the SMM or ficsit-cli profile and send file to your server members so they can configure their own installs accordingly.

If you encounter any one-side-only mods you will have to switch to using separate profiles for the server and client until the Modpacks feature is released.

Shut Down the Server

Before you start installing mods, make sure the server is not currently running. A running server will keep mod files locked in use, preventing updating or uninstalling them. You’ll have to reboot the server anyways for mod changes to take effect, so you might as well turn it off before you start.

Using Satisfactory Mod Manager

The process of using Satisfactory Mod Manager from this point on is the same as managing a local install. If you need a refresher, check out the Installing and Using the Mod Manager guide.

Using ficsit-cli

There is not currently documentation for using ficsit-cli to install mods, but as long as you heed the below advice, it will be pretty straightforward. As always, ask on the Discord if you get stuck.

ficsit-cli will probably see your local Satisfactory Mod Manager profiles and may have one selected by default. Consider creating a new profile to use for your server. Make sure to apply changes after installing mods or loading a profile, otherwise all changes will be discarded on exit.

Note that applying changes in ficsit-cli is a global action - all installations the program is aware of will have any staged changes they may have applied in parallel. This does not mean that all installs must be on the same profile.

Joining a Modded Dedicated Server

As described in the Server-Client Mod Consistency section, client players must have the same mods installed as the server to be able to join. In the case of a failed join due to a mod mismatch, SML will attempt to provide a meaningful disconnect message, but this is not always possible.

If you’re having trouble joining your server, first verify that it is possible to connect to the server in its unmodified state by removing all mods from the server and client. Most connection issues people encounter also affect the unmodified server. If that works, try adding mods back in small groups to see which one is causing the problem.

If you’re still encountering problems, join the Discord and upload logs from both your client and server in the #help-using-mods channel.

Configuring Mods on Servers

There is not currently an interface for adjusting Mod Configurations remotely on dedicated servers. As such, you should configure mods client side and copy the config files over to the server. Note that some mods could stop working correctly or behave unexpectedly if client and server configs don’t match! Check the FAQ on where game files are located to see where config files are stored.

Although Mod Savegame Settings can be configured mid-game using their usual interface, the Server Manager’s save creation screen does not support setting Mod Savegame Settings that must be decided at save file creation. To work around this, create your save file with the desired settings on your client, then upload the save to the server using the normal save file upload process.

(Not supported) Manual Mod Installation

It is possible to manually install mods on dedicated server installs without the help of the Mod Manager of ficsit-cli, however the process of doing so will vary based on your server and you will have to manually ensure you have downloaded compatible versions and all of their dependencies.

The steps described in the Manual Installation directions for clients still generally apply, but be sure to download the correct target platform version of the mod for your server.

Tice Tips Logo

Satisfactory Dedicated Server Docker set up guide​

Satisfactory has introduced support for dedicated server hosting with update 0.5.0.0! But how do you start a server to play with your friends? This guide will show you how to set up a Satisfactory Server using Docker and get you on your way to playing Satisfactory!

Looking to host your server without using Docker? Check this Guide !

Step 1: Prerequisites

  • Make sure you are running Windows 10
  • 10GB of storage is available
  • Make sure that you have  at least 6GB of RAM free to run the server. (6GB is required for servers with up to 4 players, increasing the player count will require up to 10GB of RAM)
  • ( Preferably ) A wired internet connection. Wifi can get unstable and can cause issues with people connecting to your server. 
  • A Static IP address on your computer (Not sure how to do this? check out this guide !).

Step 2: Installing Docker

The following steps will guide to through the Docker Desktop installation:

  • Go to the Docker Desktop download page.
  • Download and Run the Docker Desktop Installer.exe
  • The Setup installer will guide you through the process
  • The installer will have you log out  of your desktop to finish the installation.
  • After you’ve logged in again press + R  to open a run window.
  • Type PowerShell and press enter as demonstrated in the image below

An image of a windows run box with powershell typed into the field

  • To test the docker installation type docker run hello-world  and press enter.

An image displaying the output of running the docker run hello world command

If output is shown as the example above, good job! You’ve now got Docker up and running! Let’s move forward with the next steps.

Step 3: Preparing the folder

Now you’ve got Docker up and running, it is time to prepare the folder to make sure that your configuration persists if you shut down your server. This step is really quite simple.

  • Open up windows explorer with + E.
  • Navigate to the Desktop folder
  • Create a folder called Satisfactory  (you can name this folder anything you want, but for the sake of clarity, we’ll use this name)
  • Go into the Satisfactory Folder
  • Take note of the path you are currently in by clicking on the navigation bar:

The Folder in which the Satisfactory server will be installed:C:\Users\thijs\Desktop\Satisfactory

Now you are almost ready to start your server. For this guide, we will use Docker Compose to configure your server. 

  • In the Satisfactory folder, you’ve just created, open up a notepad .
  • Copy and Paste the following in that file:
  • Click on Save As
  • Give it the same name and type as the image below:

docker-compose.yml as file type "All Files"

  • Save the docker-compose.yml in the Satisfactory folder .

Step 4: Running the Satisfactory server using Docker

Now all files are in order and we are ready to move forward and start the server!

  • Press + R  to open a run window.
  • Type PowerShell and press enter .
  • Type the following commands:

Now if you’ve done everything correctly, your folder should now look like this:

Satisfactory folder structure including newly generated files

Step 5: Firewall Rules

Before you and your friends can connect to the Satisfactory server, you’ll need to make changes to your firewall to allow connections on specific ports.

By default, a Satisfactory server uses the following ports:

Default Port (UDP only) Port Usage Description
15777 Query Port This is the port that you need to enter in the game when you first connect to a dedicated server. This port can be redirected freely.
15000 Beacon Port This port cannot be redirected at the moment. It is automatically incremented if multiple instances of the server are launched and the default is in use already.
7777 Game Port This port can be redirected at the moment. It is automatically incremented if multiple instances of the server are launched and the default is in use already.

Now you can add these port exceptions to the firewall by hand, but let’s not, that takes way too much time, let’s do something different:

  • Type PowerShell and press Ctrl+Shift+Enter to run it as administrator.
  • Type the following 3 commands:

And now your firewall has been magically configured!

Step 6: Port forwarding

Now, let’s move forward by port forwarding. Before doing that, you would want to set a static IP address on your computer . 

After you’ve done that, you can move forward with the actual port forwarding:

First, you’ll need to know what the IP addresses of your computer and router are. This can be done by doing the following:

  • Type CMD and press Enter. (This should open a black window.)
  • Please type “ ipconfig ” and press enter.

You’ll see some information about the network settings:

A Picture of a Commandprompt which just executed the ipconfig command

You’ll want to make a note of the “Default Gateway” & IPv4 address. In my case, it is:

  • Default Gateway : 192.168.2.254
  • IPv4 address : 192.168.2.202

You’ll need to enter this address in your browser and log in to your router. Visit this site to find your specific model and were to find the Port Forward settings.

Once you’ve navigated to the Port Forwarding rules, please enter the following information:

Rule Name IP Address Port Range Protocol
Satisfactory Query Port -Your IPv4 Address- 15777 – 15777 UDP
Satisfactory Beacon Port -Your IPv4 Address- 15000 – 15000 UDP
Satisfactory Game Port -Your IPv4 Address- 7777 – 7777 UDP

Now hit save and your Satisfactory server is open to the public!

But your friends still don’t know where to find you. For that, you’ll need your public IP address. You can use a site like www.whatismyip.com to get your public IP address.

Step 7: Connecting to your Satisfactory Server

Woohoo! You’ve made it to the last step! You’re in the home stretch.

Now you can finally boot up your game. 

Once in the main menu, click on server manager and then the “Add server”  on the bottom of the screen. This will pop up a new window.

In this window, you can enter the following:

Satisfactory Dedicated Server Address box with localhost as address and 15777 as the port

Now you will be asked to claim your server and set a name:

Satisfactory Dedicated Server claim window with TiceTips entered as the name

Now you’ll be able to create a game that is to your liking and change the server settings from in this menu:

Game creation screen in Satisfactory

That’s it! You now have a running Satisfactory server using Docker!  

Keep in mind, if you no longer want to use the server, you can use the following 2 commands to shut the server down (this will not remove your save files):

You may also like:

A decorative image of a control panel

Palworld Xbox Dedicated Server Docker set up guide

Palworld Xbox Dedicated Server Docker set up guide Palworld has been released in early access! But how do you start an Xbox

satisfactory experimental dedicated server

Palworld Port Forwarding Guide

Palworld Port Forwarding Guide Palworld has been released in early access! But how do you start a server to play with your

satisfactory experimental dedicated server
cookielawinfo-checbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications You must be signed in to change notification settings

A Dockerized version of the Satisfactory dedicated server

wolveix/satisfactory-server

Folders and files.

NameName
141 Commits

Repository files navigation

Satisfactory server.

Release

This is a Dockerized version of the Satisfactory dedicated server.

If the server feels too buggy for you, you can try the saveshare instead (which relies on client-hosting).

Recent updates consume 4GB - 6GB RAM, but the official wiki recommends allocating 12GB - 16GB RAM.

You'll need to bind a local directory to the Docker container's /config directory. This directory will hold the following directories:

  • /backups - the server will automatically backup your saves when the container first starts
  • /gamefiles - this is for the game's files. They're stored outside of the container to avoid needing to redownload 8GB+ every time you want to rebuild the container
  • /overrides - this is for custom .ini configuration file overrides
  • /saved - this contains the game's blueprints, saves, and server configuration

Before running the server image, you should find your user ID that will be running the container. This isn't necessary in most cases, but it's good to find out regardless. If you're seeing permission denied errors, then this is probably why. Find your ID in Linux by running the id command. Then grab the user ID (usually something like 1000 ) and pass it into the -e PGID=1000 and -e PUID=1000 environment variables.

Run the Satisfactory server image like this (this is one command, make sure to copy all of it):

  • --detach -> Starts the container detached from your terminal If you want to see the logs replace it with --sig-proxy=false
  • --name -> Gives the container a unqiue name
  • --hostname -> Changes the hostname of the container
  • --restart unless-stopped -> Automatically restarts the container unless the container was manually stopped
  • --volume -> Binds the Satisfactory config folder to the folder you specified Allows you to easily access your savegames
  • For the environment ( --env ) variables please see here
  • --memory-reservation=4G -> Reserves 4GB RAM from the host for the container's use
  • --memory 6G -> Restricts the container to 6GB RAM
  • --publish -> Specifies the ports that the container exposes

Docker Compose

If you're using Docker Compose :

If you are running a Kubernetes cluster, we do have a service.yaml and statefulset.yaml available under the cluster directory of this repo, along with an example values.yaml file.

If you are using Helm , you can find charts for this repo on ArtifactHUB . The k8s-at-home helm chart for Satisfactory can be installed with the below (please see cluster/values.yaml for more information).

Environment Variables

Parameter Default Function
pause game when no player is connected
autosave interval in seconds
number of rotating autosave files
autosave when last player disconnects
automatic crash reporting
for debugging the server
disable the FICSMAS event (you miserable bastard)
set the object limit for your server
set the player limit for your server
set the maximum sim tick rate for your server
set the network quality/bandwidth for your server
set the group ID of the user the server will run as
set the user ID of the user the server will run as
run the container as a non-root user
set the game's beacon port
set the game's port
set the game's ip (usually not needed)
set the game's query port
toggle whether the game utilizes asset streaming
avoid updating the game on container start/restart
set experimental game version
set client timeout (in seconds)

Experimental Branch

If you want to run a server for the Experimental version of the game, set the STEAMBETA environment variable to true .

Configuration Overrides

While we've made most of the common configuration options through the .ini files configurable through environment variables, you may have a niche requirement that we hadn't considered or may not be used by most people. In which case, please place your version of the .ini file into the /config/overrides directory and the container will use this instead.

Do note that doing this disables the environment variables specific to the file in question.

Mod support is still a little rough around the edges, but they do now work. This Docker container functions the same as a standalone installation, so you can follow the excellent technical documentation from the community here .

The container does NOT have an S/FTP server installed directly, as Docker images are intended to carry a single function/process. You can either SFTP into your host that houses the Satisfactory server (trivial to do if you're running Linux), or alternatively you can spin up an S/FTP server through the use of another Docker container using the Docker Compose example listed below:

With this, you'll be able to SFTP into your server and access your game files via /home/your-ftp-user/gamefiles .

IPv6 Support

If you want to use IPv6, set the SERVERIP variable to empty or to your IPv6 address. By default, we set this to 0.0.0.0 which means that the server will bind to IPv4.

How to Improve the Multiplayer Experience

The Satisfactory Wiki recommends a few config tweaks to really get the best out of multiplayer. These changes are already applied to the server, but they need to be applied to your local config too:

  • Press WIN + R
  • Enter %localappdata%/FactoryGame/Saved/Config/WindowsNoEditor
  • Copy the config data from the wiki into the respective files
  • Right-click each of the 3 config files (Engine.ini, Game.ini, Scalability.ini)
  • Go to Properties > tick Read-only under the attributes

Known Issues

  • The container is run as root . This is pretty common for Docker images, but is bad practice for security reasons. This change was made to address permissions issues
  • The server log will show various errors; most of which can be safely ignored. As long as the container continues to run and your log looks similar to the example log, the server should be functioning just fine: example log

Star History

Star History Chart

Releases 33

Sponsor this project.

  • https://paypal.me/wolveix

Contributors 28

  • Shell 46.9%
  • Dockerfile 4.7%

IMAGES

  1. NEW! Satisfactory Experimental +Dedicated Server 1080p60

    satisfactory experimental dedicated server

  2. NEW! Satisfactory Experimental +Dedicated Server 1080p60

    satisfactory experimental dedicated server

  3. NEW! Satisfactory Experimental +Dedicated Server 1080p60

    satisfactory experimental dedicated server

  4. NEW! Satisfactory Experimental +Dedicated Server 1080p60

    satisfactory experimental dedicated server

  5. Satisfactory Update 5 adds (EXPERIMENTAL LOL) dedicated servers & many

    satisfactory experimental dedicated server

  6. Satisfactory Dedicated Server for Free

    satisfactory experimental dedicated server

VIDEO

  1. Satisfactory Experimental Sürüm e Nasıl Geçilir #satisfactory #easteregg #satisfactorygame

  2. This HEX build is INSANE in Satisfactory!

  3. Satisfactory

  4. Satisfactory Tips 3: Making a Prime Splitter Array

  5. Satisfactory 1.0 Confirmation

  6. Satisfactory: Our Power Demand Just Went UP

COMMENTS

  1. Dedicated servers - Official Satisfactory Wiki

    This page shows basics and details on how to set up and operate a Satisfactory dedicated server. At the moment, the dedicated server is available for the Windows and Linux operating systems. It can currently be installed using the Steam service (where it is listed in the user's library as a...

  2. Where is the dedicated server? (experimental) : r ... | Reddit

    At the moment, the dedicated server is available for the Windows and Linux operating systems. It can currently only be installed using the Steam service (where it is listed as a tool) or its command line sibling SteamCMD. The servers are experimental and for now only support the Experimental branch.

  3. Satisfactory: How to Setup (& Run) a Dedicated Server

    Running a dedicated server in Satisfactory allows players to host a game, set an administration password, and change the parameters of their world. There are a few steps to setting up a dedicated server, including downloading a tool from Steam or the Epic Games Store.

  4. Dedicated servers/Running as a Service | Satisfactory Wiki

    Running the dedicated server as a Service allows your server to auto-restart in the event of a crash, as well as automatically start after booting. How this is handled differs between Linux and Windows operating systems, so make sure you use the correct section for your environment.

  5. How to Make Your Satisfactory Server Run Experimental Mode

    Set your Server Type to Satisfactory Experimental. Start your server. If you want to rollback your server to early access, revert your server type, delete all files aside from besides the backup, and restore the backup. Extract the backup using the built-in FTP.

  6. Installing Mods on Dedicated Servers :: Satisfactory Modding ...

    You need access to a dedicated server before you can start installing mods on it. Pick one of the options below to set one up. Option 1: Self Hosted Server. Hosting a server yourself is the best way to ensure you can work with the files required to get modded a server working.

  7. Satisfactory Dedicated Server in a Docker Container | GitHub

    This image provides a dedicated server for Satisfactory, designed to run on top of linux and Docker. As with all of our other game server images, this is based on our custom base images, which have provided known good, stable and secure images for many years.

  8. Satisfactory Dedicated Server Docker set up guide - Tice Tips

    Satisfactory has introduced support for dedicated server hosting with update 0.5.0.0! But how do you start a server to play with your friends? This guide will show you how to set up a Satisfactory Server using Docker and get you on your way to playing Satisfactory! Looking to host your server without using Docker? Check this Guide!

  9. Satisfactory Experimental Server Hosting - Update 8 | NITRADO

    Get your Satisfactory (Experimental) Dedicated Server Hosting from the leading provider Nitrado. Immediate activation by the prepaid system with full cost control, without a contract and without a minimum term.

  10. GitHub - wolveix/satisfactory-server: A Dockerized version of ...

    Satisfactory Server. This is a Dockerized version of the Satisfactory dedicated server. If the server feels too buggy for you, you can try the saveshare instead (which relies on client-hosting). Setup. Recent updates consume 4GB - 6GB RAM, but the official wiki recommends allocating 12GB - 16GB RAM.