- Created complete gaming detection and priority system - Added gaming schedule configuration and enforcement - Implemented Steam library monitoring with auto-detection - Built comprehensive game process detection for multiple platforms - Added gaming-aware Tdarr worker management with priority controls - Created emergency gaming mode for immediate worker shutdown - Integrated Discord notifications for gaming state changes - Replaced old bash monitoring with enhanced Python monitoring system - Added persistent state management and memory tracking - Implemented configurable gaming time windows and schedules - Updated .gitignore to exclude logs directories 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
149 lines
4.2 KiB
Bash
Executable File
149 lines
4.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Ready or Not - Direct Launch Script (Bypass Steam)
|
|
# Launches Ready or Not directly with mods enabled
|
|
|
|
set -e
|
|
|
|
# Game paths
|
|
GAME_DIR="/mnt/NV2/SteamLibrary/steamapps/common/Ready Or Not"
|
|
GAME_EXE="$GAME_DIR/ReadyOrNot.exe"
|
|
WINE_PREFIX="/mnt/NV2/SteamLibrary/steamapps/compatdata/1144200/pfx"
|
|
PROTON_PATH="/home/cal/.local/share/Steam/compatibilitytools.d/GE-Proton9-10"
|
|
|
|
# Colors
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
|
|
log_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; }
|
|
log_warning() { echo -e "${YELLOW}[WARNING]${NC} $1"; }
|
|
log_error() { echo -e "${RED}[ERROR]${NC} $1"; }
|
|
|
|
launch_direct() {
|
|
log_info "=== Ready or Not Direct Launch ==="
|
|
echo
|
|
|
|
# Check if game exists
|
|
if [ ! -f "$GAME_EXE" ]; then
|
|
log_error "Game executable not found: $GAME_EXE"
|
|
return 1
|
|
fi
|
|
|
|
# Check if Proton exists
|
|
if [ ! -f "$PROTON_PATH/proton" ]; then
|
|
log_error "Proton not found: $PROTON_PATH/proton"
|
|
return 1
|
|
fi
|
|
|
|
# Check if Wine prefix exists
|
|
if [ ! -d "$WINE_PREFIX" ]; then
|
|
log_error "Wine prefix not found: $WINE_PREFIX"
|
|
return 1
|
|
fi
|
|
|
|
log_info "Game directory: $GAME_DIR"
|
|
log_info "Wine prefix: $WINE_PREFIX"
|
|
log_info "Proton version: GE-Proton9-10"
|
|
echo
|
|
|
|
# Set environment variables
|
|
export WINEPREFIX="$WINE_PREFIX"
|
|
export WINEDLLOVERRIDES="steam_api64=n"
|
|
export STEAM_COMPAT_DATA_PATH="$WINE_PREFIX"
|
|
export STEAM_COMPAT_CLIENT_INSTALL_PATH="/home/cal/.local/share/Steam"
|
|
|
|
# Performance settings (matching STL config)
|
|
export DXVK_ASYNC=1
|
|
export DXVK_HDR=1
|
|
export DXVK_FPSLIMIT=165
|
|
export PROTON_ENABLE_NVAPI=1
|
|
export PROTON_FORCE_LARGE_ADDRESS_AWARE=1
|
|
|
|
log_info "Environment configured for direct launch"
|
|
echo
|
|
|
|
# Change to game directory
|
|
cd "$GAME_DIR"
|
|
|
|
# Launch options
|
|
case "${1:-normal}" in
|
|
normal)
|
|
log_info "Launching in NORMAL mode (mods enabled)"
|
|
LAUNCH_ARGS=""
|
|
;;
|
|
safe)
|
|
log_info "Launching in SAFE mode (mods disabled)"
|
|
LAUNCH_ARGS="-paksafemode"
|
|
;;
|
|
windowed)
|
|
log_info "Launching in WINDOWED mode (mods enabled)"
|
|
LAUNCH_ARGS="-windowed"
|
|
;;
|
|
*)
|
|
log_info "Launching with custom args: $1"
|
|
LAUNCH_ARGS="$1"
|
|
;;
|
|
esac
|
|
|
|
echo
|
|
log_info "Starting Ready or Not..."
|
|
log_info "Press Ctrl+C to stop"
|
|
echo
|
|
|
|
# Launch with GameMode if available
|
|
if command -v gamemoderun >/dev/null 2>&1; then
|
|
log_info "Using GameMode for performance"
|
|
exec gamemoderun "$PROTON_PATH/proton" run "$GAME_EXE" $LAUNCH_ARGS
|
|
else
|
|
log_warning "GameMode not available, launching without it"
|
|
exec "$PROTON_PATH/proton" run "$GAME_EXE" $LAUNCH_ARGS
|
|
fi
|
|
}
|
|
|
|
show_help() {
|
|
echo "Ready or Not Direct Launcher"
|
|
echo
|
|
echo "Usage:"
|
|
echo " $0 - Launch in normal mode (mods enabled)"
|
|
echo " $0 normal - Launch in normal mode (mods enabled)"
|
|
echo " $0 safe - Launch in safe mode (mods disabled)"
|
|
echo " $0 windowed - Launch in windowed mode (mods enabled)"
|
|
echo " $0 'custom args' - Launch with custom arguments"
|
|
echo " $0 --help - Show this help"
|
|
echo
|
|
echo "Examples:"
|
|
echo " $0 # Normal launch with mods"
|
|
echo " $0 safe # Safe mode without mods"
|
|
echo " $0 '-windowed -noeac' # Windowed without anti-cheat"
|
|
echo
|
|
}
|
|
|
|
list_mods() {
|
|
log_info "Installed mods:"
|
|
echo
|
|
|
|
local mods_dir="/mnt/NV2/SteamLibrary/steamapps/common/Ready Or Not/ReadyOrNot/Content/Paks/Mods"
|
|
if [ -d "$mods_dir" ] && [ "$(ls -A "$mods_dir" 2>/dev/null)" ]; then
|
|
ls -la "$mods_dir"/*.pak 2>/dev/null || log_info "No .pak files found"
|
|
else
|
|
log_info "No mods installed"
|
|
fi
|
|
echo
|
|
}
|
|
|
|
# Main execution
|
|
case "${1:-}" in
|
|
--help|-h)
|
|
show_help
|
|
;;
|
|
--mods|-m)
|
|
list_mods
|
|
;;
|
|
*)
|
|
launch_direct "$1"
|
|
;;
|
|
esac |