Skip to content

Instantly share code, notes, and snippets.

@AwakenTheJaken
Last active July 12, 2026 15:56
Show Gist options
  • Select an option

  • Save AwakenTheJaken/bc9aa2aa33b7eb81195d9946fd93ea11 to your computer and use it in GitHub Desktop.

Select an option

Save AwakenTheJaken/bc9aa2aa33b7eb81195d9946fd93ea11 to your computer and use it in GitHub Desktop.
Palworld Pelican Install
#!/bin/bash
set -euo pipefail
echo "========================================="
echo " Palworld Dedicated Server Installer"
echo "========================================="
if [[ -z "${STEAM_USER:-}" ]] || [[ -z "${STEAM_PASS:-}" ]]; then
echo "Steam user not set, using anonymous login."
STEAM_USER="anonymous"
STEAM_PASS=""
STEAM_AUTH=""
fi
mkdir -p /mnt/server
mkdir -p /mnt/server/steamcmd
mkdir -p /mnt/server/steamapps
cd /tmp
echo "Downloading SteamCMD..."
curl -fsSL \
https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz \
-o steamcmd.tar.gz
echo "Extracting SteamCMD..."
tar -xzf steamcmd.tar.gz -C /mnt/server/steamcmd
cd /mnt/server/steamcmd
export HOME=/mnt/server
echo "Installing Palworld Dedicated Server..."
./steamcmd.sh \
+force_install_dir /mnt/server \
+login "${STEAM_USER}" "${STEAM_PASS}" ${STEAM_AUTH:-} \
+app_update "${SRCDS_APPID}" validate \
+quit | tee /mnt/server/steamcmd-install.log
echo
echo "Verifying installation..."
if [[ ! -f /mnt/server/Pal/Binaries/Linux/PalServer-Linux-Shipping ]]; then
echo
echo "ERROR: Palworld failed to install."
echo
echo "Contents of /mnt/server:"
find /mnt/server -maxdepth 3
echo
echo "Contents of steamapps:"
ls -la /mnt/server/steamapps || true
echo
echo "SteamCMD log:"
cat /mnt/server/steamcmd-install.log || true
exit 1
fi
echo "Installing Steam client libraries..."
mkdir -p /mnt/server/.steam/sdk32
cp linux32/steamclient.so /mnt/server/.steam/sdk32/
mkdir -p /mnt/server/.steam/sdk64
cp linux64/steamclient.so /mnt/server/.steam/sdk64/
echo "Preparing configuration..."
mkdir -p /mnt/server/Pal/Saved/Config/LinuxServer
if [[ ! -f /mnt/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini ]]; then
cp /mnt/server/DefaultPalWorldSettings.ini \
/mnt/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
fi
echo "Downloading Config Parser..."
curl -fsSL \
-o /mnt/server/PalworldServerConfigParser \
https://github.com/pelican-eggs/Palworld-Config-Parser-Tool/releases/latest/download/PalworldServerConfigParser-linux-amd64
chmod +x /mnt/server/PalworldServerConfigParser
echo
echo "========================================="
echo "Installation completed successfully."
echo "========================================="
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment