Installation - XaviFortes/DeckSaves GitHub Wiki

📦 DeckSaves Installation Guide

System Requirements

Minimum Requirements

  • OS: Windows 10, macOS 10.15, or Linux (Ubuntu 18.04+, Fedora 32+)
  • RAM: 2GB available memory
  • Storage: 100MB for application + space for save backups
  • Network: Internet connection (for S3 sync only)

Recommended Requirements

  • OS: Latest stable OS version
  • RAM: 4GB+ available memory
  • Storage: 1GB+ free space for save backups
  • Network: Broadband connection for faster S3 sync

Installation Methods

🚀 Method 1: Pre-built Releases (Recommended)

Windows

  1. Download DeckSaves-Windows-x64.msi from GitHub Releases
  2. Run the installer and follow the setup wizard
  3. Launch DeckSaves from Start Menu or Desktop shortcut

macOS

  1. Download DeckSaves-macOS.dmg from GitHub Releases
  2. Open the DMG file and drag DeckSaves to Applications
  3. Right-click DeckSaves and select "Open" (first time only due to Gatekeeper)

Linux

  1. Download DeckSaves-Linux-x64.AppImage from GitHub Releases
  2. Make it executable: chmod +x DeckSaves-Linux-x64.AppImage
  3. Run: ./DeckSaves-Linux-x64.AppImage

🛠️ Method 2: Build from Source

Prerequisites

  • Node.js: 16.0+ with npm
  • Rust: 1.70+ with Cargo
  • Git: For cloning the repository

Build Steps

# Clone the repository
git clone https://github.com/xavifortes/DeckSaves.git
cd DeckSaves

# Install Node.js dependencies
npm install

# Install Rust dependencies
cargo build --release

# Build the Tauri application
npm run tauri build

# Run in development mode (optional)
npm run tauri dev

Platform-specific Build Notes

Windows:

  • Install Visual Studio Build Tools or Visual Studio Community
  • Ensure Windows SDK is installed

macOS:

  • Install Xcode Command Line Tools: xcode-select --install
  • For code signing, you'll need an Apple Developer account

Linux:

  • Install build essentials: sudo apt install build-essential
  • Install webkit2gtk: sudo apt install webkit2gtk-4.0-dev

First-Time Setup

1. Initial Launch

  1. Start DeckSaves
  2. The application will create a configuration directory at:
    • Windows: %APPDATA%\DeckSaves\
    • macOS: ~/Library/Application Support/DeckSaves/
    • Linux: ~/.config/DeckSaves/

2. Storage Configuration

  1. Click the "Storage" tab
  2. Choose your storage method:
    • Local Storage: For single-device use
    • AWS S3: For multi-device synchronization

Local Storage Setup

  1. Select "Local Storage"
  2. Choose your storage directory (default: ~/.decksaves)
  3. Click "Save Configuration"

AWS S3 Setup

  1. Select "AWS S3 Storage"
  2. Enter your S3 configuration:
    • Bucket Name: Your S3 bucket (must already exist)
    • Region: Choose the closest AWS region
    • Access Key ID: From AWS IAM
    • Secret Access Key: From AWS IAM
  3. Click "Test S3 Connection" to verify
  4. Click "Save Configuration"

3. Add Your First Game

  1. Go to the "Games" tab
  2. Click "Add Game Manually" or "Discover Steam Games"
  3. Configure game save paths
  4. Enable synchronization
  5. Test with a manual sync

AWS S3 Setup Guide

Creating an S3 Bucket

  1. Login to AWS Console
  2. Navigate to S3 service
  3. Click "Create bucket"
  4. Choose a unique bucket name
  5. Select your preferred region
  6. Configure encryption (recommended)
  7. Click "Create bucket"

Creating IAM User

  1. Navigate to IAM service in AWS Console
  2. Click "Users" → "Add user"
  3. Choose a username (e.g., "decksaves-user")
  4. Select "Programmatic access"
  5. Attach policy: "AmazonS3FullAccess" (or create custom policy)
  6. Complete creation and save Access Key ID and Secret Access Key

Custom IAM Policy (Recommended)

For better security, create a custom policy with minimal permissions:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::your-bucket-name",
                "arn:aws:s3:::your-bucket-name/*"
            ]
        }
    ]
}

Verification

Test Installation

  1. Launch DeckSaves
  2. Navigate to each tab (Games, Storage, Sync Status)
  3. Add a test game with a simple save file
  4. Perform a manual sync
  5. Check version history

Performance Check

  • Application should start within 2-3 seconds
  • Sync operations should complete without errors
  • Memory usage should remain under 100MB

Troubleshooting Installation

Common Issues

Windows: "Application failed to start"

  • Install Visual C++ Redistributable 2019 or later
  • Run Windows Update
  • Try running as Administrator

macOS: "Cannot be opened because the developer cannot be verified"

  • Right-click the app and select "Open"
  • Or disable Gatekeeper temporarily: sudo spctl --master-disable

Linux: "Permission denied" or missing libraries

  • Make AppImage executable: chmod +x DeckSaves-Linux-x64.AppImage
  • Install missing libraries: sudo apt install libwebkit2gtk-4.0-37

Build Issues

  • Update Rust: rustup update
  • Clear cache: cargo clean && npm run tauri build
  • Check Node.js version: node --version (should be 16+)

Getting Help

Next Steps