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 usingls -al
. -
Add the
steamclient.so
file for 64-bit architecture: During Palworld installation, a 32-bitsteamclient.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, andENTER
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!