claude-home/gaming/scripts/install-ron-mods.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

151 lines
4.4 KiB
Bash
Executable File

#!/bin/bash
# Ready or Not - Nexus Mods Installer Script
# Extracts and installs .pak files from downloaded zip archives
set -e
# Directories
DOWNLOADS_DIR="/home/cal/Downloads"
MODS_DIR="/mnt/NV2/SteamLibrary/steamapps/common/Ready Or Not/ReadyOrNot/Content/Paks/Mods"
TEMP_DIR="/tmp/ron-mod-install"
# 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"; }
install_mod_zips() {
log_info "=== Ready or Not Mod Installer ==="
echo
# Create temp directory
mkdir -p "$TEMP_DIR"
# Find recently downloaded zip files (last 10 minutes)
log_info "Looking for recently downloaded mod zip files..."
local zip_files=($(find "$DOWNLOADS_DIR" -name "*.zip" -mmin -10 2>/dev/null))
if [ ${#zip_files[@]} -eq 0 ]; then
log_warning "No recent zip files found in $DOWNLOADS_DIR"
log_info "Looking for all zip files in Downloads..."
zip_files=($(find "$DOWNLOADS_DIR" -name "*.zip" 2>/dev/null))
fi
if [ ${#zip_files[@]} -eq 0 ]; then
log_error "No zip files found in Downloads directory"
return 1
fi
log_info "Found ${#zip_files[@]} zip file(s)"
echo
local installed_count=0
for zip_file in "${zip_files[@]}"; do
local filename=$(basename "$zip_file")
log_info "Processing: $filename"
# Create temp extraction directory
local extract_dir="$TEMP_DIR/$(basename "$zip_file" .zip)"
mkdir -p "$extract_dir"
# Extract zip file
if unzip -q "$zip_file" -d "$extract_dir"; then
log_success "Extracted: $filename"
# Find .pak files in the extraction
local pak_files=($(find "$extract_dir" -name "*.pak" -type f))
if [ ${#pak_files[@]} -gt 0 ]; then
for pak_file in "${pak_files[@]}"; do
local pak_name=$(basename "$pak_file")
local dest_file="$MODS_DIR/$pak_name"
# Copy pak file to mods directory
if cp "$pak_file" "$dest_file"; then
log_success "Installed: $pak_name"
((installed_count++))
else
log_error "Failed to install: $pak_name"
fi
done
else
log_warning "No .pak files found in: $filename"
log_info "Contents:"
find "$extract_dir" -type f | head -10
fi
else
log_error "Failed to extract: $filename"
fi
echo
done
# Cleanup
rm -rf "$TEMP_DIR"
log_success "Installation complete!"
log_info "Installed $installed_count mod file(s)"
echo
# Show installed mods
log_info "Currently installed mods:"
if [ -d "$MODS_DIR" ] && [ "$(ls -A "$MODS_DIR" 2>/dev/null)" ]; then
ls -1 "$MODS_DIR"/ | grep "\.pak$" || log_info "No .pak files in Mods directory"
else
log_info "Mods directory is empty"
fi
echo
log_info "=== Next Steps ==="
echo "1. Launch Ready or Not through Steam Tinker Launch"
echo "2. Mods should be automatically loaded"
echo "3. Check in-game settings or mod menu if available"
echo
log_warning "Important: Only install mods you trust from reputable sources"
log_warning "Some mods may require specific load orders or compatibility patches"
}
# Show help
show_help() {
echo "Ready or Not Mod Installer"
echo
echo "Usage:"
echo " $0 - Install all recent zip files from Downloads"
echo " $0 --help - Show this help"
echo " $0 --list - List currently installed mods"
echo
}
# List installed mods
list_mods() {
log_info "Currently installed Ready or Not mods:"
echo
if [ -d "$MODS_DIR" ] && [ "$(ls -A "$MODS_DIR" 2>/dev/null)" ]; then
ls -la "$MODS_DIR"/ | grep "\.pak$" || log_info "No .pak files found"
else
log_info "No mods installed"
fi
}
# Main execution
case "${1:-}" in
--help|-h)
show_help
;;
--list|-l)
list_mods
;;
*)
install_mod_zips
;;
esac