mirror of
https://github.com/the-sane/lug-helper.git
synced 2025-07-05 08:03:26 +00:00
Compare commits
9 Commits
1.11.1
...
1a415f9f1b
Author | SHA1 | Date | |
---|---|---|---|
1a415f9f1b | |||
786e3f4c13 | |||
08285946c8 | |||
dafc53615d | |||
3f72676c71 | |||
3d7702dfdd | |||
7ae0bcf330 | |||
8ce1a9a8ea | |||
431df4aabd |
@ -304,7 +304,7 @@ menu() {
|
||||
elif [ -z "$menu_height" ]; then
|
||||
debug_print exit "Script error: The string 'menu_height' was not set\nbefore calling the menu function. Aborting."
|
||||
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
|
||||
|
||||
# Use Zenity if it is available
|
||||
@ -637,7 +637,7 @@ mapcount_check() {
|
||||
# Add to the results and actions arrays
|
||||
if [ "$mapcount" -ge 16777216 ]; then
|
||||
# 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
|
||||
# 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.")
|
||||
@ -702,7 +702,7 @@ filelimit_check() {
|
||||
# Add to the results and actions arrays
|
||||
if [ "$filelimit" -ge 524288 ]; then
|
||||
# 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
|
||||
# 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.")
|
||||
@ -807,17 +807,17 @@ lutris_restart() {
|
||||
#------------------------- begin download functions ----------------------------#
|
||||
|
||||
# Display post download message or instructions if needed
|
||||
# Expects the variables message_heading, post_download_msg1,
|
||||
# post_download_msg2, and downloaded_item_name
|
||||
# Expects the variables message_heading, post_download_msg_text,
|
||||
# post_download_msg_italics, and downloaded_item_name
|
||||
post_download() {
|
||||
if [ "$trigger_post_download" = "true" ]; then
|
||||
message_heading="Download Complete"
|
||||
|
||||
if [ "$use_zenity" -eq 1 ]; then
|
||||
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
|
||||
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
|
||||
trigger_post_download="false"
|
||||
}
|
||||
@ -1240,11 +1240,11 @@ runner_manage() {
|
||||
# Set the post download instructions
|
||||
# Format:
|
||||
# A header is automatically displayed that reads: Download Complete
|
||||
# msg1 is displayed below the header
|
||||
# msg2 is displayed below that in italics when zenity is in use
|
||||
# msg_text is displayed below the header
|
||||
# msg_italics is displayed below that in italics when zenity is in use
|
||||
# Lastly, the downloaded directory name is automatically displayed
|
||||
post_download_msg1="Select the runner in Lutris from the dropdown menu"
|
||||
post_download_msg2="Configure->Runner Options->Wine version"
|
||||
post_download_msg_text="Select the runner in Lutris from the dropdown menu"
|
||||
post_download_msg_italics="Configure->Runner Options->Wine version"
|
||||
|
||||
# Call the download_manage function with the above configuration
|
||||
# The argument passed to the function is used for special handling
|
||||
@ -1271,11 +1271,11 @@ dxvk_manage() {
|
||||
# Set the post download instructions
|
||||
# Format:
|
||||
# A header is automatically displayed that reads: Download Complete
|
||||
# msg1 is displayed below the header
|
||||
# msg2 is displayed below that in italics when zenity is in use
|
||||
# msg_text is displayed below the header
|
||||
# msg_italics is displayed below that in italics when zenity is in use
|
||||
# Lastly, the downloaded directory name is automatically displayed
|
||||
post_download_msg1="Type the DXVK folder name in your Lutris settings"
|
||||
post_download_msg2="Configure->Runner Options->DXVK version"
|
||||
post_download_msg_text="Type the DXVK folder name in your Lutris settings"
|
||||
post_download_msg_italics="Configure->Runner Options->DXVK version"
|
||||
|
||||
# Call the download_manage function with the above configuration
|
||||
# The argument passed to the function is used for special handling
|
||||
@ -1393,6 +1393,48 @@ preflight_check() {
|
||||
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
|
||||
maintenance_menu() {
|
||||
# Loop the menu until the user selects quit
|
||||
@ -1431,7 +1473,7 @@ maintenance_menu() {
|
||||
# Get a random Penguin's Star Citizen referral code
|
||||
referral_randomizer() {
|
||||
# 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")
|
||||
# Pick a random array element. Scale a floating point number for
|
||||
# a more random distribution than simply calling RANDOM
|
||||
random_code="${referral_codes[$(awk '{srand($2); print int(rand()*$1)}' <<< "${#referral_codes[@]} $RANDOM")]}"
|
||||
@ -1606,6 +1648,7 @@ while true; do
|
||||
|
||||
# Configure the menu options
|
||||
preflight_msg="Preflight Check (System Optimization)"
|
||||
eac_msg="Deploy Easy Anti-Cheat Workaround"
|
||||
runners_msg="Manage Lutris Runners"
|
||||
dxvk_msg="Manage DXVK Versions"
|
||||
maintenance_msg="Maintenance and Troubleshooting"
|
||||
@ -1613,9 +1656,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" "$eac_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" "eac_workaround" "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))"
|
||||
|
Reference in New Issue
Block a user