25 Commits

Author SHA1 Message Date
f3166c77da Integrate EAC workaround from eac branch
Seems like it's going to take them a while to fix it, so
2021-12-29 18:11:33 -05:00
707211962f Rename starcitizen-lutris-install.json to lug-lutris-install.json 2021-12-28 15:59:13 -05:00
5df5cb210d Update lutris install json filename 2021-12-28 15:58:52 -05:00
bf36fc96a9 Update README.md 2021-12-28 15:42:30 -05:00
702c678716 Upload Lutris install json 2021-12-28 15:41:32 -05:00
dedefebd2d Add installer using a bundled lutris json 2021-12-28 15:40:45 -05:00
d24e8b590b Bump version 2021-12-24 14:46:38 -05:00
3daeb0b3b1 Update lug-helper.sh
fixed raw-wine repo path
2021-12-24 02:01:11 +01:00
e8c93196ff Specify license 2021-12-21 19:52:32 -05:00
1561e1a9f6 Bump version 2021-11-27 20:28:40 -05:00
a0110720f6 Improve version checker 2021-11-27 20:28:11 -05:00
c1af0383f2 Bump version number 2021-11-27 00:27:41 -05:00
74c5bd2275 Add dxvk manager to command line arguments
Fixes #25
2021-11-27 00:17:24 -05:00
48d49dd438 Update repo url 2021-11-25 14:08:23 -05:00
f080ae2bca Fix syntax 2021-11-21 21:24:57 -05:00
72677ff7d5 Additional referral code 2021-11-19 10:58:49 -05:00
42f9992abf Revert EAC workaround on master branch
Track changes in a dedicated branch
2021-11-16 12:57:17 -05:00
786e3f4c13 Easy Anti-Cheat workaround 2021-11-16 12:49:09 -05:00
08285946c8 Add more referral codes 2021-11-14 17:24:52 -05:00
dafc53615d Display actual mapcount and file limits on system 2021-11-14 12:13:10 -05:00
3f72676c71 Additional referral code 2021-11-11 23:40:24 -05:00
3d7702dfdd Additional referral code 2021-11-11 09:53:39 -05:00
7ae0bcf330 Add additional referral code 2021-11-10 15:05:25 -05:00
8ce1a9a8ea Use better variable names 2021-11-10 15:04:48 -05:00
431df4aabd Corrected debug message 2021-11-08 12:57:00 +01:00
3 changed files with 199 additions and 30 deletions

View File

@ -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. - 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. - 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` `Manage Lutris Runners`
- Quickly install and delete Lutris wine runners - Quickly install and delete Lutris wine runners

View File

@ -15,6 +15,8 @@
# - Check your system for optimal settings and # - Check your system for optimal settings and
# change them as needed to prevent crashes. # 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. # - Easily install and remove Lutris wine Runners and DXVK versions.
# #
# - Qickly wipe your Star Citizen USER folder as is recommended # - Qickly wipe your Star Citizen USER folder as is recommended
@ -46,6 +48,8 @@
# Contributor: https://github.com/Wrzlprnft # Contributor: https://github.com/Wrzlprnft
# Runner Downloader inspired by: # Runner Downloader inspired by:
# https://github.com/richardtatum/sc-runner-updater # https://github.com/richardtatum/sc-runner-updater
#
# License: GPLv3.0
############################################################################ ############################################################################
# Check if script is run as root # Check if script is run as root
@ -61,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 notify-send "lug-helper" "The required package 'curl' was not found on this system.\n" --icon=dialog-warning
exit 1 exit 1
fi fi
if [ ! -x "$(command -v mktemp)" ] || [ ! -x "$(command -v basename)" ]; 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 # 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" 1>&2 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 packages are installed:\n- mktemp (part of gnu coreutils)\n- basename (part of gnu coreutils)\n" --icon=dialog-warning 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 exit 1
fi fi
@ -78,6 +82,9 @@ data_dir="${XDG_DATA_HOME:-$HOME/.local/share}"
# .config subdirectory # .config subdirectory
conf_subdir="starcitizen-lug" conf_subdir="starcitizen-lug"
# Helper directory
helper_dir="$(realpath "$0" | xargs dirname)"
# Temporary directory # Temporary directory
tmp_dir="$(mktemp -d --suffix=".lughelper")" tmp_dir="$(mktemp -d --suffix=".lughelper")"
trap 'rm -r "$tmp_dir"' EXIT trap 'rm -r "$tmp_dir"' EXIT
@ -105,7 +112,7 @@ runners_dir="$data_dir/lutris/runners/wine"
# The second is expected to contain the github api releases url # The second is expected to contain the github api releases url
# ie. "RawFox" "https://api.github.com/repos/rawfoxDE/raw-wine/releases" # ie. "RawFox" "https://api.github.com/repos/rawfoxDE/raw-wine/releases"
runner_sources=( runner_sources=(
"RawFox" "https://api.github.com/repos/rawfoxDE/raw-wine/releases" "RawFox" "https://api.github.com/repos/starcitizen-lug/raw-wine/releases"
"Molotov/Snatella" "https://api.github.com/repos/snatella/wine-runner-sc/releases" "Molotov/Snatella" "https://api.github.com/repos/snatella/wine-runner-sc/releases"
"/dev/null" "https://api.github.com/repos/gort818/wine-sc-lug/releases" "/dev/null" "https://api.github.com/repos/gort818/wine-sc-lug/releases"
"GloriousEggroll" "https://api.github.com/repos/GloriousEggroll/wine-ge-custom/releases" "GloriousEggroll" "https://api.github.com/repos/GloriousEggroll/wine-ge-custom/releases"
@ -138,16 +145,19 @@ menu_option_height="25"
# Otherwise, default to the logo in the same directory # Otherwise, default to the logo in the same directory
if [ -f "/usr/share/pixmaps/lug-logo.png" ]; then if [ -f "/usr/share/pixmaps/lug-logo.png" ]; then
lug_logo="/usr/share/pixmaps/lug-logo.png" lug_logo="/usr/share/pixmaps/lug-logo.png"
elif [ -f "lug-logo.png" ]; then elif [ -f "$helper_dir/lug-logo.png" ]; then
lug_logo="lug-logo.png" lug_logo="$helper_dir/lug-logo.png"
else else
lug_logo="info" lug_logo="info"
fi fi
# Lutris install script
install_script="$helper_dir/lug-lutris-install.json"
# Github repo and script version info # Github repo and script version info
repo="the-sane/lug-helper" repo="starcitizen-lug/lug-helper"
releases_url="https://github.com/the-sane/lug-helper/releases" releases_url="https://github.com/$repo/releases"
current_version="v1.11.1" current_version="v1.14"
############################################################################ ############################################################################
############################################################################ ############################################################################
@ -304,7 +314,7 @@ menu() {
elif [ -z "$menu_height" ]; then elif [ -z "$menu_height" ]; then
debug_print exit "Script error: The string 'menu_height' was not set\nbefore calling the menu function. Aborting." debug_print exit "Script error: The string 'menu_height' was not set\nbefore calling the menu function. Aborting."
elif [ -z "$cancel_label" ]; then elif [ -z "$cancel_label" ]; then
debug_print exit "Script error: The string 'menu_height' was not set\nbefore calling the menu function. Aborting." debug_print exit "Script error: The string 'cancel_label' was not set\nbefore calling the menu function. Aborting."
fi fi
# Use Zenity if it is available # Use Zenity if it is available
@ -637,7 +647,7 @@ mapcount_check() {
# Add to the results and actions arrays # Add to the results and actions arrays
if [ "$mapcount" -ge 16777216 ]; then if [ "$mapcount" -ge 16777216 ]; then
# All good # All good
preflight_pass+=("vm.max_map_count is set to at least 16777216.") preflight_pass+=("vm.max_map_count is set to $mapcount.")
elif grep -E -x -q "vm.max_map_count" /etc/sysctl.conf /etc/sysctl.d/* 2>/dev/null; then elif grep -E -x -q "vm.max_map_count" /etc/sysctl.conf /etc/sysctl.d/* 2>/dev/null; then
# Was it supposed to have been set by sysctl? # Was it supposed to have been set by sysctl?
preflight_fail+=("vm.max_map_count is configured to at least 16777216 but the setting has not been loaded by your system.") preflight_fail+=("vm.max_map_count is configured to at least 16777216 but the setting has not been loaded by your system.")
@ -702,7 +712,7 @@ filelimit_check() {
# Add to the results and actions arrays # Add to the results and actions arrays
if [ "$filelimit" -ge 524288 ]; then if [ "$filelimit" -ge 524288 ]; then
# All good # All good
preflight_pass+=("Hard open file descriptors limit is set to at least 524288.") preflight_pass+=("Hard open file descriptors limit is set to $filelimit.")
else else
# The file limit should be changed # The file limit should be changed
preflight_fail+=("Your hard open file descriptors limit is $filelimit\nand should be set to at least 524288\nto increase the maximum number of open files.") preflight_fail+=("Your hard open file descriptors limit is $filelimit\nand should be set to at least 524288\nto increase the maximum number of open files.")
@ -746,6 +756,23 @@ avx_check() {
#------------------------- end preflight check functions ---------------------# #------------------------- 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 # Delete the shaders directory
rm_shaders() { rm_shaders() {
# Get/Set directory paths # Get/Set directory paths
@ -807,17 +834,17 @@ lutris_restart() {
#------------------------- begin download functions ----------------------------# #------------------------- begin download functions ----------------------------#
# Display post download message or instructions if needed # Display post download message or instructions if needed
# Expects the variables message_heading, post_download_msg1, # Expects the variables message_heading, post_download_msg_text,
# post_download_msg2, and downloaded_item_name # post_download_msg_italics, and downloaded_item_name
post_download() { post_download() {
if [ "$trigger_post_download" = "true" ]; then if [ "$trigger_post_download" = "true" ]; then
message_heading="Download Complete" message_heading="Download Complete"
if [ "$use_zenity" -eq 1 ]; then if [ "$use_zenity" -eq 1 ]; then
message_heading="<b>$message_heading</b>" message_heading="<b>$message_heading</b>"
post_download_msg2="<i>$post_download_msg2</i>" post_download_msg_italics="<i>$post_download_msg_italics</i>"
fi fi
message info "$message_heading\n\n$post_download_msg1\n\n$post_download_msg2\n$downloaded_item_name" message info "$message_heading\n\n$post_download_msg_text\n\n$post_download_msg_italics\n$downloaded_item_name"
fi fi
trigger_post_download="false" trigger_post_download="false"
} }
@ -972,10 +999,10 @@ download_install() {
num_files=0 num_files=0
for extracted_item in "$tmp_dir/$download_name"/*; do for extracted_item in "$tmp_dir/$download_name"/*; do
if [ -d "$extracted_item" ]; then if [ -d "$extracted_item" ]; then
num_dirs="$((num_dirs+1))" num_dirs="$(($num_dirs+1))"
extracted_dir="$(basename "$extracted_item")" extracted_dir="$(basename "$extracted_item")"
elif [ -f "$extracted_item" ]; then elif [ -f "$extracted_item" ]; then
num_files="$((num_files+1))" num_files="$(($num_files+1))"
fi fi
done done
@ -1240,11 +1267,11 @@ runner_manage() {
# Set the post download instructions # Set the post download instructions
# Format: # Format:
# A header is automatically displayed that reads: Download Complete # A header is automatically displayed that reads: Download Complete
# msg1 is displayed below the header # msg_text is displayed below the header
# msg2 is displayed below that in italics when zenity is in use # msg_italics is displayed below that in italics when zenity is in use
# Lastly, the downloaded directory name is automatically displayed # Lastly, the downloaded directory name is automatically displayed
post_download_msg1="Select the runner in Lutris from the dropdown menu" post_download_msg_text="Select the runner in Lutris from the dropdown menu"
post_download_msg2="Configure->Runner Options->Wine version" post_download_msg_italics="Configure->Runner Options->Wine version"
# Call the download_manage function with the above configuration # Call the download_manage function with the above configuration
# The argument passed to the function is used for special handling # The argument passed to the function is used for special handling
@ -1271,11 +1298,11 @@ dxvk_manage() {
# Set the post download instructions # Set the post download instructions
# Format: # Format:
# A header is automatically displayed that reads: Download Complete # A header is automatically displayed that reads: Download Complete
# msg1 is displayed below the header # msg_text is displayed below the header
# msg2 is displayed below that in italics when zenity is in use # msg_italics is displayed below that in italics when zenity is in use
# Lastly, the downloaded directory name is automatically displayed # Lastly, the downloaded directory name is automatically displayed
post_download_msg1="Type the DXVK folder name in your Lutris settings" post_download_msg_text="Type the DXVK folder name in your Lutris settings"
post_download_msg2="Configure->Runner Options->DXVK version" post_download_msg_italics="Configure->Runner Options->DXVK version"
# Call the download_manage function with the above configuration # Call the download_manage function with the above configuration
# The argument passed to the function is used for special handling # The argument passed to the function is used for special handling
@ -1393,6 +1420,48 @@ preflight_check() {
fi fi
} }
# Deploy Easy Anti-Cheat Workaround
eac_workaround() {
# Get/set directory paths
getdirs
# Set the EAC directory path and hosts modification
eac_dir="$wine_prefix/drive_c/users/$USER/AppData/Roaming/EasyAntiCheat"
eac_hosts="127.0.0.1 modules-cdn.eac-prod.on.epicgames.com"
# Check if EAC is installed
if [ ! -d "$eac_dir" ]; then
message info "Easy Anti-Cheat does not appear to be installed.\nThere is nothing to do!"
return 1
fi
# Configure message variables
eac_title="Easy Anti-Cheat Workaround"
eac_hosts_formatted="$eac_hosts"
eac_dir_formatted="$eac_dir"
if [ "$use_zenity" -eq 1 ]; then
eac_title="<b>$eac_title</b>"
eac_hosts_formatted="<i>$eac_hosts_formatted</i>"
eac_dir_formatted="<i>$eac_dir_formatted</i>"
fi
if message question "$eac_title\n\nThe following entry will be added to /etc/hosts:\n$eac_hosts_formatted\n\nThe following directory will be deleted:\n$eac_dir_formatted\n\n\nTo revert these changes, delete the above line from\n/etc/hosts and relaunch the game\n\nDo you want to proceed?"; then
debug_print continue "Editing hosts file..."
# Use pollkit's pkexec for gui with a fallback to sudo
if [ -x "$(command -v pkexec)" ]; then
pkexec sh -c "echo $eac_hosts '#Star Citizen EAC workaround' >> /etc/hosts"
else
sudo sh -c "echo $eac_hosts '#Star Citizen EAC workaround' >> /etc/hosts"
fi
debug_print continue "Deleting $eac_dir..."
rm -r "$eac_dir"
message info "Easy Anti-Cheat workaround has been deployed!"
fi
}
# Show maintenance/troubleshooting options # Show maintenance/troubleshooting options
maintenance_menu() { maintenance_menu() {
# Loop the menu until the user selects quit # Loop the menu until the user selects quit
@ -1431,7 +1500,7 @@ maintenance_menu() {
# Get a random Penguin's Star Citizen referral code # Get a random Penguin's Star Citizen referral code
referral_randomizer() { referral_randomizer() {
# Populate the referral codes array # Populate the referral codes array
referral_codes=("STAR-4TZD-6KMM" "STAR-4XM2-VM99" "STAR-2NPY-FCR2" "STAR-T9Z9-7W6P" "STAR-VLBF-W2QR" "STAR-BYR6-YHMF" "STAR-3X2H-VZMX" "STAR-BRWN-FB9T" "STAR-FG6Y-N4Q4" "STAR-VLD6-VZRG" "STAR-T9KF-LV77" "STAR-4XHB-R7RF" "STAR-9NVF-MRN7" "STAR-3Q4W-9TC3" "STAR-3SBK-7QTT" "STAR-XFBT-9TTK" "STAR-F3H9-YPHN" "STAR-BYK6-RCCL" "STAR-XCKH-W6T7" "STAR-H292-39WK" "STAR-ZRT5-PJB7" "STAR-GMBP-SH9Y" "STAR-PLWB-LMFY" "STAR-TNZN-H4ZT" "STAR-T5G5-L2GJ" "STAR-6TPV-7QH2" "STAR-THHD-TV3Y" "STAR-7ZFS-PK2L" "STAR-SRQN-43TB" "STAR-9TDG-D4H9" "STAR-BPH3-THJC" "STAR-HL3M-R5KC" "STAR-GBS5-LTVB" "STAR-CJ3Y-KZZ4" "STAR-5GRM-7HBY" "STAR-G2GX-Y2QJ" "STAR-YWY3-H4XX" "STAR-6VGM-PTKC" "STAR-T6MZ-QFHX" "STAR-T2K6-LXFW" "STAR-XN25-9CJJ" "STAR-47V3-4QGB") referral_codes=("STAR-4TZD-6KMM" "STAR-4XM2-VM99" "STAR-2NPY-FCR2" "STAR-T9Z9-7W6P" "STAR-VLBF-W2QR" "STAR-BYR6-YHMF" "STAR-3X2H-VZMX" "STAR-BRWN-FB9T" "STAR-FG6Y-N4Q4" "STAR-VLD6-VZRG" "STAR-T9KF-LV77" "STAR-4XHB-R7RF" "STAR-9NVF-MRN7" "STAR-3Q4W-9TC3" "STAR-3SBK-7QTT" "STAR-XFBT-9TTK" "STAR-F3H9-YPHN" "STAR-BYK6-RCCL" "STAR-XCKH-W6T7" "STAR-H292-39WK" "STAR-ZRT5-PJB7" "STAR-GMBP-SH9Y" "STAR-PLWB-LMFY" "STAR-TNZN-H4ZT" "STAR-T5G5-L2GJ" "STAR-6TPV-7QH2" "STAR-THHD-TV3Y" "STAR-7ZFS-PK2L" "STAR-SRQN-43TB" "STAR-9TDG-D4H9" "STAR-BPH3-THJC" "STAR-HL3M-R5KC" "STAR-GBS5-LTVB" "STAR-CJ3Y-KZZ4" "STAR-5GRM-7HBY" "STAR-G2GX-Y2QJ" "STAR-YWY3-H4XX" "STAR-6VGM-PTKC" "STAR-T6MZ-QFHX" "STAR-T2K6-LXFW" "STAR-XN25-9CJJ" "STAR-47V3-4QGB" "STAR-YD4Z-TQZV" "STAR-XLN7-9XNJ" "STAR-N62T-2R39" "STAR-3S3D-9HXQ" "STAR-TRZF-NMCV" "STAR-TLLJ-SMG4")
# Pick a random array element. Scale a floating point number for # Pick a random array element. Scale a floating point number for
# a more random distribution than simply calling RANDOM # a more random distribution than simply calling RANDOM
random_code="${referral_codes[$(awk '{srand($2); print int(rand()*$1)}' <<< "${#referral_codes[@]} $RANDOM")]}" random_code="${referral_codes[$(awk '{srand($2); print int(rand()*$1)}' <<< "${#referral_codes[@]} $RANDOM")]}"
@ -1497,7 +1566,8 @@ live_or_ptu="$live_dir"
# Check if a newer verison of the script is available # Check if a newer verison of the script is available
latest_version="$(get_latest_release "$repo")" latest_version="$(get_latest_release "$repo")"
if [ "$latest_version" != "$current_version" ]; then if [ "$latest_version" != "$current_version" ] &&
[ "$current_version" = "$(printf "$current_version\n$latest_version" | sort -V | head -n1)" ]; then
if [ "$use_zenity" -eq 1 ]; then if [ "$use_zenity" -eq 1 ]; then
releases_url_formatted="<a href='$releases_url'>$releases_url</a>" releases_url_formatted="<a href='$releases_url'>$releases_url</a>"
else else
@ -1518,6 +1588,7 @@ if [ "$#" -gt 0 ]; then
Usage: lug-helper <options> Usage: lug-helper <options>
-p, --preflight-check Run system optimization checks -p, --preflight-check Run system optimization checks
-m, --manage-runners Install or remove Lutris runners -m, --manage-runners Install or remove Lutris runners
-k, --manage-dxvk Install or remove DXVK versions
-u, --delete-user-folder Delete Star Citizen USER folder, preserving keybinds -u, --delete-user-folder Delete Star Citizen USER folder, preserving keybinds
-s, --delete-shaders Delete Star Citizen shaders directory -s, --delete-shaders Delete Star Citizen shaders directory
-c, --delete-dxvk-cache Delete Star Citizen dxvk cache file -c, --delete-dxvk-cache Delete Star Citizen dxvk cache file
@ -1535,6 +1606,9 @@ Usage: lug-helper <options>
--manage-runners | -m ) --manage-runners | -m )
cargs+=("runner_manage") cargs+=("runner_manage")
;; ;;
--manage-dxvk | -k )
cargs+=("dxvk_manage")
;;
--delete-user-folder | -u ) --delete-user-folder | -u )
cargs+=("sanitize") cargs+=("sanitize")
;; ;;
@ -1606,6 +1680,8 @@ while true; do
# Configure the menu options # Configure the menu options
preflight_msg="Preflight Check (System Optimization)" preflight_msg="Preflight Check (System Optimization)"
install_msg="Install Star Citizen"
eac_msg="Deploy Easy Anti-Cheat Workaround"
runners_msg="Manage Lutris Runners" runners_msg="Manage Lutris Runners"
dxvk_msg="Manage DXVK Versions" dxvk_msg="Manage DXVK Versions"
maintenance_msg="Maintenance and Troubleshooting" maintenance_msg="Maintenance and Troubleshooting"
@ -1613,9 +1689,9 @@ while true; do
quit_msg="Quit" quit_msg="Quit"
# Set the options to be displayed in the menu # 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" "$eac_msg" "$runners_msg" "$dxvk_msg" "$maintenance_msg" "$randomizer_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=("preflight_check" "runner_manage" "dxvk_manage" "maintenance_menu" "referral_randomizer" "quit") menu_actions=("preflight_check" "install_game" "eac_workaround" "runner_manage" "dxvk_manage" "maintenance_menu" "referral_randomizer" "quit")
# 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))"

90
lug-lutris-install.json Normal file
View 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"
}
]
}