Skip to content

Instantly share code, notes, and snippets.

@usrtrv
Created February 22, 2023 19:22
Show Gist options
  • Save usrtrv/5ecd1a343f4a91d7771887fa3cbad119 to your computer and use it in GitHub Desktop.
Save usrtrv/5ecd1a343f4a91d7771887fa3cbad119 to your computer and use it in GitHub Desktop.
Update every game's proton version.
#!/bin/bash
steam_dir="$HOME/.steam"
proton=""
list=0
options=$(getopt -o d:p:l --long directory:proton:list -- "$@")
eval set -- "$options"
while true; do
case "$1" in
-d|--directory)
steam_dir="$2"
shift 2;;
-p|--proton)
proton="$2"
shift 2;;
-l|--list)
list=1
shift;;
--)
shift
break;;
*)
echo "Invalid option: $1"
exit 1;;
esac
done
# Grab all the library folders
dirs=$(cat $steam_dir/steam/steamapps/libraryfolders.vdf | grep -o '/.*' | sed 's/"//g' )
for dir in $dirs; do
echo "Found library at $dir..."
if [ -n "$proton" ]
then
sed -i "1s/.*/${proton}/g" $dir/steamapps/compatdata/*/config_info
fi
if [ "$list" -eq 1 ]
then
head -1 $dir/steamapps/compatdata/*/config_info | sed -e 's@steamapps/compatdata/@@g' -e 's@/config_info@@g'
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment