mirror of
https://github.com/the-sane/lug-helper.git
synced 2025-01-14 23:10:35 +00:00
Compare commits
5 Commits
d24e8b590b
...
707211962f
Author | SHA1 | Date | |
---|---|---|---|
|
707211962f | ||
|
5df5cb210d | ||
|
bf36fc96a9 | ||
|
702c678716 | ||
|
dedefebd2d |
@ -20,6 +20,9 @@ Keybinds are backed up to *$XDG_CONFIG_HOME/starcitizen-lug/keybinds/*
|
||||
- Checks that the hard open file descriptors limit is set to at least 524288.
|
||||
- This limits the maximum number of open files on your system. On some Linux distributions, the default is set too low for Star Citizen.
|
||||
|
||||
`Install Star Citizen`
|
||||
- Launches Lutris and uses the bundled json to install Star Citizen
|
||||
|
||||
`Manage Lutris Runners`
|
||||
- Quickly install and delete Lutris wine runners
|
||||
|
||||
|
@ -15,6 +15,8 @@
|
||||
# - Check your system for optimal settings and
|
||||
# change them as needed to prevent crashes.
|
||||
#
|
||||
# - Install Star Citizen using a bundled Lutris install script
|
||||
#
|
||||
# - Easily install and remove Lutris wine Runners and DXVK versions.
|
||||
#
|
||||
# - Qickly wipe your Star Citizen USER folder as is recommended
|
||||
@ -63,10 +65,10 @@ if [ ! -x "$(command -v curl)" ]; then
|
||||
notify-send "lug-helper" "The required package 'curl' was not found on this system.\n" --icon=dialog-warning
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -x "$(command -v mktemp)" ] || [ ! -x "$(command -v basename)" ] || [ ! -x "$(command -v sort)" ]; then
|
||||
if [ ! -x "$(command -v mktemp)" ] || [ ! -x "$(command -v sort)" ] || [ ! -x "$(command -v basename)" ] || [ ! -x "$(command -v realpath)" ] || [ ! -x "$(command -v dirname)" ]; then
|
||||
# Print to stderr and also try warning the user through notify-send
|
||||
printf "lug-helper.sh: One or more required packages were not found on this system.\nPlease check that the following packages are installed:\n- mktemp (part of gnu coreutils)\n- basename (part of gnu coreutils)\n- sort (part of gnu coreutils)\n" 1>&2
|
||||
notify-send "lug-helper" "One or more required packages were not found on this system.\nPlease check that the following packages are installed:\n- mktemp (part of gnu coreutils)\n- basename (part of gnu coreutils)\n- sort (part of gnu coreutils)\n" --icon=dialog-warning
|
||||
printf "lug-helper.sh: One or more required packages were not found on this system.\nPlease check that the following coreutils packages are installed:\n- mktemp\n- sort\n- basename\n- realpath\n- dirname\n" 1>&2
|
||||
notify-send "lug-helper" "One or more required packages were not found on this system.\nPlease check that the following coreutils packages are installed:\n- mktemp\n- sort\n- basename\n- realpath\n- dirname\n" --icon=dialog-warning
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -80,6 +82,9 @@ data_dir="${XDG_DATA_HOME:-$HOME/.local/share}"
|
||||
# .config subdirectory
|
||||
conf_subdir="starcitizen-lug"
|
||||
|
||||
# Helper directory
|
||||
helper_dir="$(realpath "$0" | xargs dirname)"
|
||||
|
||||
# Temporary directory
|
||||
tmp_dir="$(mktemp -d --suffix=".lughelper")"
|
||||
trap 'rm -r "$tmp_dir"' EXIT
|
||||
@ -140,16 +145,19 @@ menu_option_height="25"
|
||||
# Otherwise, default to the logo in the same directory
|
||||
if [ -f "/usr/share/pixmaps/lug-logo.png" ]; then
|
||||
lug_logo="/usr/share/pixmaps/lug-logo.png"
|
||||
elif [ -f "lug-logo.png" ]; then
|
||||
lug_logo="lug-logo.png"
|
||||
elif [ -f "$helper_dir/lug-logo.png" ]; then
|
||||
lug_logo="$helper_dir/lug-logo.png"
|
||||
else
|
||||
lug_logo="info"
|
||||
fi
|
||||
|
||||
# Lutris install script
|
||||
install_script="$helper_dir/lug-lutris-install.json"
|
||||
|
||||
# Github repo and script version info
|
||||
repo="starcitizen-lug/lug-helper"
|
||||
releases_url="https://github.com/$repo/releases"
|
||||
current_version="v1.13"
|
||||
current_version="v1.14"
|
||||
|
||||
############################################################################
|
||||
############################################################################
|
||||
@ -748,6 +756,23 @@ avx_check() {
|
||||
|
||||
#------------------------- end preflight check functions ---------------------#
|
||||
|
||||
# Install Star Citizen using Lutris
|
||||
install_game() {
|
||||
# Check if Lutris is installed
|
||||
if [ ! -x "$(command -v lutris)" ]; then
|
||||
message warning "Lutris is required but does not appear to be installed."
|
||||
return 0
|
||||
fi
|
||||
# Check if the install script exists
|
||||
if [ ! -f "$install_script" ]; then
|
||||
message warning "Lutris install script not found.\n\n$install_script\n\nIt is included in our official releases here:\n$releases_url"
|
||||
return 0
|
||||
fi
|
||||
|
||||
lutris --install "$install_script" &
|
||||
message info "The installation will continue in Lutris"
|
||||
}
|
||||
|
||||
# Delete the shaders directory
|
||||
rm_shaders() {
|
||||
# Get/Set directory paths
|
||||
@ -1613,6 +1638,7 @@ while true; do
|
||||
|
||||
# Configure the menu options
|
||||
preflight_msg="Preflight Check (System Optimization)"
|
||||
install_msg="Install Star Citizen"
|
||||
runners_msg="Manage Lutris Runners"
|
||||
dxvk_msg="Manage DXVK Versions"
|
||||
maintenance_msg="Maintenance and Troubleshooting"
|
||||
@ -1620,9 +1646,9 @@ while true; do
|
||||
quit_msg="Quit"
|
||||
|
||||
# Set the options to be displayed in the menu
|
||||
menu_options=("$preflight_msg" "$runners_msg" "$dxvk_msg" "$maintenance_msg" "$randomizer_msg" "$quit_msg")
|
||||
menu_options=("$preflight_msg" "$install_msg" "$runners_msg" "$dxvk_msg" "$maintenance_msg" "$randomizer_msg" "$quit_msg")
|
||||
# Set the corresponding functions to be called for each of the options
|
||||
menu_actions=("preflight_check" "runner_manage" "dxvk_manage" "maintenance_menu" "referral_randomizer" "quit")
|
||||
menu_actions=("preflight_check" "install_game" "runner_manage" "dxvk_manage" "maintenance_menu" "referral_randomizer" "quit")
|
||||
|
||||
# Calculate the total height the menu should be
|
||||
menu_height="$(($menu_option_height * ${#menu_options[@]} + $menu_text_height))"
|
||||
|
90
lug-lutris-install.json
Normal file
90
lug-lutris-install.json
Normal file
@ -0,0 +1,90 @@
|
||||
{
|
||||
"count": 1,
|
||||
"next": null,
|
||||
"previous": null,
|
||||
"results": [
|
||||
{
|
||||
"id": 10872,
|
||||
"game_id": 17622,
|
||||
"game_slug": "star-citizen",
|
||||
"name": "Star Citizen",
|
||||
"year": 2016,
|
||||
"user": "ungarscool1",
|
||||
"runner": "wine",
|
||||
"slug": "starcitizen-lutris-install",
|
||||
"version": "LIVE/PTU",
|
||||
"description": "Welcome to the Star Citizen installer maintained by the Star Citizen LUG!\r\nBefore continuing, please see our Quick Start Guide:\r\nhttps://github.com/starcitizen-lug/information-howtos/wiki\r\n\r\nFor help with the installer or to just hang out, we invite Linux Star Citizen players to join us: https://robertsspaceindustries.com/orgs/LUG/",
|
||||
"notes": "Performance may be choppy the first couple minutes after visiting a new place or performing a new activity while shaders compile. Subsequent arrival should not be choppy.\r\n\r\nIf you receive a Runtime Error you can continue using Star Citizen by dragging the dialog box to the side, but in-game VoIP and FoIP will cease to function until Star Citizen is restarted. Drop in to the LUG group's chat and forums, we have custom runners to work around this problem.\r\n\r\nPlease make sure you have all Wine dependencies properly installed, or your game may crash during start-up. See our wiki linked above for more information and instructions.\r\n\r\nTo prevent crashes in areas with lots of geometry, the game needs a Linux resource limit named \"vm.max_map_count\" increased. If you are following our Quick Start Guide and using our LUG Helper, the Preflight Check will do this for you. To set it manually, execute:\r\n\r\nsudo sysctl -w vm.max_map_count=16777216\r\n\r\nConsult your distro's documentation on how to set this permanently, or ask a LUG member.\r\n\r\nSee you in the 'verse!",
|
||||
"created_at": "2018-11-15T17:43:07.367000Z",
|
||||
"updated_at": "2021-12-24T00:49:16.775712Z",
|
||||
"draft": false,
|
||||
"published": true,
|
||||
"published_by": 64834,
|
||||
"rating": "",
|
||||
"steamid": null,
|
||||
"gogid": null,
|
||||
"gogslug": "",
|
||||
"humbleid": "",
|
||||
"humblestoreid": "",
|
||||
"humblestoreid_real": "",
|
||||
"script": {
|
||||
"files": [
|
||||
{
|
||||
"client": "https://install.robertsspaceindustries.com/star-citizen/RSI-Setup-1.5.4.exe"
|
||||
}
|
||||
],
|
||||
"game": {
|
||||
"arch": "win64",
|
||||
"args": null,
|
||||
"exe": "drive_c/Program Files/Roberts Space Industries/RSI Launcher/RSI Launcher.exe",
|
||||
"prefix": "$GAMEDIR"
|
||||
},
|
||||
"installer": [
|
||||
{
|
||||
"task": {
|
||||
"arch": "win64",
|
||||
"description": "Creating Wine prefix",
|
||||
"name": "create_prefix",
|
||||
"prefix": "$GAMEDIR"
|
||||
}
|
||||
},
|
||||
{
|
||||
"task": {
|
||||
"app": "--force arial vcrun2019 win10",
|
||||
"arch": "win64",
|
||||
"description": "Installing dlls",
|
||||
"name": "winetricks",
|
||||
"prefix": "$GAMEDIR"
|
||||
}
|
||||
},
|
||||
{
|
||||
"task": {
|
||||
"arch": "win64",
|
||||
"args": "/S",
|
||||
"description": "Installing client",
|
||||
"executable": "client",
|
||||
"name": "wineexec",
|
||||
"prefix": "$GAMEDIR"
|
||||
}
|
||||
}
|
||||
],
|
||||
"system": {
|
||||
"env": {
|
||||
"DXVK_HUD": "0",
|
||||
"__GL_SHADER_DISK_CACHE": 1,
|
||||
"__GL_SHADER_DISK_CACHE_SIZE": "1073741824",
|
||||
"__GL_THREADED_OPTIMIZATIONS": "1"
|
||||
}
|
||||
},
|
||||
"wine": {
|
||||
"dxvk": true,
|
||||
"esync": true,
|
||||
"overrides": {
|
||||
"nvapi,nvapi64": "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"
|
||||
}
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user