# User Guide This comprehensive guide covers how to use the CCLS Games CLI Tool effectively, from basic operations to advanced features. ## Table of Contents 1. [Getting Started](#getting-started) 2. [Basic Workflow](#basic-workflow) 3. [Game Discovery](#game-discovery) 4. [Downloading Games](#downloading-games) 5. [Managing Installed Games](#managing-installed-games) 6. [Interactive Browse Mode](#interactive-browse-mode) 7. [Library Cache System](#library-cache-system) 8. [Logging and Session Management](#logging-and-session-management) 9. [Startup Messages](#startup-messages) 10. [Developer Mode](#developer-mode) 11. [Advanced Features](#advanced-features) ## Getting Started ### First Launch After installation, when you first run the CLI Tool: 1. **Login Process**: Enter your CCLS Games credentials 2. **Setup Configuration**: Run `setup` to configure directories 3. **Dependency Check**: Run `check` to verify all components are installed 4. **Ready to Use**: Start exploring games with `search library` ### Understanding the Interface The CLI Tool uses a command-line interface with the prompt: ``` CCLS> ``` Commands are entered after this prompt. The tool provides extensive help: - `help` - Basic help overview - `help -a` - Complete command reference - `[command] help` - Specific command help ## Basic Workflow ### Typical Session Flow 1. **Start the CLI Tool** ``` Right-click CLI.ps1 → Run with PowerShell ``` 2. **Browse Available Games** ``` CCLS>search library ``` 3. **Download a Game** ``` CCLS>get cg0025 ``` 4. **Manage Installed Games** ``` CCLS>browse ``` 5. **Exit** ``` CCLS>exit ``` ### Key Concepts #### Game IDs - **Games**: Use format `cg0000` (e.g., cg0025) - **Bundles**: Use format `cb0000` (e.g., cb0010) - IDs are unique identifiers for each game/bundle #### File Organization - Games are installed in your configured installation directory - Each game gets its own folder - Metadata is stored in `[GameID].json` files ## Game Discovery ### Browsing the Library ``` CCLS>search library ``` This displays all available games and bundles in a formatted list showing: - Game/Bundle name - Unique ID (cg0000 or cb0000) - Organized by type (games vs bundles) ### Searching by Name ``` CCLS>search game [search term] ``` Examples: ``` CCLS>search game tekken CCLS>search game assassin CCLS>search game call of duty ``` This provides: - Fuzzy matching (finds partial matches) - Ranked results (exact matches first) - Interactive selection menu - Option to download directly from search results ### Getting Game Information ``` CCLS>search [game_id] ``` Example: ``` CCLS>search cg0025 ``` Displays detailed information: - Game description - System requirements - Safety information - Version details - File sizes - Platform availability ## Downloading Games ### Basic Download ``` CCLS>get [game_id] ``` Example: ``` CCLS>get cg0025 ``` ### Download by Name ``` CCLS>get game [game_name] ``` Example: ``` CCLS>get game tekken 8 ``` ### Skip Confirmation ``` CCLS>get [game_id] -y CCLS>get game [game_name] -y ``` ### Download Process 1. **Validation**: Checks game ID and availability 2. **Confirmation**: Shows game info and asks for confirmation 3. **Download**: High-speed download with progress tracking 4. **Extraction**: Automatic extraction using 7-Zip 5. **Metadata**: Saves game information for future management ### Download Features - **Resume Support**: Downloads can be resumed if interrupted - **Progress Tracking**: Real-time download progress and speed - **Cancellation**: Press Ctrl+Z to cancel downloads - **Conflict Resolution**: Handles existing installations intelligently ### Direct Download from Search When using `search game [term]`, you can download directly: ``` CCLS>search game tekken [Results shown] Selection: get 2 ``` ## Managing Installed Games ### List All Games ``` CCLS>list all # Basic list CCLS>list all -d # Detailed view with versions and sizes ``` ### Get Game Information ``` CCLS>list [folder_name] # Basic info CCLS>list [folder_name] -d # Detailed info CCLS>list [folder_name] -tree # File tree view CCLS>list [folder_name] -tree -d # Detailed info + file tree ``` ### Alternative Identification Methods ``` CCLS>list [game_id] # By game ID CCLS>list game [game_name] # By game name CCLS>list gamedir [folder_name] # By folder name (explicit) ``` ### Delete Games ``` CCLS>del [folder_name] # With confirmation CCLS>del [folder_name] -y # Skip confirmation CCLS>del [game_id] # By game ID CCLS>del game [game_name] # By game name ``` ## Interactive Browse Mode ### Starting Browse Mode ``` CCLS>browse ``` ### Browse Interface The browse mode displays: - **Game List**: All installed games with numbers - **Game Details**: Name, ID, size, version, type - **Color Coding**: - Green: Official CCLS games with metadata - Gray: Manual installations without metadata - Red: Outdated versions ### Browse Commands - **View Game**: `view [number]` or just `[number]` - **Delete Game**: `del [number]` - **Update Game**: `update [number]` - **Refresh Info**: `refresh [number]` - **Exit**: Press Enter ### Browse Features - **Fast Loading**: Uses local cache for instant display - **Online Checks**: Only connects when checking for updates - **Update Detection**: Shows which games have newer versions - **Detailed Information**: Full game details including system requirements ## Library Cache System ### What is the Cache? The CLI Tool maintains a local cache (`lib.json`) that stores: - Game folder information - File sizes and metadata - Version information - Installation status ### Cache Benefits - **Fast Loading**: Browse mode loads instantly - **Offline Functionality**: View installed games without internet - **Efficient Updates**: Only checks online when requested ### Cache Management ``` CCLS>sys cache status # View cache information CCLS>sys cache refresh # Manually rebuild cache ``` ### When Cache Updates - Automatically after game installation/deletion - When cache becomes invalid or corrupted - Manually via refresh command ## Logging and Session Management ### Session Logs Every CLI Tool session creates a log file in the `logs/` folder: - Timestamped filename - Complete session history - Error tracking - Performance metrics ### Log Management ``` CCLS>log list # Browse all logs CCLS>log list -5 # Show 5 newest logs CCLS>log view [filename] # View log contents CCLS>log del [filename] # Delete a log CCLS>log open [filename] # Open with default editor ``` ### Log Browser The log browser provides: - Interactive file selection - File size and date information - Color-coded file age - Bulk operations ## Startup Messages ### What are Startup Messages? Customizable welcome screens that appear after login, featuring: - Colorful formatted text - Game library statistics - Custom templates - Dynamic content ### Managing Startup Messages ``` CCLS>sys start-message list # Available templates CCLS>sys start-message get [template] # Download template CCLS>sys start-message enable [template] # Enable template CCLS>sys start-message get,enable [template] # Download and enable CCLS>sys start-message try [template] # Preview template CCLS>sys start-message view # View current message CCLS>sys start-message default # Disable custom messages ``` ### Template Types - **Static**: Fixed text with colors - **Dynamic**: Display current game statistics - **Interactive**: Custom layouts and formatting ## Developer Mode ### What is Developer Mode? A special mode for testing and development that: - Skips login requirements - Disables online API calls - Provides local-only functionality - Useful for testing and development ### Activating Developer Mode 1. **During Login**: Press Ctrl+Q and type "devmode" 2. **From CLI**: `devmode` command toggles the mode ### Developer Mode Features - No login required - All local commands work - Online commands (`get`, `search`) are disabled - Cache and log systems remain functional ### Exiting Developer Mode ``` CCLS>devmode ``` This toggles back to normal mode and clears stored credentials. ## Advanced Features ### Version Management ``` CCLS>version # Check current version CCLS>update # Update CLI Tool CCLS>changelog [version] # View version changes CCLS>changelog latest # Latest version changes ``` ### System Utilities ``` CCLS>check # System requirements check CCLS>setup # Reconfigure directories CCLS>install [utility] # Install dependencies CCLS>clear # Clear console ``` ### Credential Management ``` CCLS>logout # Log out and re-login CCLS>forget # Remove stored credentials ``` ### Performance Optimization - **Cache System**: Fast local operations - **Background Updates**: Non-blocking online checks - **Parallel Processing**: Efficient file operations - **Memory Management**: Optimized for long sessions ### Safety Features - **Confirmation Prompts**: Prevent accidental deletions - **Backup Creation**: Automatic backups during updates - **Error Recovery**: Graceful handling of failures - **Resume Support**: Recover from interrupted operations ## Tips and Best Practices ### Efficient Workflow 1. Use `browse` for regular game management 2. Use `search game [name]` when you know what you want 3. Enable login saving for convenience 4. Regular cache refresh for large libraries ### Storage Management - Monitor disk space before large downloads - Use separate drives for games and temp files - Regular cleanup of old log files - Consider SSD for installation directory ### Performance Tips - Close other applications during large downloads - Use `-y` flag for batch operations - Enable all dependencies for best performance - Regular system restarts for optimal performance ### Security Considerations - Only download from trusted sources - Keep CLI Tool updated - Regular credential rotation - Monitor log files for suspicious activity ## Next Steps - Review [Commands Reference](commands.md) for complete command details - Check [Configuration Guide](configuration.md) for advanced settings - See [Troubleshooting Guide](troubleshooting.md) for common issues