Dedicated servers/Running as a Service

ExperimentalThis page will describe how to set up a Dedicated Server to automatically restart in the event of a crash.

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
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 lotation and owner of the Satisfactory installation. The unit file should be placed at

OpenRC
OpenRC is a service management system for Gentoo Linux.

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

The recommended way to get it set up is to link to the already existing SteamCMD init file with  and then copying the default config from   to.

The completed  would look something like this:

NSSM
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  commands:

Docker
Docker is a cross-platform utility designed to run services in virtual machines in a compartmentalized fashion. This is an example  you can use to run the Satisfactory dedicated server inside a docker container The   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. 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  for a detached background server.