LANCommander/LANCommander.Server/entrypoint.sh
2025-08-12 18:56:44 -05:00

88 lines
No EOL
2 KiB
Bash

#!/bin/bash
set -e
# Function to install SteamCMD
install_steamcmd() {
echo "Installing SteamCMD..."
# Update package list
apt-get update
# Install required dependencies
apt-get install -y \
wget \
ca-certificates \
software-properties-common \
lib32gcc-s1 \
lib32stdc++6
# Create steam user and directory
useradd -m -d /home/steam steam
mkdir -p /home/steam/steamcmd
chown -R steam:steam /home/steam/steamcmd
# Download and install SteamCMD
cd /home/steam/steamcmd
wget -qO- "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar -xz
# Set permissions
chown -R steam:steam /home/steam/steamcmd
chmod +x /home/steam/steamcmd/steamcmd.sh
cd -
echo "SteamCMD installed successfully!"
}
# Function to install WINE
install_wine() {
echo "Installing WINE..."
# Update package list
apt-get update
# Install WINE and dependencies
apt-get install -y \
wine \
wine32 \
wine64 \
libwine \
fonts-wine \
winetricks \
cabextract \
unzip \
wget \
ca-certificates
# Create wine user and directory
useradd -m -d /home/wine wine
mkdir -p /home/wine/.wine
chown -R wine:wine /home/wine/.wine
# Set up WINE environment
su - wine -c "winecfg /v" || true
echo "WINE installed successfully!"
}
# Check if SteamCMD should be installed
if [ "$STEAMCMD" = "1" ]; then
echo "STEAMCMD=1 detected, installing SteamCMD..."
install_steamcmd
else
echo "STEAMCMD not set to 1, skipping SteamCMD installation"
fi
# Check if WINE should be installed
if [ "$WINE" = "1" ]; then
echo "WINE=1 detected, installing WINE..."
install_wine
else
echo "WINE not set to 1, skipping WINE installation"
fi
cd /app
# Start the LANCommander server
echo "Starting LANCommander Server..."
exec dotnet LANCommander.Server.dll --docker