Files
ersc_update_script/ersc-script.sh
T
2026-05-11 15:08:01 +02:00

78 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
search_paths=("$HOME/.steam/steam/steamapps/common" "$HOME/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common" "$HOME/.local/share/Steam/steamapps/common" "/mnt" "/")
eldenring_dir=""
#gets latest download url from github
sc_download_url=$(curl -s "https://api.github.com/repos/LukeYui/EldenRingSeamlessCoopRelease/releases/latest" | jq -r '.assets[0].browser_download_url')
if [[ -z "$sc_download_url" || "$sc_download_url" == "null" ]]; then
echo "Failed to retrieve download URL"
exit 1
fi
echo "Searching for Elden Ring game folder"
for i in "${search_paths[@]}"; do
echo "Searching at $i"
eldenring_dir=$(timeout 5 find "$i" -path '*/Game/*' -iname eldenring.exe -printf '%h\n' -quit 2>/dev/null || true)
if [ -n "$eldenring_dir" ]; then
read -p "Is this your Elden Ring Game folder? $eldenring_dir [y/N]: " input
if [[ $input == "y" || $input == "Y" || $input == "yes" || $input == "Yes" ]]; then
break
fi
eldenring_dir=""
fi
done
if [[ -z "$eldenring_dir" ]]; then
input=""
read -p "Please provide your Elden Ring Directory Path: " input
if test -f "$input/eldenring.exe"; then
echo "Correct Elden Ring directory"
eldenring_dir=$input
echo "$eldenring_dir"
else
echo "Incorrect Elden Ring directory. 'eldenring.exe' not found at provided path. Exiting..."
exit 1
fi
fi
input=""
echo "Creating temp download folder"
temp_dir=$(mktemp -d)
cd "$temp_dir"
echo "Downloading Seamless Coop"
echo "Download Url: $sc_download_url"
wget -q -O seamlesscoop.zip "$sc_download_url"
echo "Unzipping downloaded files"
unzip -q seamlesscoop.zip
rm seamlesscoop.zip
# If seamless coop settings exist in install directory, ask the user whether they want to replace the settings file
# If 'no', will delete the empty settings file, so it doesn't get overwritten when copying the files
if test -f "$eldenring_dir/ersc_launcher.exe"; then
read -p "Override existing Seamless Coop settings? This resets all of your Seamless Coop settings, including multiplayer password [Y/n]: " input
if [[ $input == "n" || $input == "N" || $input == "No" || $input == "no" ]]; then
rm SeamlessCoop/ersc_settings.ini
fi
fi
echo "Moving source files to Elden Ring Directory"
rsync -r --remove-source-files * "$eldenring_dir"
echo "Deleting temp download folder"
cleanup() {
rm -rf "$temp_dir"
}
trap cleanup EXIT
echo "Done"