GeneralsHub provides a comprehensive suite of features designed to enhance your Command & Conquer: Generals and Zero Hour experience.
This section covers the core functionality that makes GeneralsHub the ultimate launcher and content platform for the Generals community.
Core Features
App Update & Installer
Professional installer and automatic update system powered by Velopack. Provides zero-config installers for Windows and Linux with delta updates delivered from GitHub Releases. See the Velopack Integration Guide for details on building releases, versioning, and deployment.
Content System
Comprehensive content management for game files, mods, patches, and community creations. Supports multiple content providers (including GitHub repositories) and provides discovery, resolution, and delivery pipelines.
Downloads Browser
Unified downloads browser for discovering, previewing, and acquiring game content across built-in publishers (Generals Online, TheSuperHackers, Community Outpost, GitHub) and subscribed community creator catalogs. Features rich detail views, responsive variant selection, live download tracking via ContentDownloadCoordinator, state detection via ContentStateService, and seamless one-click addition to game profiles.
Game Installations
Automatic detection and management of game installations across multiple platforms. Scans for Command & Conquer Generals and Zero Hour installations (Steam, EA App, CD/ISO), validates integrity, and provides seamless integration with launching and content management features.
Manifest Service
Content manifest generation and validation system that ensures game files are complete, properly structured, and ready for launching. Manifests describe installable content packages and their dependencies.
Storage & CAS
Multi-pool Content Addressable Storage (CAS) system for efficient file storage, deduplication, and integrity verification. Automatically manages disk space and prevents duplicate downloads.
Content Reconciliation
Intelligent delta calculator that determines exactly which files need to be added, updated, or removed when switching between game configurations. Minimizes disk operations and ensures fast profile switching.
Game Settings
Comprehensive game settings management with profile-specific configuration storage. Manage display settings, audio options, network configurations, and gameplay preferences independently for each game profile.
Validation System
Multi-level validation framework that verifies file integrity, detects missing dependencies, checks version compatibility, and validates configurations. Automatically detects and resolves conflicts to ensure stable gameplay.
Workspace Management
Dynamic workspace management for assembling isolated game environments from multiple content sources. Supports both copy and symlink strategies for flexibility and performance.
Launching
Advanced game launching system with:
- Profile switching
- User data safety confirmation (prevents unintended data loss when switching profiles)
- Mod and add-on loading
- Process monitoring and error handling
- Runtime performance tracking
User Data Management
Comprehensive system for managing user-generated content (maps, replays, save games) across game profiles. Ensures data integrity and prevents accidental loss when switching between profiles.
Core Capabilities:
- Profile Isolation: Each profile maintains its own set of active user data
- Hard Link Efficiency: Uses hard links to avoid duplicating files on disk
- Automatic Tracking: Monitors which files belong to which profiles
- Smart Switching: Analyzes data impact before profile switches
- Data Retention: Option to transfer user data between profiles
Profile Lifecycle:
- Preparation: Installs and activates user data when launching a profile
- Switching: Deactivates old profile data, activates new profile data
- Updates: Adds/removes user data when profile content changes
- Cleanup: Removes all user data when a profile is deleted
Safety Features:
- Switch Analysis: Pre-flight check identifies data that would be removed
- User Confirmation: Non-blocking prompt with "Add to Profile" or "Remove" options
- Visual Feedback: Shows file count and total size of affected data
- Large Transfer Warning: Alerts when linking >100 files (potential performance impact)
- Semi-transparent Overlay: Confirmation appears directly on profile card
Game Profiles
Create and manage GameProfiles to launch instances of Generals or Zero Hour with specific configurations. Profiles support:
- Game version selection
- Mods, add-ons, and patches
- Dedicated workspaces for custom strategies
Notifications
Modern toast notification system for user feedback and status updates. Provides:
- Four notification types (Info, Success, Warning, Error)
- Auto-dismiss with configurable timeout
- Thread-safe operation from any context
- Smooth fade animations
- Optional action buttons
Desktop Shortcuts
Create native desktop shortcuts that launch game profiles directly. Features include:
- One-click profile launching from desktop
- Single-instance handling via IPC
- Platform-specific shortcuts (Windows
.lnk, Linux.desktop)
Feature Architecture
Each feature is designed as a modular component that can be used independently or integrated with others. The architecture follows these principles:
- Separation of Concerns: Each feature handles a specific domain
- Dependency Injection: Features are loosely coupled through DI
- Result Pattern: Consistent error handling across all features
- Async/Await: All operations support asynchronous execution
- Observable Progress: Long-running operations provide progress updates
Integration Points
Features integrate through well-defined interfaces and shared models:
- Result Pattern: All features return structured results
- Progress Reporting:
IProgress<T>for operation status - Cancellation:
CancellationTokensupport for all operations - Logging: Structured logging with
Microsoft.Extensions.Logging - Configuration: Unified configuration system (
IAppConfiguration,IUserSettingsService,IConfigurationProviderService) - Danger Zone: Destructive maintenance operations for advanced data management
Feature Categories
- Installation & Setup: Game installation detection, validation, and configuration
- Content Management: Mods, patches, add-ons, and community content
- Data Maintenance: Danger Zone, CAS cleanup, and workspace management
- Profile Management: Game profiles, workspaces, and custom configurations
- Launching & Execution: Advanced launch options and runtime monitoring
- Maintenance: Updates, validation, and system health monitoring
Getting Started
To get started with GeneralsHub features:
- Review the Architecture Overview for system context
- Explore individual feature documentation in this section
- Check the API Reference for implementation details
- Review the System Flowcharts for operational workflows
