How to Set Up a Dedicated Palworld Server

This tutorial explains how to host a Palworld multiplayer game on a server using Ubuntu or Debian. It will guide you through the process of setting up your server to ensure the game continues to run even after you disconnect and how to customize the server port.

Playing Palworld:

Palworld is played on your local device using the desktop version. When you launch Palworld, you can join a multiplayer game either via an invitation code (In-Game Palworld Server) or through a public IP address (Dedicated Palworld Server). This guide focuses on setting up a Dedicated Palworld Server.

Feature In-Game Palworld Server Dedicated Palworld Server
Sharing Method Invitation Code Public IP Address
Player Limit Up to 4 players Up to 32 players
Server Availability Host must be online Server runs 24/7
World Creation Created in-game by host Hosted on a separate machine

Prerequisites

  • A local device: To connect to the game.
  • A server with Ubuntu/Debian: To host the game.
    • Root user access or a user with sudo privileges.
    • Basic server setup, including a firewall, should be configured before starting. For more information, see: Initial Server Setup with Ubuntu. Consider also: Game Server DDoS Protection (optional).
    • steamcmd must be installed (see “SteamCMD Installation”).
    • Sufficient RAM (minimum 8 GB). More RAM is needed for more mods and players.

Example Conventions

  • 203.0.113.1: Public IP of your server.
  • palserver: Example username on the server.

Step 1 – Preparing the Server

Before installing Palworld, ensure your server is properly prepared. This includes basic security measures and having SteamCMD installed as mentioned in the prerequisites. Refer to the prerequisite tutorials for detailed instructions on these steps.

Step 2 – Installing Palworld

Now that your server is ready, you can proceed with installing Palworld. Ensure you have SteamCMD installed as stated in the prerequisites.

Name Steam ID Anonymous Login
Palworld Dedicated Server 2394010 Yes

To install the Palworld server files:

  • Create a new directory for the Palworld files, set permissions, and navigate into it:

      mkdir PalworldServer && chown palserver:palserver PalworldServer && cd PalworldServer
  • Download the Palworld server files using SteamCMD:

      steamcmd +login anonymous +force_install_dir ~/PalworldServer +app_update 2394010 validate +quit

    You can verify the installation by listing the files in the ~/PalworldServer directory using ls -al.

  • Add the steamclient.so file for 64-bit architecture: During Palworld installation, a 32-bit steamclient.so file is downloaded. A 64-bit version is required to run the server. Create the necessary directory and copy the 64-bit file:

      mkdir -p ~/.steam/sdk64 && cp ~/PalworldServer/linux64/steamclient.so ~/.steam/sdk64

Step 3 – Customizing Settings and Port

By default, Palworld uses port 8211. A full list of default settings can be found in ~/PalworldServer/DefaultPalWorldSettings.ini. To use custom values, you need to add the desired options to this file:

~/PalworldServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

If you want to customize all default values, you can copy the entire content of DefaultPalWorldSettings.ini into PalWorldSettings.ini and modify them. In the example below, we will only change the server name, port, and add a password. Currently (early 2024), dedicated Palworld servers are experiencing memory leak issues. Disabling “Raids” and “Login Penalties” is a potential workaround. Therefore, these are also disabled in the example.

  • Edit the PalWorldSettings file:

      mkdir -p ~/PalworldServer/Pal/Saved/Config/LinuxServer && nano ~/PalworldServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
  • Add password, change port and name, disable Raids and Login Penalties:

      [/Script/Pal.PalGameWorldSettings]
      OptionSettings=(ServerName="Test Palworld Server",ServerPassword="YourPassword",PublicPort=8212,bEnableInvaderEnemy=False,bEnableNonLoginPenalty=False)

    Replace YourPassword with a strong password.

    Use CTRL+X to save the file, Y to confirm, and ENTER to close the editor.

    More information about the different configuration options can be found in this documentation.

Step 4 – Starting the Palworld Server

Now you can start your Palworld server. By default, the server will terminate when you close your connection to the server. To keep the server running even after you disconnect, you can use the screen tool. Screen allows you to start a virtual terminal session within an external terminal session.

When you close the external terminal session, the virtual terminal session (screen session) continues to run. The next time you connect to the server, the screen session is still available.

Installing Screen
If “screen” is not installed, you can install it now using:

sudo apt update && sudo apt install screen -y

To start a Palworld game in a screen session on your server:

  • Start the screen session:

      screen -S palworld-screen

    palworld-screen can be replaced with any name you choose.

  • Navigate to the Palworld directory: Go to the directory where the Palworld server files are located. In this tutorial, we used:

      cd ~/PalworldServer
  • Start Palworld:

      ./PalServer.sh

Step 5 – Managing the Screen Session

You can detach from the screen session by pressing ctrl+A followed by D. This will not terminate the screen session, and the game will continue to run.

Use the following commands to re-access your Palworld screen session or make changes:

  • List all active screen sessions:

      screen -list

    The screen session you created for Palworld should be listed here.

  • Reattach to a running screen session:

      screen -dr palworld-screen

    If you used a different name, replace palworld-screen accordingly.

  • Terminate the screen session:

      screen -X -S palworld-screen quit

    Note: This will stop the Palworld game, and the screen session will no longer be available.

Step 6 – Automatically Restarting the Palworld Server

Instead of starting the Palworld server directly, you can use a script to automatically restart the server if it crashes unexpectedly.

If you have detached from your Palworld screen session, you can reattach to it with screen -dr palworld-screen. Press ctrl+c to stop the Palworld game.

  • Create a shell script:
    Use the following command to create a new shell script in the same directory as your Palworld server files, in this example the ~/PalworldServer directory.

      cat << 'EOF' >> ~/PalworldServer/run.sh
      #!/bin/bash
      while true; do
          ./PalServer.sh
          for i in 3 2 1; do
              echo "The server will restart in $i second(s), CTRL-C to cancel."
              sleep 1
          done
      done
      EOF
  • Make the script executable:

      chmod +x ~/PalworldServer/run.sh
  • Start the Palworld server using the script:

      ./run.sh

Now, if the Palworld server stops unexpectedly, it will automatically restart.

Step 7 – Joining Your Palworld Server

Open the Palworld launcher on your local device.

  • Select Join Multiplayer Game.

  • In the input field at the bottom, enter the IP address of your server. The port should be specified at the end of the IP address, separated by a colon: <server-ip>:<port>, e.g., 203.0.113.1:8211.

    If the Palworld server is hosted locally, you can use localhost: 127.0.0.1:.

  • After entering the IP and port, select “Connect”.

You should now be connected to your Palworld server and ready to play!

Result

This tutorial has shown you how to set up a dedicated Palworld server on Ubuntu or Debian. As a next step, share your server’s IP address with your friends. You can further customize server settings in the PalWorldSettings.ini file as mentioned in Step 3. Currently (early 2024), as mentioned in Step 3, dedicated Palworld servers are experiencing memory leak issues. It is recommended to restart the server regularly, for example, every 8 hours (see this Reddit post for an example script).

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Submit an articleFind out more

Report Issue

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

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