chore: align ark-suac app and refresh appstore zip
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
if [ "$ENABLE_DEBUG" = "1" ]; then
|
||||
echo "Entering debug mode..."
|
||||
sleep 999999999999
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# download steamcmd if necessary
|
||||
if [ ! -d "/home/gameserver/steamcmd/linux32" ]; then
|
||||
cd /home/gameserver/steamcmd
|
||||
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
|
||||
tar xfvz steamcmd_linux.tar.gz
|
||||
fi
|
||||
|
||||
# download/update server files
|
||||
cd /home/gameserver/steamcmd
|
||||
./steamcmd.sh +force_install_dir /home/gameserver/server-files +login anonymous +app_update 2430930 validate +quit
|
||||
|
||||
PROTON_VERSION="10-17"
|
||||
PROTON_DIR_NAME="GE-Proton$PROTON_VERSION"
|
||||
PROTON_ARCHIVE_NAME="$PROTON_DIR_NAME.tar.gz"
|
||||
STEAM_COMPAT_DATA=/home/gameserver/server-files/steamapps/compatdata
|
||||
STEAM_COMPAT_DIR=/home/gameserver/Steam/compatibilitytools.d
|
||||
ASA_COMPAT_DATA=$STEAM_COMPAT_DATA/2430930
|
||||
ASA_BINARY_DIR="/home/gameserver/server-files/ShooterGame/Binaries/Win64"
|
||||
START_PARAMS_FILE="/home/gameserver/server-files/start-parameters"
|
||||
MODS="$(/usr/bin/cli-asa-mods)"
|
||||
ASA_START_PARAMS="$ASA_START_PARAMS $MODS"
|
||||
ASA_BINARY_NAME="ArkAscendedServer.exe"
|
||||
ASA_PLUGIN_BINARY_NAME="AsaApiLoader.exe"
|
||||
ASA_PLUGIN_LOADER_ARCHIVE_NAME=$(basename $ASA_BINARY_DIR/AsaApi_*.zip)
|
||||
ASA_PLUGIN_LOADER_ARCHIVE_PATH="$ASA_BINARY_DIR/$ASA_PLUGIN_LOADER_ARCHIVE_NAME"
|
||||
ASA_PLUGIN_BINARY_PATH="$ASA_BINARY_DIR/$ASA_PLUGIN_BINARY_NAME"
|
||||
LAUNCH_BINARY_NAME="$ASA_BINARY_NAME"
|
||||
|
||||
# install proton if necessary
|
||||
if [ ! -d "$STEAM_COMPAT_DIR/$PROTON_DIR_NAME" ]; then
|
||||
mkdir -p $STEAM_COMPAT_DIR
|
||||
echo "Downloading Proton version $PROTON_VERSION... This might take a while"
|
||||
wget -P /tmp https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton$PROTON_VERSION/GE-Proton$PROTON_VERSION.tar.gz
|
||||
EXIT_CODE=$?
|
||||
|
||||
if [ $EXIT_CODE -ne 0 ]; then
|
||||
echo "Error: Error while downloading Proton ($EXIT_CODE)"
|
||||
exit 200
|
||||
fi
|
||||
|
||||
echo "Download finished, comparing checksums..."
|
||||
sha512sum -c /usr/share/proton/GE-Proton$PROTON_VERSION.sha512sum
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: Proton checksum mismatch!"
|
||||
exit 201
|
||||
fi
|
||||
|
||||
tar -xf /tmp/$PROTON_ARCHIVE_NAME -C $STEAM_COMPAT_DIR
|
||||
rm /tmp/$PROTON_ARCHIVE_NAME
|
||||
fi
|
||||
|
||||
# install proton compat game data
|
||||
if [ ! -d "$ASA_COMPAT_DATA" ]; then
|
||||
mkdir -p $STEAM_COMPAT_DATA
|
||||
cp -r $STEAM_COMPAT_DIR/$PROTON_DIR_NAME/files/share/default_pfx $ASA_COMPAT_DATA
|
||||
fi
|
||||
|
||||
echo "Starting the ARK: Survival Ascended dedicated server..."
|
||||
echo "Start parameters: $ASA_START_PARAMS"
|
||||
|
||||
export XDG_RUNTIME_DIR=/run/user/$(id -u)
|
||||
export STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/gameserver/Steam
|
||||
export STEAM_COMPAT_DATA_PATH=$ASA_COMPAT_DATA
|
||||
|
||||
cd "$ASA_BINARY_DIR"
|
||||
|
||||
# unzip the asa plugin api archive if it exists. delete it afterwards
|
||||
if [ -f "$ASA_PLUGIN_LOADER_ARCHIVE_PATH" ]; then
|
||||
unzip -o $ASA_PLUGIN_LOADER_ARCHIVE_NAME
|
||||
rm $ASA_PLUGIN_LOADER_ARCHIVE_NAME
|
||||
fi
|
||||
|
||||
if [ -f "$ASA_PLUGIN_BINARY_PATH" ]; then
|
||||
echo "Detected ASA Server API loader. Launching server through $ASA_PLUGIN_BINARY_NAME"
|
||||
LAUNCH_BINARY_NAME="$ASA_PLUGIN_BINARY_NAME"
|
||||
fi
|
||||
|
||||
# Remove steamclient64.dll to prevent server from crashing.
|
||||
# File is not needed and was probably accidentally committed to Steam.
|
||||
# See: https://github.com/mschnitzer/ark-survival-ascended-linux-container-image/issues/123
|
||||
rm -f /home/gameserver/server-files/ShooterGame/Binaries/Win64/steamclient64.dll
|
||||
|
||||
$STEAM_COMPAT_DIR/$PROTON_DIR_NAME/proton run $LAUNCH_BINARY_NAME $ASA_START_PARAMS
|
||||
Reference in New Issue
Block a user