In this tutorial, we will show you how to set up a dedicated server for Palworld on Ubuntu.
Palworld is a multiplayer action-adventure survival game focused on monster catching and crafting.
One of the neat things about this game is that you can host your very own dedicated Palworld server. Running a dedicated server means you can keep your world running 24/7 and free up room on your personal computer.
You don’t need to own the game or use your Steam account to run a server; the developers offer the dedicated server as a separate Steam application that you can install anonymously.
Over the following steps, you will learn how to install the Palworld dedicated server to your Ubuntu or Linux machine. We will even show you how to set up a systemd service file so your server will keep running, even after your machine restarts.
Setting up the Palworld dedicated server isn’t a complicated process, so if you aren’t too familiar with Linux or using the terminal, then don’t worry, as we will walk you through all of the steps to
One thing to warn you is that at the time of publishing, only the Steam versions of Palworld support connecting to the dedicated server.
If you are using a Raspberry Pi, you will need to follow our Pi specific guide.
Installing and Setting up the Palworld Server on Ubuntu
The following steps will walk you through setting up a Palworld dedicated server on Ubuntu.
If you are using a desktop flavor of Ubuntu, you will need to open the terminal. You can open the terminal easily by pressing CTRL + ALT + T on your keyboard.
While this guide focuses on setting up a Palworld server on Ubuntu, these should work on almost any Linux system. If you are running a Debian-like operating system, you should be able to follow the steps without worry.
Preparing your Ubuntu Server for Palworld
1. We must do a few things before we can install the Palworld server on our Ubuntu machine.
The first is to ensure we have an up-to-date operating system to work off. You can update the package list cache and upgrade any out-of-date packages by using the following command.
sudo apt update
sudo apt upgrade -y
2. Next, we must ensure that the “
software-properties-common” package is installed on your system.
This package makes performing changes to repositories a straightforward process.
sudo apt install software-properties-common
3. To download and install the Palworld server on our Linux system, we must use SteamCMD.
SteamCMD is a command line interface we can use to download games and servers straight from Steam.
Before installing this tool, we need to add the “
i386” (32-bit) architecture to our systems package manager by using the following command. The reason for this is that SteamCMD is only offered as a 32-bit application.
sudo dpkg --add-architecture i386
4. With the 32-bit architecture added, our next step is to add the multiverse repository on Ubuntu. Please note that if you use a different flavor of Debian, try the other command.
This is as simple as using the following command within the terminal.
sudo add-apt-repository multiverse
If you are using a Debian-based OS that isn’t Ubuntu, you will want to add the “non-free” repository.
sudo apt-add-repository non-free
5. Since we have changed the available repositories on our Ubuntu system, we will need to update the package list again.
You can update the package list cache by using the following command.
sudo apt update
6. Finally, we can install the SteamCMD tool to our system using the command below.
sudo apt install steamcmd
Creating a User to Run the Palworld Server on Ubuntu
7. With SteamCMD now installed, we must create a user to run the Steam CLI through. It is not recommended to use a root user to run this software.
Let us create a user called “
steam” by utilizing the following command.
sudo useradd -m steam
8. After creating the user, we need to modify its “
.bashrc” file to adjust the path environment variable.
At the moment, the user will be unable to find the SteamCMD tool we just installed as the “
/usr/games” path is missing.
You can begin modifying this file by using the command below.
sudo nano /home/steam/.bashrc
9. To the bottom of this file, add the following line.
This simple line adds the “
/usr/games/” directory to the start of the “
PATH” environment variable.
10. After making the above changes, save and quit by pressing CTRL + X, Y, and then ENTER.
11. To begin installing the Palworld dedicated server to our Ubuntu device, we will want to change to the “
Steam” user we created earlier.
You can swap to this user by running the following command.
sudo -u steam -s
12. Now change to the home directory of this user by using the cd command below.
Installing the Palworld Server to your Ubuntu System
13. Before we can install and use the Palworld dedicated server we have to do some initial set up.
By running the following command, we will be downloading the Steamworks SDK redistributable. We need a specific file from this to run the server.
steamcmd +force_install_dir '/home/steam/Steam/steamapps/common/steamworks' +login anonymous +app_update 1007 +quit
14. Next, we must create a directory where the Palworld server will look for the “
Create this directory by using the mkdir command.
mkdir -p /home/steam/.steam/sdk64
15. With the directory created, we can copy over the “
steamclient.so” library the server requires to run.
cp '/home/steam/Steam/steamapps/common/steamworks/linux64/steamclient.so' /home/steam/.steam/sdk64/
16. We can now use the following command to download the Palworld dedicated server to our Linux machine.
The server is fairly large, so this process may take a few minutes to complete.
steamcmd +force_install_dir '/home/steam/Steam/steamapps/common/PalServer' +login anonymous +app_update 2394010 validate +quit
Starting up your Palworld Dedicated Server on Ubuntu
17. We are finally at the point where we can start up the Palworld server on Ubuntu.
To begin this process, change to the directory where the start script is by typing in the command below.
18. Finally, you can start your server using the following command.
You will see a couple of errors as it first starts up, but you can ignore these issues unless they continue to appear after the initial startup.
Once you see the following text, you server should be up and running.
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.
19. You can now access your Palworld server by connecting using your IP address.
If you are hosting this from your home, you must port forward port
8211 to allow outside access.
To stop the server, you simply need to press CTRL + C.
Configuring your Palworld Dedicated Server
20. After starting up your Palworld dedicated server, you will likely want to re-adjust the default settings.
To give you a good base, let us make a copy of the default settings using the command below.
cp /home/steam/Steam/steamapps/common/PalServer/DefaultPalWorldSettings.ini /home/steam/Steam/steamapps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
21. You can now begin modifying the configuration file by using the nano text editor.
22. Within this file, you will find an assortment of different values that you can configure. We won’t be diving into all of these, but you can check out the official documentation to learn more.
One option you will likely want to change is the server password. Setting a password stops just anyone from hopping on your Palworld server.
To set the password, find the following setting within the file.
Once you find the option, type in a password between the double quotes (
23. Once you have made changes to the configuration file, save and quit by pressing CTRL + X, Y and ENTER.
Getting your Palworld Server to Start at Boot
24. If you are still using the Steam user from earlier, you will want to return to your normal user using the following command.
25. We can begin writing a service file for our Palworld server by typing in the command below.
This service file will tell Ubuntu how it should start the server.
sudo nano /etc/systemd/system/palworld.service
25. Within this file, type in the following lines.
These lines will automatically start your Palworld server when your Ubuntu device powers on. Additionally, before it starts, the service will use SteamCMD to check for updates.
Additionally, we pass in some additional options that are recommended by the developer when we launch the server itself.
-useperfthreads: This is an Unreal Engine option that tells the engine to use threads to try to improve performance.
-NoAsyncLoadingThread: Using this, we tell the server not to use user a separate thread for asynchronous loading. This is set to reduce the number of running threads and improve the performance of the server.
-UseMultithreadForDS: The final option is a simple one that tells the engine to use multithreaded for the dedicated server.
ExecStartPre=/usr/games/steamcmd +force_install_dir '/home/steam/Steam/steamapps/common/PalServer' +login anonymous +app_update 2394010 +quit
ExecStart=/home/steam/Steam/steamapps/common/PalServer/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS > /dev/null
26. Once you have finished writing the service, save and quit by pressing CTRL + X, followed by Y, and then ENTER.
27. With the service now written, we must enable it using the command below.
Enabling the service allows the system manager to start your Palworld server automatically when your operating system starts.
sudo systemctl enable palworld
28. If you want the server to start immediately, all you need to do is use the command below. This command tells the system manager to start our Palworld server immediately.
sudo systemctl start palworld
29. To stop the Palworld server from running, you must run the command below.
sudo systemctl stop palworld
30. You can also stop the server from running at startup by turning off the Palworld service we created.
sudo systemctl disable palworld
Connecting to your Palworld Dedicated Server
Now that your Palworld dedicated server is up and running, you will probably want to know how to connect to it.
Connecting to your server is a super straightforward process for the most part. All you will need to know is the IP address of your machine. If you are connecting locally, you can get this using the hostname command on your server, or if you are connecting externally, you will need to know your IP address.
1. With Palworld open, you will want to select the “
Join Multiplayer Game” option.
2. At the bottom of the screen, you will see a checkbox, textbox and a button.
If you are using a password to protect your Palworld server, you will want to check the “
Enter password” checkbox (1.).
Using the textbox, you will want to type in your IP address followed by the port “
After setting your IP address and port, you can click the “
Connect” button (3.) to join your server.
At this stage, you will hopefully have a Palworld Dedicated server running on your device.
Running the dedicated server allows you to have a server that runs 24/7 without needing to own the game or run it on your gaming computer. It also allows Palworld to support significantly more players.
Please feel free to leave a comment below if you have run into any issues with getting your Palworld server to start up.
If you found this tutorial to be helpful, we recommend checking out our many other Ubuntu tutorials.