Back to Setup Guides
    Linux

    Palworld Server Setup on Linux

    Complete guide to installing and running a Palworld dedicated server on Ubuntu/Debian Linux using SteamCMD.

    1Install Dependencies

    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 -y

    2Create Server User (Recommended)

    Create 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 - palworld

    3Download the Palworld Dedicated Server

    Use 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 +quit

    App ID: 2394010

    This is the Steam App ID for the Palworld Dedicated Server.

    4Configure the 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.ini

    Use our Config Builder to generate a customized configuration file.

    5Configure Firewall

    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 status

    6Start the Server

    Run the server executable with recommended launch options.

    cd ~/palworld-server
    ./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

    The first startup may take several minutes as the server initializes.

    7(Recommended) Create a Systemd Service

    Create a systemd service to auto-start your server on boot and manage it easily.

    /etc/systemd/system/palworld.service
    [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 -f

    8(Optional) Create an Update Script

    Create a script to easily update your server.

    ~/update-server.sh
    #!/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.sh

    Connecting to Your Server

    Once your server is running, players can connect using:

    • Direct Connect: Use your server's public IP and port (e.g., 123.45.67.89:8211)
    • Server Browser: Your server should appear in the in-game community server list
    • Find your IP: Run curl ifconfig.me to get your public IP