mirror of
https://github.com/the-sane/lug-helper.git
synced 2025-07-03 21:13:35 +00:00
Compare commits
16 Commits
v1.14
...
9a2c064a06
Author | SHA1 | Date | |
---|---|---|---|
9a2c064a06 | |||
6ef58adc12 | |||
3b3abbe8ea | |||
da1fc66571 | |||
bc5d5c4a9b | |||
deb84dd757 | |||
fc70cdc687 | |||
21444076de | |||
4b32177e97 | |||
b4762d4724 | |||
37c94af2ed | |||
6d56599e2f | |||
9909221dff | |||
a328b465ef | |||
8e28327e0f | |||
156a0884d4 |
@ -1,4 +1,4 @@
|
|||||||
# LUG-Helper
|
# LUG Helper
|
||||||
**Star Citizen's Linux Users Group Helper Script**
|
**Star Citizen's Linux Users Group Helper Script**
|
||||||
https://robertsspaceindustries.com/orgs/LUG
|
https://robertsspaceindustries.com/orgs/LUG
|
||||||
|
|
||||||
@ -8,7 +8,7 @@ _**This script is designed to help you manage and optimize Star Citizen on Linux
|
|||||||
Zenity menus are used for a GUI experience with a fallback to terminal-based menus where Zenity is unavailable.
|
Zenity menus are used for a GUI experience with a fallback to terminal-based menus where Zenity is unavailable.
|
||||||
Command line arguments are available for quickly launching functions from the terminal.
|
Command line arguments are available for quickly launching functions from the terminal.
|
||||||
|
|
||||||
Configuration is saved in *$XDG_CONFIG_HOME/starcitizen-lug/*.
|
Configuration is saved in *$XDG_CONFIG_HOME/starcitizen-lug/*
|
||||||
Keybinds are backed up to *$XDG_CONFIG_HOME/starcitizen-lug/keybinds/*
|
Keybinds are backed up to *$XDG_CONFIG_HOME/starcitizen-lug/keybinds/*
|
||||||
|
|
||||||
## Options:
|
## Options:
|
||||||
@ -62,7 +62,6 @@ Keybinds are backed up to *$XDG_CONFIG_HOME/starcitizen-lug/keybinds/*
|
|||||||
From Source:
|
From Source:
|
||||||
1. Download it!
|
1. Download it!
|
||||||
2. Run it!
|
2. Run it!
|
||||||
3. If you want, move *lug-logo.png* to */usr/share/pixmaps/*
|
|
||||||
|
|
||||||
Arch Linux: https://aur.archlinux.org/packages/lug-helper/
|
Arch Linux: https://aur.archlinux.org/packages/lug-helper/
|
||||||
|
|
||||||
@ -72,4 +71,5 @@ Arch Linux: https://aur.archlinux.org/packages/lug-helper/
|
|||||||
- https://github.com/gort818
|
- https://github.com/gort818
|
||||||
- https://github.com/victort
|
- https://github.com/victort
|
||||||
- https://github.com/Wrzlprnft
|
- https://github.com/Wrzlprnft
|
||||||
|
- https://github.com/ananace
|
||||||
- Runner Downloader inspired by https://github.com/richardtatum/sc-runner-updater
|
- Runner Downloader inspired by https://github.com/richardtatum/sc-runner-updater
|
||||||
|
@ -72,6 +72,8 @@ if [ ! -x "$(command -v mktemp)" ] || [ ! -x "$(command -v sort)" ] || [ ! -x "$
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
######## Config ############################################################
|
||||||
|
|
||||||
wine_conf="winedir.conf"
|
wine_conf="winedir.conf"
|
||||||
game_conf="gamedir.conf"
|
game_conf="gamedir.conf"
|
||||||
|
|
||||||
@ -139,7 +141,7 @@ max_download_items=20
|
|||||||
# used to dynamically determine the height of menus
|
# used to dynamically determine the height of menus
|
||||||
menu_option_height="25"
|
menu_option_height="25"
|
||||||
|
|
||||||
############################################################################
|
######## Bundled Files #####################################################
|
||||||
|
|
||||||
# Use logo installed by a packaged version of this script if available
|
# Use logo installed by a packaged version of this script if available
|
||||||
# Otherwise, default to the logo in the same directory
|
# Otherwise, default to the logo in the same directory
|
||||||
@ -151,16 +153,23 @@ else
|
|||||||
lug_logo="info"
|
lug_logo="info"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Lutris install script
|
# Use Lutris install script installed by a packaged version of this script if available
|
||||||
install_script="$helper_dir/lug-lutris-install.json"
|
# Otherwise, default to the json in the same directory
|
||||||
|
if [ -f "/usr/share/lug-helper/lug-lutris-install.json" ]; then
|
||||||
|
install_script="/usr/share/lug-helper/lug-lutris-install.json"
|
||||||
|
else
|
||||||
|
install_script="$helper_dir/lug-lutris-install.json"
|
||||||
|
fi
|
||||||
|
|
||||||
|
######## Links #############################################################
|
||||||
|
|
||||||
|
# LUG Wiki
|
||||||
|
lug_wiki="https://github.com/starcitizen-lug/information-howtos/wiki"
|
||||||
|
|
||||||
# Github repo and script version info
|
# Github repo and script version info
|
||||||
repo="starcitizen-lug/lug-helper"
|
repo="starcitizen-lug/lug-helper"
|
||||||
releases_url="https://github.com/$repo/releases"
|
releases_url="https://github.com/$repo/releases"
|
||||||
current_version="v1.14"
|
current_version="v1.15"
|
||||||
|
|
||||||
# LUG Wiki
|
|
||||||
lug_wiki="https://github.com/starcitizen-lug/information-howtos/wiki"
|
|
||||||
|
|
||||||
############################################################################
|
############################################################################
|
||||||
############################################################################
|
############################################################################
|
||||||
@ -1143,11 +1152,13 @@ download_select_install() {
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
# For runners, check GlibC version against runner requirements
|
# For runners, check GlibC version against runner requirements
|
||||||
if [ "download_type" = "runner" ] && [ "$contributor_name" = "/dev/null" ]; then
|
if [ "$download_type" = "runner" ] && [ "$contributor_name" = "/dev/null" ]; then
|
||||||
required_glibc="2.33"
|
required_glibc="2.33"
|
||||||
system_glibc="$(ldd --version | awk '/ldd/{print $NF}')"
|
system_glibc="$(ldd --version | awk '/ldd/{print $NF}')"
|
||||||
|
|
||||||
if [ "$(bc <<< "$required_glibc > $system_glibc")" = "1" ]; then
|
# Sort the versions and check if the installed glibc is smaller
|
||||||
|
if [ "$required_glibc" != "$system_glibc" ] &&
|
||||||
|
[ "$system_glibc" = "$(printf "$system_glibc\n$required_glibc" | sort -V | head -n1)" ]; then
|
||||||
message warning "Your glibc version is incompatible with the selected runner.\n\nSystem glibc: v$system_glibc\nMinimum required glibc: v$required_glibc"
|
message warning "Your glibc version is incompatible with the selected runner.\n\nSystem glibc: v$system_glibc\nMinimum required glibc: v$required_glibc"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -1432,6 +1443,12 @@ install_game() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Display the LUG Wiki
|
||||||
|
display_wiki() {
|
||||||
|
# Display a message containing the URL
|
||||||
|
message info "See the Wiki for our Quick-Start Guide, Manual Installation instructions,\nPerformance Tuning, and Common Issues and Solutions:\n\n$lug_wiki"
|
||||||
|
}
|
||||||
|
|
||||||
# Delete the shaders directory
|
# Delete the shaders directory
|
||||||
rm_shaders() {
|
rm_shaders() {
|
||||||
# Get/Set directory paths
|
# Get/Set directory paths
|
||||||
@ -1495,13 +1512,14 @@ maintenance_menu() {
|
|||||||
shaders_msg="Delete my shaders folder only (Do this after each game update)"
|
shaders_msg="Delete my shaders folder only (Do this after each game update)"
|
||||||
vidcache_msg="Delete my DXVK cache"
|
vidcache_msg="Delete my DXVK cache"
|
||||||
dirs_msg="Display Helper and Star Citizen directories"
|
dirs_msg="Display Helper and Star Citizen directories"
|
||||||
|
wiki_msg="Show the LUG Wiki"
|
||||||
reset_msg="Reset Helper configs"
|
reset_msg="Reset Helper configs"
|
||||||
quit_msg="Return to the main menu"
|
quit_msg="Return to the main menu"
|
||||||
|
|
||||||
# Set the options to be displayed in the menu
|
# Set the options to be displayed in the menu
|
||||||
menu_options=("$version_msg" "$sanitize_msg" "$shaders_msg" "$vidcache_msg" "$dirs_msg" "$reset_msg" "$quit_msg")
|
menu_options=("$version_msg" "$sanitize_msg" "$shaders_msg" "$vidcache_msg" "$dirs_msg" "$wiki_msg" "$reset_msg" "$quit_msg")
|
||||||
# Set the corresponding functions to be called for each of the options
|
# Set the corresponding functions to be called for each of the options
|
||||||
menu_actions=("set_version" "sanitize" "rm_shaders" "rm_dxvkcache" "display_dirs" "reset_helper" "menu_loop_done")
|
menu_actions=("set_version" "sanitize" "rm_shaders" "rm_dxvkcache" "display_dirs" "display_wiki" "reset_helper" "menu_loop_done")
|
||||||
|
|
||||||
# Calculate the total height the menu should be
|
# Calculate the total height the menu should be
|
||||||
menu_height="$(($menu_option_height * ${#menu_options[@]} + $menu_text_height))"
|
menu_height="$(($menu_option_height * ${#menu_options[@]} + $menu_text_height))"
|
||||||
@ -1580,20 +1598,6 @@ fi
|
|||||||
# Set defaults
|
# Set defaults
|
||||||
live_or_ptu="$live_dir"
|
live_or_ptu="$live_dir"
|
||||||
|
|
||||||
# Check if a newer verison of the script is available
|
|
||||||
latest_version="$(get_latest_release "$repo")"
|
|
||||||
|
|
||||||
if [ "$latest_version" != "$current_version" ] &&
|
|
||||||
[ "$current_version" = "$(printf "$current_version\n$latest_version" | sort -V | head -n1)" ]; then
|
|
||||||
if [ "$use_zenity" -eq 1 ]; then
|
|
||||||
releases_url_formatted="<a href='$releases_url'>$releases_url</a>"
|
|
||||||
else
|
|
||||||
releases_url_formatted="$releases_url"
|
|
||||||
fi
|
|
||||||
|
|
||||||
message info "The latest version of the LUG Helper is $latest_version\nYou are using $current_version\n\nYou can download new releases here:\n$releases_url_formatted"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If invoked with command line arguments, process them and exit
|
# If invoked with command line arguments, process them and exit
|
||||||
if [ "$#" -gt 0 ]; then
|
if [ "$#" -gt 0 ]; then
|
||||||
while [ "$#" -gt 0 ]
|
while [ "$#" -gt 0 ]
|
||||||
@ -1692,6 +1696,22 @@ Usage: lug-helper <options>
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Format some URLs for Zenity
|
||||||
|
if [ "$use_zenity" -eq 1 ]; then
|
||||||
|
releases_url="<a href='$releases_url'>$releases_url</a>"
|
||||||
|
lug_wiki="<a href='$lug_wiki'>$lug_wiki</a>"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if a newer verison of the script is available
|
||||||
|
latest_version="$(get_latest_release "$repo")"
|
||||||
|
|
||||||
|
# Sort the versions and check if the installed Helper is smaller
|
||||||
|
if [ "$latest_version" != "$current_version" ] &&
|
||||||
|
[ "$current_version" = "$(printf "$current_version\n$latest_version" | sort -V | head -n1)" ]; then
|
||||||
|
|
||||||
|
message info "The latest version of the LUG Helper is $latest_version\nYou are using $current_version\n\nYou can download new releases here:\n$releases_url"
|
||||||
|
fi
|
||||||
|
|
||||||
# Loop the main menu until the user selects quit
|
# Loop the main menu until the user selects quit
|
||||||
while true; do
|
while true; do
|
||||||
# Configure the menu
|
# Configure the menu
|
||||||
|
@ -80,11 +80,12 @@
|
|||||||
"dxvk": true,
|
"dxvk": true,
|
||||||
"esync": true,
|
"esync": true,
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"nvapi,nvapi64": "disabled"
|
"nvapi,nvapi64": "disabled",
|
||||||
},
|
"libglesv2": "disabled"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"content": "files:\n- client: https://install.robertsspaceindustries.com/star-citizen/RSI-Setup-1.5.4.exe\ngame:\n arch: win64\n args: null\n exe: drive_c/Program Files/Roberts Space Industries/RSI Launcher/RSI Launcher.exe\n prefix: $GAMEDIR\ninstaller:\n- task:\n arch: win64\n description: Creating Wine prefix\n name: create_prefix\n prefix: $GAMEDIR\n- task:\n app: --force arial vcrun2019 win10\n arch: win64\n description: Installing dlls\n name: winetricks\n prefix: $GAMEDIR\n- task:\n arch: win64\n args: /S\n description: Installing client\n executable: client\n name: wineexec\n prefix: $GAMEDIR\nsystem:\n env:\n DXVK_HUD: '0'\n __GL_SHADER_DISK_CACHE: 1\n __GL_SHADER_DISK_CACHE_SIZE: '1073741824'\n __GL_THREADED_OPTIMIZATIONS: '1'\nwine:\n dxvk: true\n esync: true\n overrides:\n nvapi,nvapi64: disabled\n"
|
"content": "files:\n- client: https://install.robertsspaceindustries.com/star-citizen/RSI-Setup-1.5.4.exe\ngame:\n arch: win64\n args: null\n exe: drive_c/Program Files/Roberts Space Industries/RSI Launcher/RSI Launcher.exe\n prefix: $GAMEDIR\ninstaller:\n- task:\n arch: win64\n description: Creating Wine prefix\n name: create_prefix\n prefix: $GAMEDIR\n- task:\n app: --force arial vcrun2019 win10\n arch: win64\n description: Installing dlls\n name: winetricks\n prefix: $GAMEDIR\n- task:\n arch: win64\n args: /S\n description: Installing client\n executable: client\n name: wineexec\n prefix: $GAMEDIR\nsystem:\n env:\n DXVK_HUD: '0'\n __GL_SHADER_DISK_CACHE: 1\n __GL_SHADER_DISK_CACHE_SIZE: '1073741824'\n __GL_THREADED_OPTIMIZATIONS: '1'\nwine:\n dxvk: true\n esync: true\n overrides:\n nvapi,nvapi64: disabled\n libglesv2: disabled\n"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user