35 lines
1.1 KiB
Bash
35 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# Bootstraps Steam on a headless server without requiring X11 interaction.
|
|
# Bypasses the zenity license dialog that normally hangs headless installations.
|
|
|
|
set -e
|
|
|
|
# Get the current version expected by the Debian package
|
|
if [ -f "/usr/games/steam" ]; then
|
|
VERSION=$(grep -oP 'version="\K[^"]+' /usr/games/steam || echo "1.0.0.85")
|
|
else
|
|
VERSION="1.0.0.85"
|
|
fi
|
|
|
|
echo "Bootstrapping Steam headless installation (Version $VERSION)..."
|
|
|
|
STEAMDIR="$HOME/.steam/debian-installation"
|
|
mkdir -p "$STEAMDIR"
|
|
|
|
echo "Downloading Steam bootstrap tarball..."
|
|
curl -fsSL "https://repo.steampowered.com/steam/archive/beta/steam_${VERSION}.tar.gz" | tar -xz -C "$STEAMDIR"
|
|
|
|
echo "Extracting embedded Steam runtime..."
|
|
tar -xJf "$STEAMDIR/steam-launcher/bootstraplinux_ubuntu12_32.tar.xz" -C "$STEAMDIR"
|
|
|
|
echo "Marking installation version..."
|
|
mkdir -p "$STEAMDIR/deb-installer"
|
|
echo "$VERSION" > "$STEAMDIR/deb-installer/version"
|
|
|
|
echo "Creating required API symlinks..."
|
|
ln -fns "$STEAMDIR" "$HOME/.steam/steam"
|
|
ln -fns "$STEAMDIR" "$HOME/.steam/root"
|
|
|
|
echo "Steam is now bootstrapped."
|
|
echo "Run 'DISPLAY=:0 steam' to trigger the background update (takes ~3 minutes)."
|