Part 3 of 5

    Valheim & Palworld Dedicated Servers

    SteamCMD installation, both game servers, Valheim Plus mods, automated backups, and systemd auto-restart templates.

    SteamCMD
    Valheim
    Palworld
    1

    RAM + CPU Sizing

    Both games have very different resource profiles:

    GameRAMCPUVPS Plan
    Valheim2-4 GBLightSSD 4G
    Palworld4-8 GBHeavy per playerSSD 6G-8G
    Both simultaneously8+ GBHeavySSD 8G+

    Palworld is more resource-hungry because of its AI simulation and base raiding logic. Each active player significantly increases CPU and RAM usage.

    2

    SteamCMD Installation

    SteamCMD is the command-line tool for downloading and updating Steam game servers. This section applies to both Valheim and Palworld (and any future Steam-based game).

    Install SteamCMD
    apt install -y lib32gcc-s1 curl
    useradd -m -s /bin/bash steam
    su - steam
    mkdir ~/steamcmd && cd ~/steamcmd
    curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
    Download both game servers
    # Download Valheim server
    ./steamcmd.sh +force_install_dir ~/valheim +login anonymous +app_update 896660 validate +quit
    
    # Download Palworld server
    ./steamcmd.sh +force_install_dir ~/palworld +login anonymous +app_update 2394010 validate +quit
    3

    Valheim Server Setup

    Create a startup script and configure firewall rules:

    Create start_valheim.sh
    #!/bin/bash
    export templdpath=$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
    export SteamAppId=892970
    
    ./valheim_server.x86_64 -name "My Valheim Server" \
      -port 2456 \
      -world "Dedicated" \
      -password "your_server_password" \
      -savedir "/home/steam/valheim-data" \
      -public 1
    
    export LD_LIBRARY_PATH=$templdpath
    UFW rules for Valheim
    ufw allow 2456:2458/udp
    ufw reload

    Test the connection from the Valheim game client by adding your server via IP:2456. Allow a few minutes for the world to generate on first start.

    4

    Valheim Plus Mod (Optional)

    Valheim Plus adds quality-of-life improvements like longer days, reduced skill drain on death, and shared map exploration.

    1. Download the latest Valheim Plus release from GitHub
    2. Extract the BepInEx files into your Valheim server directory
    3. Edit BepInEx/config/valheim_plus.cfg for your preferences

    Important: Both the server and all clients must run the same Valheim Plus version. Coordinate updates with your players.

    5

    Palworld Server Setup

    Configure PalWorldSettings.ini and open the required ports:

    UFW rules for Palworld
    ufw allow 8211/udp    # Game port
    ufw allow 25575/tcp   # RCON
    ufw reload

    Key settings in PalWorldSettings.ini:

    PalWorldSettings.ini key parameters
    ServerPlayerMaxNum=16
    Difficulty=Normal
    DeathPenalty=Item
    GuildPlayerMaxNum=20
    BaseCampWorkerMaxNum=15
    6

    Palworld Performance Optimization

    Lower RAM usage with these settings:

    • ServerPlayerMaxNum - Cap at 16 for SSD 4G plans
    • BaseCampWorkerMaxNum - Reduce from 15 to 8 for lower overhead
    • GuildPlayerMaxNum - Lower if RAM is a concern
    • Set GrpcEnabled=false to cut idle RAM usage
    7

    Systemd + Auto-Restart

    Create a generic systemd service template for game servers:

    Valheim systemd service - /etc/systemd/system/valheim.service
    [Unit]
    Description=Valheim Dedicated Server
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    Type=simple
    User=steam
    WorkingDirectory=/home/steam/valheim
    ExecStart=/home/steam/valheim/start_valheim.sh
    Restart=on-failure
    RestartSec=10
    WatchdogSec=120
    
    [Install]
    WantedBy=multi-user.target
    Palworld systemd service - /etc/systemd/system/palworld.service
    [Unit]
    Description=Palworld Dedicated Server
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    Type=simple
    User=steam
    WorkingDirectory=/home/steam/palworld
    ExecStart=/home/steam/palworld/PalServer.sh
    Restart=on-failure
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target
    Enable and start
    systemctl daemon-reload
    systemctl enable --now valheim
    systemctl enable --now palworld
    8

    World Backup Strategy

    Automate backups with a cron script:

    Backup script - /home/steam/backup.sh
    #!/bin/bash
    BACKUP_DIR="/home/steam/backups"
    DATE=$(date +%Y%m%d_%H%M%S)
    mkdir -p $BACKUP_DIR
    
    # Valheim worlds
    tar -czf "$BACKUP_DIR/valheim_$DATE.tar.gz" \
      ~/.config/unity3d/IronGate/Valheim/worlds_local/
    
    # Palworld saves
    tar -czf "$BACKUP_DIR/palworld_$DATE.tar.gz" \
      ~/palworld/Pal/Saved/
    
    # Remove backups older than 7 days
    find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
    Add to cron (daily at 4 AM)
    chmod +x /home/steam/backup.sh
    crontab -e
    # Add: 0 4 * * * /home/steam/backup.sh
    9

    Keeping Servers Updated

    Use SteamCMD to update game servers on a schedule, or auto-update before each launch:

    Auto-update via systemd ExecStartPre
    [Service]
    ExecStartPre=/home/steam/steamcmd/steamcmd.sh \
      +force_install_dir /home/steam/valheim \
      +login anonymous \
      +app_update 896660 \
      +quit
    ExecStart=/home/steam/valheim/start_valheim.sh

    Alternatively, schedule weekly updates via cron during off-peak hours.

    What's Next

    Running Valheim and Palworld on the same box? Part 4 shows you how to manage them both from a single Pelican Panel dashboard without resource conflicts.

    This guide is part of the Game Server Hosting series: