claude-home/gaming/examples/ready-or-not/setup-ready-or-not.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

217 lines
5.9 KiB
Bash
Executable File

#!/bin/bash
# Ready or Not Steam Tinker Launch Setup Script
# Optimized for NVIDIA GPUs and 1440p gaming on 4K monitors
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
STL_CONFIG_DIR="$HOME/.config/steamtinkerlaunch"
GAME_CONFIG_DIR="$STL_CONFIG_DIR/gamecfgs"
GAME_ID="1144200"
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
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"
}
check_dependencies() {
log_info "Checking dependencies..."
# Check if Steam Tinker Launch is installed
if ! command -v steamtinkerlaunch >/dev/null 2>&1; then
log_error "Steam Tinker Launch is not installed!"
log_info "Please install it first: https://github.com/frostworx/steamtinkerlaunch"
exit 1
fi
# Check if GameScope is available
if ! command -v gamescope >/dev/null 2>&1; then
log_warning "GameScope not found. GameScope is recommended for optimal 1440p gaming on 4K monitors."
log_info "Install with: sudo pacman -S gamescope (Arch) or sudo apt install gamescope (Ubuntu)"
fi
# Check NVIDIA drivers
if ! command -v nvidia-smi >/dev/null 2>&1; then
log_error "NVIDIA drivers not found!"
log_info "Please install NVIDIA drivers first"
exit 1
fi
log_success "Dependencies check completed"
}
backup_existing_config() {
if [ -f "$GAME_CONFIG_DIR/$GAME_ID.conf" ]; then
log_info "Backing up existing configuration..."
cp "$GAME_CONFIG_DIR/$GAME_ID.conf" "$GAME_CONFIG_DIR/$GAME_ID.conf.backup.$(date +%Y%m%d_%H%M%S)"
log_success "Backup created"
fi
}
setup_directories() {
log_info "Setting up Steam Tinker Launch directories..."
mkdir -p "$STL_CONFIG_DIR"
mkdir -p "$GAME_CONFIG_DIR"
mkdir -p "$STL_CONFIG_DIR/dxvk"
mkdir -p "$STL_CONFIG_DIR/logs"
log_success "Directories created"
}
install_game_config() {
log_info "Installing Ready or Not configuration..."
if [ ! -f "$SCRIPT_DIR/1144200-nvidia-1440p.conf" ]; then
log_error "Configuration file not found: $SCRIPT_DIR/1144200-nvidia-1440p.conf"
exit 1
fi
cp "$SCRIPT_DIR/1144200-nvidia-1440p.conf" "$GAME_CONFIG_DIR/$GAME_ID.conf"
chmod 644 "$GAME_CONFIG_DIR/$GAME_ID.conf"
log_success "Game configuration installed"
}
create_dxvk_config() {
log_info "Creating DXVK configuration..."
cat > "$STL_CONFIG_DIR/dxvk/$GAME_ID.conf" << 'EOF'
# DXVK configuration for Ready or Not (NVIDIA optimized)
# Reduce input latency
dxgi.maxFrameLatency = 1
d3d9.maxFrameLatency = 1
# NVIDIA-specific optimizations
dxgi.nvapiHack = True
# Memory management for NVIDIA GPUs
dxgi.maxDeviceMemory = 8192
dxgi.maxSharedMemory = 1024
# Enable async shader compilation
dxvk.enableAsync = True
# HDR support
dxgi.enableHDR = True
# Disable tear-free for better performance
dxgi.tearFree = False
# Sync interval (0 = unlimited, 1 = vsync)
d3d9.presentInterval = 0
EOF
log_success "DXVK configuration created"
}
create_launch_script() {
log_info "Creating launch helper script..."
cat > "$HOME/.local/bin/launch-ready-or-not" << 'EOF'
#!/bin/bash
# Ready or Not Launch Helper
# Optimized for NVIDIA + 1440p gaming
# Source NVIDIA environment variables
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export PROTON_SET_GAME_DRIVE=1
export PULSE_LATENCY_MSEC=60
export PIPEWIRE_LATENCY=128/48000
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
export DXVK_ASYNC=1
export DXVK_HDR=1
export PROTON_ENABLE_NVAPI=1
export PROTON_HIDE_NVIDIA_GPU=0
export PROTON_FORCE_LARGE_ADDRESS_AWARE=1
# Launch the game
exec steam steam://rungameid/1144200
EOF
chmod +x "$HOME/.local/bin/launch-ready-or-not"
log_success "Launch helper script created at ~/.local/bin/launch-ready-or-not"
}
test_configuration() {
log_info "Testing configuration..."
# Check if game config exists and is readable
if [ -r "$GAME_CONFIG_DIR/$GAME_ID.conf" ]; then
log_success "Game configuration is readable"
else
log_error "Game configuration is not readable"
exit 1
fi
# Check if DXVK config exists
if [ -r "$STL_CONFIG_DIR/dxvk/$GAME_ID.conf" ]; then
log_success "DXVK configuration is readable"
else
log_warning "DXVK configuration not found"
fi
log_success "Configuration test completed"
}
show_next_steps() {
echo
log_success "Setup completed successfully!"
echo
log_info "Next steps:"
echo "1. Launch Steam and go to Ready or Not properties"
echo "2. In Launch Options, you can optionally add: %command%"
echo "3. Launch the game - Steam Tinker Launch should automatically detect and use the configuration"
echo "4. For troubleshooting, check ~/.config/steamtinkerlaunch/logs/"
echo
log_info "Performance tips:"
echo "- The game is configured for 1440p gaming with DLSS enabled"
echo "- GameScope will handle scaling to your 4K monitor"
echo "- Use the launch helper: ~/.local/bin/launch-ready-or-not"
echo "- Monitor performance with the built-in MangoHUD overlay"
echo
log_info "If you experience issues:"
echo "- Check the troubleshooting guide in this directory"
echo "- Disable GameScope temporarily if needed"
echo "- Try different Proton versions in Steam"
}
main() {
log_info "Setting up Ready or Not for Steam Tinker Launch..."
log_info "Target: NVIDIA GPU, 1440p gaming on 4K monitor"
echo
check_dependencies
setup_directories
backup_existing_config
install_game_config
create_dxvk_config
create_launch_script
test_configuration
show_next_steps
}
main "$@"