Skip to content

Installing the Palworld Dedicated Server

Tobias Svenblad edited this page Mar 17, 2024 · 4 revisions

Introduction

To run the Palworld Dedicated Server on our Linux machine, we first have to download the SteamCMD (Steam Console Client), a command-line version of the Steam Client. It's an essential tool for installing and updating various game servers and applications available on the Steam platform, including the dedicated server for Palworld. Unlike the graphical Steam client, SteamCMD is designed to run in a server environment without a graphical interface. It is ideal for server administrators and users who prefer command-line interfaces. This guide will walk you through installing SteamCMD and Palworld Dedicated Server on a Linux system.

Prerequisites

Before you begin the installation process, ensure your Linux system meets the following requirements:

  1. Operating System: A Linux distribution that uses systemd, such as Ubuntu, CentOS, Fedora, or Arch Linux.
  2. Internet Connection: An active internet connection for downloading SteamCMD and game server files.
  3. Access Rights: Superuser (root) access to the system or the ability to use sudo for installing packages and making system changes.

Installation of SteamCMD

Before proceeding, ensure your system is up to date. This helps in maintaining security and performance.

sudo apt update; sudo apt upgrade

Add Repositories

To install SteamCMD, the multiverse repository, and x86 packages must be enabled. To install them, run the following command:

sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update

And lastly, install steamcmd:

sudo apt-get install steamcmd

Create a Dedicated steam User

Next, ensure you have a dedicated user service account that will run the SteamCMD command.

Warning

Do not run steamcmd as the root user. Doing so is a security risk.

If you need to create a new user, execute the following command to create a user named steam and choose a good and hard-to-guess password.

sudo useradd -m steam
sudo passwd steam 

Important

Creating a dedicated user for running game servers enhances security and isolation from the system's core functions.

Next, let us substitute the user steam and prepare the server by downloading the Steam SDK, which is required for the Palworld Server to work properly.

sudo -u steam -s
cd /home/steam
mkdir -p ~/.steam/sdk64/
/usr/games/steamcmd +login anonymous +app_update 1007 +quit
cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/

Running SteamCMD

As the steam user, run the command below. This will run and update SteamCMD to the latest version, download Palworld Dedicated Server, and validate its integrity to ensure you have all the necessary game files.

/usr/games/steamcmd +force_install_dir /home/steam/palworld_server +login anonymous +app_update 2394010 validate +quit

Tip

Always use the validate flag to ensure the integrity of game files to ensure a stable and reliable server.

Once done, you are ready to run the server!

/home/steam/palworld_server/PalServer.sh

Next Steps

Once the server is up and running, consider the benefits of creating a systemd service daemon to ensure the server is started automatically after each reboot.

Do not forget to configure the Linux firewall before attempting to join.

Troubleshooting

If you encounter this issue when attempting to run steamcmd:

steam@Palworld-Server-VM:~$ steamcmd
Command 'steamcmd' is available in '/usr/games/steamcmd'
The command could not be located because '/usr/games' is not included in the PATH environment variable.
steamcmd: command not found

To solve it, either enter the full absolute path to steamcmd, i.e. /usr/games/steamcmd, or export it to your $PATH variable.

Additional Notes

This guide is based on Satisfactory and SteamCMD versions available as of 29/11/2023. Future updates might require adjustments to this setup. Feedback and contributions to this guide are welcome. If you find any discrepancies or have suggestions for improvement, please reach out or contribute to the documentation.

References

https://developer.valvesoftware.com/wiki/SteamCMD