RAM + CPU Sizing
Both games have very different resource profiles:
| Game | RAM | CPU | VPS Plan |
|---|---|---|---|
| Valheim | 2-4 GB | Light | SSD 4G |
| Palworld | 4-8 GB | Heavy per player | SSD 6G-8G |
| Both simultaneously | 8+ GB | Heavy | SSD 8G+ |
Palworld is more resource-hungry because of its AI simulation and base raiding logic. Each active player significantly increases CPU and RAM usage.
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).
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 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 +quitValheim Server Setup
Create a startup script and configure firewall rules:
#!/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=$templdpathufw allow 2456:2458/udp
ufw reloadTest 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.
Valheim Plus Mod (Optional)
Valheim Plus adds quality-of-life improvements like longer days, reduced skill drain on death, and shared map exploration.
- Download the latest Valheim Plus release from GitHub
- Extract the BepInEx files into your Valheim server directory
- Edit
BepInEx/config/valheim_plus.cfgfor your preferences
Important: Both the server and all clients must run the same Valheim Plus version. Coordinate updates with your players.
Palworld Server Setup
Configure PalWorldSettings.ini and open the required ports:
ufw allow 8211/udp # Game port
ufw allow 25575/tcp # RCON
ufw reloadKey settings in PalWorldSettings.ini:
ServerPlayerMaxNum=16
Difficulty=Normal
DeathPenalty=Item
GuildPlayerMaxNum=20
BaseCampWorkerMaxNum=15Palworld 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=falseto cut idle RAM usage
Systemd + Auto-Restart
Create a generic systemd service template for game servers:
[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[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.targetsystemctl daemon-reload
systemctl enable --now valheim
systemctl enable --now palworldWorld Backup Strategy
Automate backups with a cron script:
#!/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 -deletechmod +x /home/steam/backup.sh
crontab -e
# Add: 0 4 * * * /home/steam/backup.shKeeping Servers Updated
Use SteamCMD to update game servers on a schedule, or auto-update before each launch:
[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.shAlternatively, 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:
