Running an Abiotic Factor Dedicated Server on Linux using Docker

This tutorial will show you how to run a dedicated server for Abiotic Factor on Linux using Docker.

Abiotic Factor Dedicated Server Linux Docker

Abiotic Factor is a survival crafting game set in an underground research facility that takes inspiration from cult classics like Half-Life.

This survival game supports up to 6 players in one server. It even features support for dedicated servers, so you can host it on a device that you can keep running 24/7.

You don’t have to own Abiotic Factor to host your own server. You only need a device, server, or VPS with a decent CPU and a reasonable amount of RAM.

While the Abiotic Factor dedicated server doesn’t offer official support for Linux, we can work around this, thanks to Wine.

Installing and Running the Abiotic Factor Server on Linux

In the following sections, we will walk you through setting up and running the Abiotic Factor server on your Linux system.

We will use a Docker container to make running this server a much simpler process. This container saves you the hassle of setting up additional software and having to worry whether the version you are installing is actually compatible with the Abiotic Factor server.

We tested the following steps on Ubuntu, but they should work fine for almost all Linux systems.

Preparing your Linux System with Docker

1. To run the Abiotic Factor Dedicated Server on Linux, we will use a Docker container.

To install and run this container you will need to install the Docker run time using the following command. If you already have Docker installed, skip to step 4.

curl -sSL https://get.docker.com | sh

2. Once you have installed the Docker runtime, you must add your current user to the Docker group using the usermod command.

Adding your user to this group will allow you to interact with your containers without being the superuser.

sudo usermod -aG docker $USER

3. Since we changed your user’s group, you must log out. You can log out by using the following command within the terminal.

logout

Alternatively, restarting your Linux system will achieve the same effect.

sudo reboot

Setting up your Linux System to Run the Abiotic Factor Dedicated Server

4. With Docker installed on your Linux system, we can move on to setting up the Abiotic Factor Dedicated Server.

Before we proceed, we must create a directory where we will store the Compose file for this container using the mkdir command.

sudo mkdir -p /opt/stacks/abioticfactor

5. Once you have created a directory to store Abiotic Factor, change to it using the cd command.

cd /opt/stacks/abioticfactor

Writing a Compose File to Run the Abiotic Factor Server

6. Now that you are in the correct location, you can write a Compose file. This Compose file will tell Docker to download and run an Abiotic Factor Server container on your Linux system.

For this guide, we are using a Docker container by Pleut. This container sets up Ubuntu with Wine and SteamCMD and will download the Abiotic Factor server when it starts.

To begin writing this Compose file, use the command below.

sudo nano compose.yaml

7. Within this file, you will want to enter the lines shown below. While filling out this file, you must replace some placeholders.

  • <SERVERPASSWORD>: The first value you must replace is the password you want to use when accessing your Abiotic Factor server.

    If you don’t want to use a password to access your server, remove this option.
  • <SERVERNAME>: Next, you will want to give your server a name. This is the name that will be used within the server browser.
  • <SAVENAME>: Finally, you will want to set a name for your Abiotic Factor servers save.
services:
  abiotic-server:
    image: "ghcr.io/pleut/abiotic-factor-linux-docker:latest"
    restart: unless-stopped
    volumes:
      - "./gamefiles:/server"
      - "./data:/server/AbioticFactor/Saved"
    environment:
      - MaxServerPlayers=6
      - Port=7777
      - QueryPort=27015
      - ServerPassword=<SERVERPASSWORD>
      - SteamServerName=<SERVERNAME>
      - UsePerfThreads=true
      - NoAsyncLoadingThread=true
      - WorldSaveName=<SAVENAME>
      - AutoUpdate=true
    ports:
      - "7777:7777/udp"
      - "27015:27015/udp"

8. After making these changes to the Compose file, save and quit by pressing CTRL + X, Y, and then ENTER.

Starting your Abiotic Factor Dedicated Server on your Linux System

9. With the Compose file written, all you need to do to start up the Abiotic Factor Dedicated server on your Linux system is run the below command. This server will take a few minutes to start as it will need to download all the server files.

By using the “-d” option, Docker will detach from the currently running terminal session.

docker compose up -d

10. You should now have your Abiotic Factor server running on your Linux machine.

If you want access to your server from outside your network, you must port forward ports 7777 and 27105.

Updating the Abiotic Factor Server

11. The Docker container we are using to run the Abiotic Factor dedicated server makes updating a breeze.

Since we set the “AutoUpdate” variable to “true” within the Compose file, the server will automatically update itself whenever the container starts.

To restart the container, change to the directory where we wrote the Compose file earlier.

cd /opt/stacks/abioticfactor

12. Once you are in the correct location, you can restart the container by using the following command.

The game server should self-update when it starts again.

docker compose restart

Updating your Abiotic Factor Dedicated Server Docker Container

In this section, we will be showing you how to update the container your Abiotic Factor Dedicated server is running within.

This container shouldn’t need updating too often, but luckily, the update process is relatively simple. You can check if an update is available by going to the GitHub page for the container that we are using.

1. Your first step is to change to the directory where we wrote the Compose file earlier in this guide.

Changing to the correct directory is as simple as using the following command.

cd /opt/stacks/abioticfactor

2. Once you are in the correct location, you can get Docker to download the latest version of the Abiotic Factor Docker container by using the command below.

docker compose pull

3. Finally, to update your currently running server to the new version of the Docker container, use the following command.

docker compose up -d

Conclusion

Hopefully, you will have successfully got the Abiotic Factor Dedicated Server up and running on your Linux system.

To make running this server significantly simpler, we have used a Docker container. This container saves you the hassle of setting up other software, such as Wine.

Please feel free to leave a comment below if you have issues getting this game server to work.

If you liked our guide, we highly recommend you check out our many other game server tutorials to see what else you can host.

Leave a Reply

Your email address will not be published. Required fields are marked *

5 Comments

  1. Avatar for Ryan
    Ryan on

    I have a server going through a windows server on my homelab and i wanted to spin up one on a docker install via your tutorial.

    I wanted to install this with incremental ports i.e. 7778 and 27016 but should I be changing the ENV, host and container ports to reflect this?

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Ryan,

      You should only need to re-adjust the ports on the host side of the container (These are the ports on the left side).

      For example, the following:

         ports:
            - "7777:7777/udp"
            - "27015:27015/udp"

      Would become what we have shown below.

      
         ports:
            - "7778:7777/udp"
            - "27016:27015/udp"
      

      I haven’t tried this myself so I am unsure how the Abiotic Factor interface will handle this but you should still be able to find the server through the Steam server browser.

  2. Avatar for thatscientist
    thatscientist on

    Thanks for this. I ran through it exactly as written, added the ports to the settings for the VPS in ionos (Ubuntu linux without ufu installed, so no internal barriers)… still nothing showing up in the server list. Why on earth they didn’t implement a join by IP option is completely beyond me.

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi thatscientist,

      Sorry to hear that you are having issues. It is definitely one of the more frustrating things with multiplayer games recently. Will try and take time to look into why it isn’t appearing but from a quick glance everything should be set up as expected.

      A work around for the game not appearing within the server list is to use the Steam game server browser (View -> Games Servers -> Favourites -> + Symbol at the bottom then add your server that way).

      Kind regards,
      Emmet

  3. Avatar for Phil
    Phil on

    Thank you so much for this nice tutorial! 🙂