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.
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. Features separate pools for user content (Primary) and game installations (Installation) to support cross-drive scenarios and hard-link optimization. Provides atomic operations, garbage collection, and concurrent access safety.
Game Settings
Comprehensive game configuration management supporting all Options.ini settings including video, audio, network, and gameplay options. Features profile-specific settings, validation, and seamless integration with game launches.
Validation System
Multi-level validation system for:
- Game installation integrity
- Content compatibility
- Workspace consistency
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
