Running a Palworld Server on a Raspberry Pi

In this tutorial, we will show you how to run a Palworld server on the Raspberry Pi.

Raspberry Pi Palworld Server

Palworld is a popular multiplayer survival game that focuses on crafting and catching “pals.” It sports a massive world and the possibility to play with up to 32 players.

While Palworld does not have an ARM-based version of their dedicated server, there are ways we can get around this. That way is to utilize the Box86 and Box64 emulators.

The caveat is that you won’t be able to run the full 32 players on your Raspberry Pi, but it should be good enough to handle a few, especially if you have a Pi with 8GB of memory.

Throughout this guide, we will walk you through the process of setting up and running the Palworld server on your Raspberry Pi. We even show you how to set up and install the Box86 and Box64 servers we use to get the server running.

For the best experience with the Palworld server, you should use a Raspberry Pi 5 with 8GB of memory. You can still use this on weaker Raspberry Pi’s but your mileage will vary.

Additionally, you must be running a 64-bit operating system, so you must be running at least a Raspberry Pi 3.

Equipment

Below is the equipment we used to set up Palworld server on our Raspberry Pi.

Recommended

Optional

This tutorial was tested on a Raspberry Pi 5 running on the latest version of Raspberry Pi OS Bookworm 64-bit.

Installing and Running a Palworld Server on your Raspberry Pi

Over the following sections, you will learn how to install and run a Palworld server on your Raspberry Pi.

Getting this server working requires us to rely on the Box86 and Box64 emulators. Having to use these emulators means you will have a slight loss in performance, but from our testing, it was still decent enough for a couple of players to play without issue.

Preparing your Raspberry Pi to Run the Palworld Dedicated Server

1. Before we can install the Palworld server on our Raspberry Pi, we must complete a few tasks.

The first is to ensure our operating system is entirely up to date. You can do this by using the following two commands.

sudo apt update
sudo apt upgrade -y

2. Our next step is to install the “curl” package. We will use curl to download the SteamCMD tool to our Raspberry Pi later in this guide.

While this package is typically pre-installed, running the command below ensures it exists.

sudo apt install curl

3. Next, you must follow our guide on installing Box86 to your Raspberry Pi.

This software allows us to emulate the 32-bit x86 architecture on our Raspberry Pi, allowing us to run the SteamCMD tool, which we can use to download the Palworld server.

If you are following this tutorial using a Raspberry Pi 5, follow our troubleshooting section in the Box86 tutorial to move to a standard 8kb page size.

4. After installing Box86, you must follow our tutorial that shows you how to install Box64 on your Raspberry Pi. If you are running a Raspberry Pi 5, you must use the steps for the Pi 4; otherwise, Box86 will not work.

This software is similar to Box86 but aims to emulate the x64 architecture on ARM64. This is the critical part of running the Palworld dedicated server.

Creating a user to Run the Server

5. With Box86 and Box64 installed on our Raspberry Pi, we can finally continue this tutorial.

Our next step is to create a server that we will use to run the dedicated server and create a home directory to store everything in.

You can create a user called “palworld” using the following command.

sudo useradd palworld -m

6. After creating our “palworld” user we can use the “sudo” command to change to that user.

Changing to the user saves us the hassle of using the chown command on all the files we are about to create.

sudo -u palworld -s

Setting up SteamCMD for Palworld on the Raspberry Pi

7. The final piece we must install to our Raspberry Pi before we can get into the key parts of setting up the Palworld dedicated server is SteamCMD.

SteamCMD is a tool that allows us to download apps and games from Steam without needing a full-blown client.

Let us start by creating a directory to store this tool in and change into it by using the cd command.

mkdir ~/steamcmd
cd ~/steamcmd

8. Next, you will want to run the following command within the terminal.

This command downloads the latest version of the SteamCMD installer and extracts it into the current directory.

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

9. To ensure this tool works correctly, we must run it. The first time you start SteamCMD, it will automatically self-update and download all required libraries.

./steamcmd.sh

10. Once SteamCMD has fully loaded, you can quit by using the following command within the tool.

quit

Getting the Steamworks SDK Redistributable for Palworld

11. To get the Palworld dedicated server to run on our Raspberry Pi, we must first download the Steamworks SDK Redistrutable.

There is a particular library we need from this redistributable.

./steamcmd.sh +force_install_dir ~/steamworkssdk +@sSteamCmdForcePlatformType linux +login anonymous +app_update 1007 validate +quit

12. Once the download is complete, we must create a directory using the command below. This directory is where the Palworld server will scan for the “steamclient.so” library.

mkdir -p ~/.steam/sdk64

13. Finally, you can copy the library to the correct location by running the following command.

cp ~/steamworkssdk/linux64/steamclient.so ~/.steam/sdk64/

Installing the Palworld Dedicated Server on a Raspberry Pi

14. We are at the point where we can now download and install the Palworld dedicated server to your Raspberry Pi.

Thanks to installing and setting up the SteamCMD tool earlier, this is as easy as using the command below. This command will use SteamCMD to download the latest version of the server.

This process can take a few minutes as the server is large.

./steamcmd.sh +force_install_dir ~/palworldserver +@sSteamCmdForcePlatformType linux +login anonymous +app_update 2394010 validate +quit

Running the Palworld Server

15. With the server downloaded, you must change to its directory by running the following command.

cd ~/palworldserver/

16. Now that you are in the right place, all you need to do to launch your Palworld dedicated server on your Raspberry Pi is to run the following command.

When running the server, you may see a few errors; many of these aren’t critical, and the server should continue running.

./PalServer.sh

You should now be able to access your server through the IP address of your Raspberry Pi. Before you do that, you should configure the server.

To configure the server, you must stop it temporarily by pressing CTRL + C.

Configuring the Server

17. To give us a good base to work off of for the Palworld servers configuration file, let us copy the defaults.

Using the command below, you can copy the defaults to where the custom values are loaded.

cp ~/palworldserver/DefaultPalWorldSettings.ini ~/palworldserver/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

18. Once you have copied over the default values, you can begin editing the config file by typing in the following command.

We use the nano text editor as it is one of the easiest to use. However, you can use whichever text editor you feel comfortable with.

nano ~/palworldserver/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

19. There are many settings that you can tweak for your Palworld server on your Raspberry Pi. This includes adjusting the maximum amount of players, setting a password, modifying mob density, and more.

You can read more about the various options by viewing the official documentation. Considering you are running this on a Raspberry Pi, you might want to consider reducing the “pal appearance rate” and the maximum number of players.

The one option we will focus on in this guide is the “ServerPassword“. Setting a password forces someone to have to type it in before they can access the server.

To adjust the password, you should find the following text within the config file.

ServerPassword=""

Once you have found the server password setting, type in your password between the double quotes.

ServerPassword="pimylifeup"

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

Starting the Palworld Server when your Raspberry Pi Boots

21. If you want your Palworld Server to start every time you power on your Raspberry Pi automatically, we will have to write a service file.

Before we do this, ensure you have switched to your main user. If you haven’t already, you can exit the “palworld” user by using the following command.

exit

22. Once you return to using your normal user, you can begin writing the service file for our Palworld server using the following command.

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

23. Within this file, type in the following lines.

These lines dictate how the Palworld server starts and runs on our Raspberry Pi. The key addition to this file is the command we run before the server is started.

This command will automatically update your Palworld server whenever the service is started or restarted.

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

[Service]
User=palworld
Group=palworld
WorkingDirectory=/home/palworld/
ExecStartPre=/home/palworld/steamcmd/steamcmd.sh +force_install_dir '/home/palworld/palworldserver' +login anonymous +app_update 2394010 +quit
ExecStart=/home/palworld/palworldserver/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS > /dev/null
Restart=always

[Install]
WantedBy=multi-user.target

24. After adding the above lines to the service, save and quit by pressing CTRL + X, Y, and then ENTER.

25. With the service now written, you will want to enable it. Enabling it will allow systemd to run the Palworld server when your Raspberry Pi powers on.

You can enable the service by running the command below.

sudo systemctl enable palworld

26. Enabling a service won’t automatically start it.

If you want your server to start immediately, you can use the following command in the terminal.

sudo systemctl start palworld

27. If you ever want to stop your Palworld server, all you will need to do is run the command below.

sudo systemctl stop palworld

28. Finally, you must disable the service to stop the Palworld server from being automatically started when you power on your Raspberry Pi.

You can disable the service we wrote by using the command below.

sudo systemctl disable palworld

Connecting to your Raspberry Pi Palworld Server

At this point you should hopefully have your Palworld server up and running on your Raspberry Pi.

With your server running, you will want to know how to access it. First, if you plan on having outside access to this server, ensure you have port forwarded the port 8211 to your Pi and have set up a static IP address.

1. If you don’t know the local IP address of your Raspberry Pi, you can list it by using the command below in the terminal

hostname -I

You should see something like the following appear in your terminal.

192.168.0.123

2. With your IP address in hand, launch Palworld on your computer.

After you run the game, you will want to click the “Join multiplayer game” option.

Open Join Multiplayer Game Menu

3. You should now be greeted with a list of official Palworld servers.

At the bottom of this page, you should see a textbox and a button. Use the textbox to type in your IP address followed by the port “8211” (1.).

Once you have typed in your Raspberry Pi’s IP, click the “Connect” button (2.) to connect.

Connect to Raspberry Pi Palworld Server

Troubleshooting Connecting to a Passworded Palworld Server

4. If you have passworded your Raspberry Pi Palworld server, you may encounter an issue when connecting.

For some reason, a password box never appears, meaning your connection is refused by the server. You will want to change to the “Community Servers” tab to correct this.

Change to Community Servers Tab

5. Once on the community servers tab, find a passworded server and double-click it. You can tell a server is passworded by the padlock symbol.

Select Passworded Community Server

6. Upon attempting to connect to this server, you will be asked to enter a password (1.). Type in the password you set for your server.

After typing in your password, click the “OK” button to proceed (2.).

Type in password for your Raspberry Pi Palworld Server

7. You will be asked if you want to connect to your selected server.

Since we don’t want to connect to this random server, click the “No” button.

No to connecting to server

8. Finally, you should now be able to use the textbox at the bottom of the screen to connect to your Raspberry Pi Palworld server.

Re-enter Raspberry Pi Palworld Server Details

Conclusion

Hopefully, at this stage, you will have successfully got the Palworld dedicated server running on your Raspberry Pi.

The Raspberry Pi is a decent solution for a Palworld server if you plan on handling only a few players. It doesn’t use much power, so you can let it run 24/7.

Please feel free to comment below if you have any questions or concerns with running this server on your Pi.

If you found this tutorial to be helpful, we highly recommend checking out our many other Raspberry Pi projects.

Print Friendly, PDF & Email

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Server Status

Aradippou Chat 1 Chat 2 Larnaca Limassol Nicosia

Chat Links

Official Links.

1. Chat 1.
2. Chat 2.

Alternative Mirror Links.

1. KiwiIRC 1.
2. KiwiIRC 2.

Other Web Clients.

1. IrcCloud.

Recent Posts

Related Posts:

Advertisement

Archives

Super Club Radio

Mighty Deals

CyIRC

CyIRC Tweets

Scroll Up
Fatal error: Uncaught WMAC\JSMin_UnterminatedStringException: WMAC\JSMin: Unterminated String at byte 1180: "+o.accessToken}}).then(e=>{if(!e.ok)throw e;return e});return a.catch(e=>{console.error(`Failed to logout chatrix session. deviceId: ${o.deviceId}`)}),a}})(); in /home/bszucbfe/public_html/wp-content/plugins/clearfy/components/minify-and-combine/includes/classes/ext/php/jsmin.php:215 Stack trace: #0 /home/bszucbfe/public_html/wp-content/plugins/clearfy/components/minify-and-combine/includes/classes/ext/php/jsmin.php(157): WMAC\JSMin->action(2) #1 /home/bszucbfe/public_html/wp-content/plugins/clearfy/components/minify-and-combine/includes/classes/ext/php/jsmin.php(96): WMAC\JSMin->min() #2 /home/bszucbfe/public_html/wp-content/plugins/clearfy/components/minify-and-combine/includes/classes/class-main.php(375): WMAC\JSMin::minify('(function(){"us...') #3 /home/bszucbfe/public_html/wp-includes/class-wp-hook.php(324): WMAC_PluginMain->jsSnippetcacher('(function(){"us...', '/home/bszucbfe/...') #4 /home/bszucbfe/public_h in /home/bszucbfe/public_html/wp-content/plugins/clearfy/components/minify-and-combine/includes/classes/ext/php/jsmin.php on line 215