Setting up an Enshrouded Dedicated Server on Ubuntu

In this tutorial, we will show you how to set up an Enshrouded dedicated server on the Ubuntu operating system.

Ubuntu Enshrouded Server

Enshrouded is a survival game featuring action RPG combat and crafting. It has a vast voxel-based world that you can craft to your desires. This game also has support for up to 16 players and dedicated servers.

Setting up a dedicated server for Enshrouded allows you to have a server that runs 24/7 without it having to run on your main computer.

You don’t even need to own Enshrouded to be able to host your own server. The dedicated server is distributed as its own application that we can download and install anonymously. This saves you either having to buy the game or logging in to your account to run it.

This tutorial will walk you through the various steps of installing and running the Enshrouded dedicated server on Ubuntu. This includes writing a service file to keep the server running and setting up Wine.

While at the time of publishing, Enshrouded doesn’t have a native Linux server, we can use Wine to get it running with little to no issue.

While these steps are written for Ubuntu, they should also work if you wanted to set up an Enshrouded server on other Linux distributions such as Debian.

Installing the Enshrouded Dedicated Server to Ubuntu

The following sections will show you how to install and set up a dedicated Enshrouded server on Ubuntu.

As this server does not have a native Linux binary, we will rely heavily on Wine to get this server to work. Luckily, installing the latest versions of Wine is a straightforward process.

Please note that the Enshrouded dedicated server uses ports 15636 and 15637 by default. You must port forward both ports to allow outside access to your server. Additionally, if you are using a firewall such as UFW you will need to allow these ports.

Preparing your Ubuntu system to run the Enshrouded Server

1. Your first step will be to ensure your operating system is up to date by using the following two commands.

The first command will update the package list cache. The second will upgrade any out-of-date packages.

sudo apt update
sudo apt upgrade -y

2. Next, we will install some packages that we will require when setting up the Enshrouded server on Ubuntu.

These packages are typically pre-installed on Ubuntu, but running this command won’t hurt.

sudo apt install software-properties-common lsb-release wget

Installing the Latest version of Wine

3. To run the Enshrouded dedicated server we will need to use the latest version of Wine. The version distributed in the Ubuntu repository is typically quite out of date.

To add the official Wine repository, we must ensure that the “/etc/apt/keyrings/” directory exists.

sudo mkdir -pm755 /etc/apt/keyrings

4. With the directory created, our next step will be to download and store the Wine GPG key within the “/etc/apt/keyrings” directory. A GPG key is used to verify the authenticity of the packages.

You can download and store this key by using the following command.

sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key

5. Now that the GPG key is saved to our Ubuntu system, our next step is to save the sources list for WineHQ. By using the “lsb_release” command, we can insert the operating system ID and codename.

We can grab an already written source file for our Ubuntu distribution using the following command.

sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/dists/$(lsb_release -cs)/winehq-$(lsb_release -cs).sources

By using the “-NP” option, we can tell wget to save the sources file to our specified directory.

6. Since Wine and SteamCMD both have parts that are only available as “32-bit“, we must add “i386” to our available architectures.

You can add a new architecture by using the following command.

sudo dpkg --add-architecture i386

7. Since we have made changes to the available repositories, we must run an update of the package list cache.

Updating the package list cache is as easy as using the command below.

sudo apt update

8. We are finally at the point where we can download the latest version of Wine to our Ubuntu device by using the following command.

Using the “--install-recommends” option, we will install all recommended Wine packages including Wine64.

sudo apt install --install-recommends winehq-staging

9. We need a few extra packages for Wine to work with the Enshrouded dedicated server on Ubuntu.

You can install these packages by using the following command.

sudo apt install cabextract winbind screen xvfb

Setting up SteamCMD

10. Next, we must add the multiverse repository to our Ubuntu device. This is because SteamCMD is a closed-source tool that is not included in the standard repositories.

Adding this repository is as simple as using the following command.

sudo add-apt-repository multiverse

If you are using a non-Ubuntu operating system such as Debian, you will instead want to use the command below.

sudo apt-add-repository non-free

11. Since we have changed the repositories, we will need to run an update again by running the following command.

sudo apt update

12. Finally, to install the SteamCMD tool, you only need to use the command below.

We will use this tool shortly to install the Enshrouded dedicated server to Ubuntu.

sudo apt install steamcmd

Creating a User to Run the Server on Ubuntu

13. As the SteamCMD tool is not meant to be run by the root user, we must create one. As a bonus, it makes setting up a service easier.

Use the following command to create a user called “enshrouded” on your system.

sudo useradd -m enshrouded

By using the “-m” option, we are telling the useradd command to create the home directory for our new user.

14. With the user created, we will want to use the sudo command to change to that user.

Using the “enshrouded” user will ensure we don’t mess up permissions while setting up the Enshrouded dedicated server.

sudo -u enshrouded -s

15. After changing to the “enshrouded” user we just created, you will want to change to its home directory using the cd command.

cd ~

Installing the Enshrouded Dedicated Server on Ubuntu

16. We are finally at the point where we can download the Enshrouded dedicated server to our Ubuntu device.

All we need to do to get SteamCMD to download the server is to use the following command.

/usr/games/steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /home/enshrouded/enshroudedserver +login anonymous +app_update 2278520 +quit

You will notice here that we have to force the platform type to “windows“. The reason for this is that at the time of publishing, Enshrouded did not have a build for a Linux-based system like Ubuntu.

Starting the Enshrouded Server

17. We can start the Enshrouded server on our Ubuntu device using the command below. You will notice that we must use “wine64” at the start to ensure we launch the server using Wine.

wine64 ~/enshroudedserver/enshrouded_server.exe

Once your server has started, the following two lines should appear within the terminal. While you can connect to the server now, you will likely want to adjust the configuration file.

[Session] 'HostOnline' (up)!
[Session] finished transition from 'Lobby' to 'Host_Online' (current='Host_Online')!

You can stop the server at any time by pressing CTRL + C on your keyboard.

Configuring the Enshrouded Dedicated Server on Ubuntu

18. After running the Enshrouded Dedicated Server on Ubuntu, it will automatically create a configuration file.

You can edit this configuration file to control the number of players and set a password for the server.

To begin editing this configuration file, use the following command.

nano ~/enshroudedserver/enshrouded_server.json

19. Within this file, you will find a few different options. We will focus on three in particular.

a. The first of these options allows you to choose a name for your server. This is useful for making your Ubuntu Enshrouded Dedicated server easier to find within the browser.

        "name": "Enshrouded Server",

For example, if we wanted our server to have the name “PiMyLifeUp Enshrouded Server“, we would change this line to look like the following.

        "name": "PiMyLifeUp Enshrouded Server",

b. The password option is the other option you will likely be interested in within this file. Setting a password helps stop just anyone from connecting to your server.

By default, the password option is empty (""), meaning anyone can connect without issue.

        "password": "",

If we wanted to lock our Enshrouded server behind the password “pimylifeup“. Adjust the line to look like the following.

        "password": "pimylifeup",

c. The final option we are looking at is the “slotCount” option. Using this option, you can limit the number of players that can join your Enshrouded server. This value has a maximum of 16.

As a general rule of thumb, the Enshrouded server will consume 4GB of RAM without any users, then up to 6GB if you are using all 16 slots. It’s about 100MB of RAM required per connected player.

        "slotCount": 16

For example, to limit the number of players to 8, you would adjust this line to the following.

        "slotCount": 8

20. After adjusting the configuration file, you can save and quit by pressing CTRL + X, Y, and then ENTER.

Setting up a Service for the Enshrouded Server on Ubuntu

21. If you are trying to self-host your Enshrouded server on Ubuntu, you will likely want to set up a service.

A service file helps ensure that your server restarts if it crashes and also means it will automatically start when your server powers on.

sudo nano /etc/systemd/system/enshrouded.service

22. Within this file, you will want to type out the following lines. These lines set up how we want the system manager to start and manage the Enshrouded server.

[Unit]
Description=Enshrouded Server
Wants=network-online.target
After=network-online.target

[Service]
User=enshrouded
Group=enshrouded
WorkingDirectory=/home/enshrouded/
ExecStartPre=/usr/games/steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /home/enshrouded/enshroudedserver +login anonymous +app_update 2278520 +quit
ExecStart=/usr/bin/wine64 /home/enshrouded/enshroudedserver/enshrouded_server.exe
Restart=always

[Install]
WantedBy=multi-user.target

23. After typing the above lines, you can save and quit by pressing CTRL + X, Y, and then ENTER.

24. With the service file now written you will likely want to enable it. Enabling the Enshrouded service will ensure the server starts when your Ubuntu device powers on.

All you need to do to enable the service is run the below command.

sudo systemctl enable enshrouded

25. Enabling the service won’t automatically start the Enshrouded server. If you want the server to start immediately, use the command below.

sudo systemctl start enshrouded

26. If, for some reason, you don’t want the server to start automatically, you can disable the service by typing in the following command.

sudo systemctl disable enshrouded

27. You can also stop your Enshrouded server by running the following command.

sudo systemctl stop enshrouded

Connecting to your Ubuntu Enshrouded Dedicated Server

The following section will show you how to add and connect to your Ubuntu Enshrouded Dedicated server.

At the time of publishing, Enshrouded is missing the ability to specify an IP to connect to. To work around this, we can add the server as a favorite.

Adding your Server to Favorites

1. With the Steam client open on your computer, click the “View” option (1.) in the top toolbar.

A drop-down menu should appear. Select the “Game Servers” option (2.) within this list.

Open Steam Game Servers Panel

2. With the “Game Servers” dialog now open, change to the “Favorites” tab (1.).

After swapping tabs, click the select box in the top-right corner (2.). You will see a list of all the games that you own. Scroll down till you see “Enshrouded” (3.) and click it.

Select Enshrouded Within Favorites Screen

3. Now that we are within the favorites list for Enshrouded, click the plus (+) symbol down near the bottom of the dialog box.

Begin adding new favorite server

4. A box should appear asking you to add your server’s IP address.

Type in the IP address to the machine where you are hosting your dedicated Enshrouded server followed by the port “:15637” (1.). For example, we are connecting locally, so we used the local IP address “192.168.0.73:15637“.

After filling in the details for your Ubuntu Enshrouded server, click the “OK” button (2.).

Add your Ubuntu Enshrouded Server to your Steam

5. Within the game servers list, you should now see your server. If that is the case, you can now happily launch Enshrouded.

Ubuntu Enshrouded Dedicated Server added to your list

Connecting to your Enshrouded Server

6. Now that you have Enshrouded open, click the option labeled “PLAY“.

Open play menu in Enshrouded

7. You will see three options, click the one on the right labeled “JOIN“.

Select Join game option

8. If you followed our steps previously, you should now see your server at the top of the list.

You can connect to the server by clicking it or the “Join” button.

Connect to the self-hosted Ubuntu Enshrouded server

9. You should now be connected to your Ubuntu Enshrouded server.

Successfully connected to the server

Conclusion

Hopefully, at this stage, you will now have the Enshrouded dedicated server running on the Ubuntu operating system.

Running this server allows you to host a server for you and your friends without keeping the game running.

Please feel free to leave a comment below if you need any help with getting the Enshrouded server to run.

If you found this tutorial to be helpful, we recommend checking out our many other Ubuntu guides.

27 Comments

  1. Avatar for Mike
    Mike on

    Thanks for the tutorial!
    I’m installing now, and noticed a potential mistake:
    sudo apt update
    sudo apt update -y
    The second command shouldn’t be: sudo apt upgrade -y ?

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Mike,

      Thank you very much for pointing that out. I have updated the mistyped command.

      Kind regards,
      Emmet

  2. Avatar for Justin Drentlaw
    Justin Drentlaw on

    Hi there,
    I just tried to do this tutorial on a fresh installation of the latest version of Ubuntu 22 LTS. Everything seems to go well, I get to the 17th step just fine and I get the output of the two lines that you mention that signifies that the server is running. However, I can not see my server in the list anywhere. I have tried this on two fresh installs of Ubuntu but I can not figure out where I am going wrong. Here is the output on the command line:

    002c:fixme:winediag:loader_init wine-staging 9.1 is a testing version containing experimental patches.
    002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
    Authorization required, but no authorization protocol specified
    0078:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
    0078:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
    [[SNIPPED BY PIMYLIFEUP ADMIN]]
    [Session] 'HostOnline' (up)!
    [Session] finished transition from 'Lobby' to 'Host_Online' (current='Host_Onlin
    e')!

    Thanks for any help you can provide.
    Justin

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Justin,

      Sorry to hear that you are having issues with accessing your Enshrouded server.

      I guess my first question is can you connect to server using the “Favourites” workaround that we covered within this guide?

      If it is inaccessible, have you allowed ports 15636 and 15637 through your firewall? If you are using UFW then this would be like using the following command

      sudo ufw allow 15636
      sudo ufw allow 15637

      Kind regards,
      Emmet

    2. Avatar for Richard
      Richard on

      Hi, you have to do the step “Adding your Server to Favorites” in your client steam program, because there is no way to connect vis direct ip.

      Open Steam > top bar view > Gameserver >…

  3. Avatar for Michael
    Michael on

    Hi,

    First of all thank you for this very detailed guide.
    Before I will install it, it would be interesting which options are available in the configs file besides of those you mentioned.
    For me for example it would be interesting if the connection ports can be changed or if some gameplay settings can be changed, for example the XP rate, harvest rate and so on.
    Maybe you could post the default configs file with all settings that can be changed?
    Would be great! 🙂

    Best regards
    Michael

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Michael,

      The Enshrouded dedicated server unfortunately doesn’t allow a huge amount of extra configuration. At the time of publishing you are stuck with the default XP rate etc that the developers have set.

      The connection ports can be changed by adjusting the “gamePort” and “queryPort” options.

      Kind regards,
      Emmet

  4. Avatar for Steto
    Steto on

    I ran into an error at Step 8.
    The following packages have unmet dependencies:

    To resolve this issue, i had to set the repositories to universe.
    sudo add-apt-repository universe

  5. Avatar for Flaff
    Flaff on

    What command would you use to update it in this folder?

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Flaff,

      If you are using the service file, then you simply need to restart the service to update the Enshrouded server.

      You can restart the service by using the following command. The server will be updated when the service starts.

      sudo systemctl restart enshrouded

      Alternatively, if you aren’t using the service, you first need to stop the running server.

      You will then want to change to the enshrouded user.

      sudo -u enshrouded -s

      Then update the server itself by using the following command.

      /usr/games/steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /home/enshrouded/enshroudedserver +login anonymous +app_update 2278520 +quit

      Kind regards,
      Emmet

  6. Avatar for Ennix
    Ennix on

    Hi. As said before: server script is running fine.
    But: it is an ubuntu root server, hosted by IONOS (Frankfurt). Not a local machine at home.
    I can’t connect from outer. You said “port forwarding”. any hints on this? I turned off firewall (ufw disable). But i don’t know how to handle the ports (iptables?).

    thx!

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Ennix,

      If you are using a hosted server you shouldn’t need to perform any port forwarding. Typically the host will already route all traffic straight to your server.

      Additionally turning off the firewall is typically never a good idea. You should have instead allowed port 15636 and 15636 by using the following command.

      sudo ufw allow 15636
      sudo ufw allow 15637

      If the firewall is disabled and you have the server up and running it should be accessible through your servers public IP address. If you still can’t access your server you may need to contact your provider.

      Kind regards,
      Emmet

  7. Avatar for WindyTales
    WindyTales on

    This guide is awesome. Build a resource server on GCP ,it’s fast and stable 🙂

    But … May I ask how to update the server version ?

  8. Avatar for Atom
    Atom on

    Enshrouded dedicated server files download needs at least 30GB of free disk space otherwise step 16
    “`/usr/games/steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /home/enshrouded/enshroudedserver +login anonymous +app_update 2278520 +quit“`
    will fail

  9. Avatar for Olgie Wan
    Olgie Wan on

    Do you have a tutorial for setting up an Enshrouded Server on the Raspberry Pi 5?

    I tried loading Ubuntu Server on the Pi but could not get the Enshrouded Server to work. I re-imaged the Pi with the “Pi OS 64bit” and got all the way to the Enshrouded server showing up in the Seam server list and in the server list in the game on my internal windows PC, but could not join a game; it just fell back to the server list after entering the password.

    The terminal on the Pi is full of:
    “err:sync:RtlpWaitForCriticalSection section 000000006527042A (null) wait timed out in thread 0024, blocked by 0000, retrying (60 sec)” messages if that matters/helps.

    Thanks for a well written guide. I wish more *nix guides were as detailed. 🙂

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Oglie,

      Unfortunately, I don’t currently have a guide written for the Raspberry Pi, I will need to test it as it requires you to run box64 and then you will need to use WineHQ on top of that so it may completely tank performance of the server.

      Will put it down on my list of things to try but may be a couple of weeks before I get to it.

      Kind regards,
      Emmet

  10. Avatar for Joerg
    Joerg on

    Hi,

    awesome manual, two addition for my installation on debian bookworm:

    a)
    step 9: “sudo dpkg –add-architecture i386”
    should be executed before
    step 7: “sudo apt install –install-recommends winehq-staging”
    because otherwise the I got some weired package errors (I needed to reinstall some packages manually, execute the step, and then I could install smoothly.

    b) I needed to prefix the start with xvfb-run, so
    xvfb-run wine64 ~/enshroudedserver/enshrouded_server.exe

    Thx a lot.

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi JOerg,

      Thank you for those additions. I will update the tutorial with them.

      Kind regards,
      Emmet

  11. Avatar for ennix
    ennix on

    Hi. Server is running fine. But i cant connect from outer. You said “port forwarding”. any hints on this? thank you very much.

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Ennix,

      Port forwarding is something that is typically supported by your router. Since it can be super specific you will need to look up your particular router ot see how you can port forward.

      Basically, this allows traffic from a particular port through the router to the local IP address you specify.

      I can try and explain further if you need.

      Kind regards,
      Emmet

  12. Avatar for Lukas
    Lukas on

    Thank you very much! Worked like a charm on an old Dell optiplex 9010 with Ubuntu. I am thinking about switching my OS to a non Desktop version.

    I don’t want to loose my server world. Is it possible to copy paste the server files to another os and start the server?

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Lukas,

      I’m fairly certain the world data is stored within the same directory so you should be able to copy everything and move it to another device.

      Kind regards,
      Emmet

    2. Avatar for Illydth
      Illydth on

      Yes. All the server files and save files should be in the /home/enshrouded directory, you should be able to simply SFTP or otherwise transfer them to a new server / disk and be on your way.

  13. Avatar for Rainer
    Rainer on

    Hello, I have done everything up to point 16 and it worked fine, but from point 17 it stops, it tries to start and ends with System Information Can you please help me?
    My system is currently Debian 11.8 (64-bit).
    I use KeyHelp as administration help.
    WinSCP Putty is all available.
    With kind regards

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Rainer,

      Sorry to see that you are having issues, is there any particular errors that appear when attempting to start the server?

      Kind regards,
      Emmet

  14. Avatar for Marijn
    Marijn on

    Hello,
    What would the hardware requirements be for this server? Thinking about buying a small PC or build one to use as a server with low thought to low energy consumption.

    Kind regards,
    Marijn

    1. Avatar for Emmet
      Emmet on
      Editor

      Hi Marjin,

      There aren’t exact hardware requirements provided by the Enshrouded dev team outside of the memory usage. If you have 8GB of RAM it should be enough to run the Enshrouded server with a bit of leg room. The server itself is only meant to consume a maximum of 6GB when you have all 16 players connected.

      CPU wise you should be able to get away with a modern quad core CPU.

      Kind regards,
      Emmet

Leave a Reply

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