claude-home/gaming/scripts/launch-ron-direct.sh
Cal Corum edc78c2dd6 CLAUDE: Add comprehensive gaming-aware Tdarr management system
- 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>
2025-08-14 15:17:52 -05:00

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