This Docker container provides a dedicated server for running Satisfactory on ARM64 architecture. It is based on nitrog0d/palworld-arm64.
The server now appears to be running without crashing! The previous conveyor belt–related crash no longer occurs. That said, further testing is needed to fully confirm overall stability.
-
Download or Clone Repository: Download or clone this repository to your desired folder, for example,
satisfactory-server. -
Set Up Permissions: Create a folder named
satisfactoryandconfig(your savegame and server config will be stored in there) and grant full permissions to it:- Using
chmod:sudo chmod 777 satisfactory sudo chmod 777 config sudo chmod 777 init-server.sh sudo chmod +x init-server.sh - Using
chown(replace USER_ID:GROUP_ID with the desired user's IDs, for example,1000:1000):(On Oracle Cloud Infrastructure (OCI), by default, the user with the IDsudo chown -R USER_ID:GROUP_ID satisfactory sudo chown -R USER_ID:GROUP_ID config1000:1000isopc. However, since this user is primarily intended for the setup process, it is advisable to utilize theubuntuuser with IDs1001:1001)
- Using
-
Build the Docker Image: Run the build script:
sh build.shIf execution permission is denied, grant it:
chmod +x build.sh -
Run the Docker Image: After the build process completes, start the Docker image either by running:
sh run.shOr via Docker Compose in detached mode:
sudo docker compose up -d -
Open Necessary Ports: The following ports must be opened for the server to function properly:
- TCP:
7777,8888 - UDP:
7777Ensure these ports are open using the Linux firewall of your choice and also within the Security List of the Oracle Cloud Infrastructure Network.
- TCP:
-
Default Port: The default port for the server is
7777.
Now your Satisfactory Dedicated Server for ARM64 is ready!. Enjoy your gaming experience with friends.
To alter the server port, you'll need to make adjustments in the docker-compose.yml file:
- docker-compose.yml:
Edit this file to expose the desired ports outside of the container and set the
$EXTRA_PARAMSenvironment variable to configure additional parameters for theFactoryServer.shscript.
Ensure that these changes are made accurately to reflect your desired server port configuration.
| Option | Description | Example |
|---|---|---|
| -multihome= | Bind the server process to a specific IP address rather than all available interfaces | -multihome=192.168.1.4 |
| -ServerQueryPort= | 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. | -ServerQueryPort=15000 |
| -BeaconPort= | Override the Beacon Port the server uses. As of Update 6, this port can 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. | -BeaconPort=15001 |
| -Port= | 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. | -Port=15002 |
| -DisablePacketRouting | Startup argument for disabling the packet router (Automatically disabled with multihome) | -DisablePacketRouting |
EXTRA_PARAMS=-ServerQueryPort=17531 -BeaconPort=17532 -Port=17533
If you want to enable/disable check for game server updates, change the following to true|false:
environment:
- ALWAYS_UPDATE_ON_START=true