Complete guide to installing and running a Palworld dedicated server on Ubuntu/Debian Linux using SteamCMD.
Install SteamCMD and required libraries on Ubuntu/Debian.
# Enable 32-bit architecture
sudo dpkg --add-architecture i386
# Update package lists
sudo apt update
# Install SteamCMD
sudo apt install steamcmd -y
# Install additional dependencies
sudo apt install lib32gcc-s1 -yCreate a dedicated user for running the game server for security.
# Create user
sudo useradd -m -s /bin/bash palworld
# Switch to the new user
sudo su - palworldUse SteamCMD to download the Palworld dedicated server files.
# Create server directory
mkdir -p ~/palworld-server
# Download server files using SteamCMD
steamcmd +force_install_dir ~/palworld-server +login anonymous +app_update 2394010 validate +quitApp ID: 2394010
This is the Steam App ID for the Palworld Dedicated Server.
Copy the default configuration file and customize it.
# Create config directory
mkdir -p ~/palworld-server/Pal/Saved/Config/LinuxServer
# Copy default settings
cp ~/palworld-server/DefaultPalWorldSettings.ini ~/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.iniUse our Config Builder to generate a customized configuration file.
Open the required ports in your firewall using UFW (Uncomplicated Firewall).
# Allow Game Port (UDP 8211)
sudo ufw allow 8211/udp
# Allow Query Port (UDP 27015)
sudo ufw allow 27015/udp
# Enable UFW if not already enabled
sudo ufw enable
# Check status
sudo ufw statusRun the server executable with recommended launch options.
cd ~/palworld-server
./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDSThe first startup may take several minutes as the server initializes.
Create a systemd service to auto-start your server on boot and manage it easily.
[Unit]
Description=Palworld Dedicated Server
After=network.target
[Service]
Type=simple
User=palworld
WorkingDirectory=/home/palworld/palworld-server
ExecStart=/home/palworld/palworld-server/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target# Create the service file
sudo nano /etc/systemd/system/palworld.service
# (paste the above content and save)
# Reload systemd
sudo systemctl daemon-reload
# Enable auto-start on boot
sudo systemctl enable palworld
# Start the server
sudo systemctl start palworld
# Check status
sudo systemctl status palworld
# View logs
sudo journalctl -u palworld -fCreate a script to easily update your server.
#!/bin/bash
echo "Stopping Palworld server..."
sudo systemctl stop palworld
echo "Updating server files..."
steamcmd +force_install_dir ~/palworld-server +login anonymous +app_update 2394010 +quit
echo "Starting Palworld server..."
sudo systemctl start palworld
echo "Done! Server updated and restarted."# Make it executable
chmod +x ~/update-server.sh
# Run it when needed
./update-server.shOnce your server is running, players can connect using:
123.45.67.89:8211)curl ifconfig.me to get your public IP