How to Set Up a Private Palworld Server and Secure Access

How to Set Up a Private Palworld Server and Secure Access
Hello everyone,
The early access release of Palworld is here, and since I want to play with my friends, I decided to set up a dedicated and secure Palworld server.
The Project - Private Palworld Server
I want to manage a private Palworld server while keeping security in mind. I don’t want to expose it to the public, nor do I want to open ports on my router. Additionally, I prefer running such applications/servers inside Docker containers.
Since I have an Unraid server at home, I decided to run a Palworld server container on it and use Tailscale to securely access the server.
Let’s get started!
Install the Palworld Server
I am using a Docker container image to run Palworld, prepared by “ich777.”
If you have an Unraid server like me, simply go to your Unraid server, then navigate to “Apps” and install this Docker image:
The installation will take some time as all game-related files need to be downloaded.
Modify Your Palworld Server Configuration File
Stop your Docker container.
The configuration file is located at: .../Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
Here, you can modify various settings for your server, but at the very least, update the following:
ServerName="TheNameOfYourServer",
ServerDescription="Description of your server",
AdminPassword="YourAdminPWD",
ServerPassword="NOPASSWORD-REMOVE",
PublicPort=8211,
PublicIP="YourTailScaleUnraidServerIP"
⚠️ Currently, there is an issue accessing Palworld via an IP address if you have set a password in the configuration file. Remove the ServerPassword
setting and simply use:
ServerPassword=""
However, since we are using Tailscale, everything is secured via Tailscale, so we won’t need this password security to access the server. Only authorized users from the tailnet will be able to connect to this IP and port. Thanks to ACLs. ⚠️
Update 2025: Instead of using ACLs, I now use Tailscale’s new integration with Unraid, which allows easy configuration at the container level. This makes it simple to share the container with contacts. Just go to the Palworld container in your Tailscale machine list and click “Share” (see image below).
Once done, restart your Docker container.
Install Tailscale on Your Server
For Tailscale configuration on Unraid, I highly recommend this great guide from Ibracorp:
https://docs.ibracorp.io/tailscale/
Tailscale ACLs
Update 2025: Instead of using ACLs, I now use Tailscale’s new integration with Unraid, which allows easy configuration at the container level. This makes it simple to share the container with contacts. Just go to the Palworld container in your Tailscale machine list and click “Share” (see image below).
Configuring ACLs in Tailscale
In Tailscale, invite your friends to join your tailnet:
Then, configure the ACLs by clicking on “Access controls” near “Users.”
Here’s an example configuration:
{
// Declare static groups of users.
"groups": {
"group:owner": ["your_email_address_as_you_are_the_owner"],
"group:myfriends": [
"[email protected]",
"[email protected]"
],
},
"acls": [
// Rule for the "owner" group - full access
{
"action": "accept",
"src": ["group:owner"],
"dst": ["*:*"],
},
{
"action": "accept",
"src": ["group:myfriends"],
"dst": ["mytailscaleunraidserverip:8211"],
},
],
}
In this example, I have allowed the “myfriends” group to access only my Unraid server’s IP on the port used by the Palworld server.
Thus, my server is not publicly accessible—only my friends who have installed Tailscale on their computers can access it. They can only reach the Palworld server, not any other servers or services running on my Unraid server.
Time to Play!
Ensure that Tailscale is installed on your computer and that you are part of the tailnet of the person hosting the server. Also, ensure you are connected to Tailscale. Then…
Launch the Game!
Enter your Tailscale server IP and port:
Enjoy! 🤓🕹️
