> For the complete documentation index, see [llms.txt](https://gamelauncher.cloud/help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gamelauncher.cloud/help/reference/architecture.md).

# Architecture

How Game Launcher Cloud works - from your launcher to your players

Learn how **Game Launcher Cloud** delivers your games to players seamlessly.\
This guide explains the complete journey from uploading a build to players launching your game.

{% hint style="info" %}
**Simple Overview**: We handle all the technical complexity - you just upload your game, and we make sure it reaches your players instantly, anywhere in the world.
{% endhint %}

***

## How It Works: The Complete Flow

### The Developer Journey

```mermaid
graph TB
    Start[You Have a Game] --> Upload[Upload Your Game]
    
    Upload --> Process[⚙Cloud Processing]
    Process --> Compress[🗜Automatic Compression]
    Process --> Scan[Virus Scanning]
    Process --> CDN[Global CDN Distribution]
    
    CDN --> Configure[Configure Launcher]
    Configure --> Brand[Add Logo & Branding]
    Configure --> News[Create News]
    Configure --> Settings[⚙Set Auto-Update]
    
    Settings --> Distribute[Distribute to Players]
    Distribute --> Download[Players Download Launcher]
    Download --> Check[Check Latest Version]
    Check --> Play[Download & Play]
    Play --> AutoUpdate[Auto-Updates]
    
    style Start fill:#4f46e5,stroke:#4338ca,stroke-width:3px,color:#fff
    style Upload fill:#10b981,stroke:#059669,stroke-width:2px,color:#fff
    style Configure fill:#f59e0b,stroke:#d97706,stroke-width:2px,color:#fff
    style Distribute fill:#ec4899,stroke:#db2777,stroke-width:2px,color:#fff
    style Play fill:#8b5cf6,stroke:#7c3aed,stroke-width:3px,color:#fff
```

**Simple Process**

Upload once → We distribute globally → Players download from nearest server → Auto-update forever

***

## The Player Experience

### What Happens When a Player Opens Your Launcher?

```mermaid
stateDiagram-v2
    [*] --> LauncherStarts: Player Opens Launcher
    LauncherStarts --> ConnectAPI: Connect to Cloud API
    ConnectAPI --> CheckAuth: Verify Authentication
    CheckAuth --> FetchConfig: Fetch Configuration
    FetchConfig --> VersionCheck: Compare Versions
    
    VersionCheck --> UpToDate: Local = Cloud Version
    VersionCheck --> UpdateAvailable: New Version Found
    
    UpToDate --> ShowNews: Display News Feed
    UpdateAvailable --> DownloadUpdate: Download From CDN
    
    DownloadUpdate --> VerifyFiles: Hash Verification
    VerifyFiles --> Install: Extract & Install
    Install --> ShowNews
    
    ShowNews --> ReadyToPlay: Player Clicks Play
    ReadyToPlay --> LaunchGame: Start Game Process
    LaunchGame --> [*]: Player Enjoys Game
```

**What the launcher does:**

* Connects to our secure API
* Downloads your custom branding and appearance
* Checks what version of the game is installed
* Shows your latest news and announcements

**Smart Update Detection:**

* Compares local game version with latest cloud version
* Only downloads files that changed (delta patching)
* Shows download progress with speed and ETA
* Verifies file integrity after download

**Optimized Downloads:**

* Player automatically connects to closest server
* Maximum download speed with CDN
* Resume capability if connection drops
* Background downloads while browsing news

**Launch Process:**

* Quick file integrity check
* Launch with custom parameters (if configured)
* Monitor game process
* Report session analytics (playtime, crashes)

```mermaid
sequenceDiagram
    participant P as Player
    participant L as Launcher
    participant API as Cloud API
    
    P->>L: Clicks "Play" Button
    L->>API: Verify Game Files
    API-->>L: Downloads/Patches Files
    L-->>L: Game Process Started
    L->>API: Track Session Start
    
 
    P->>L: Closes Game
    L->>API: Report Session (45 min)
    API->>API: Update Analytics
```

***

## Platform Architecture

### Simple System Overview

```mermaid
graph TB
    subgraph Players["YOUR PLAYERS"]
        Desktop[Desktop Launchers<br/>Windows / Mac / Linux]
    end
    
    subgraph API["GAME LAUNCHER CLOUD API"]
        Auth[Authentication &<br/>User Management]
        Builds[Build Management &<br/>Version Control]
        News[News & Content<br/>Delivery]
        Analytics[Analytics &<br/>Tracking]
    end
    
    subgraph Storage["DATA STORAGE"]
        direction LR
        DB[(PostgreSQL<br/>Database<br/>Railway)]
        CDN[Cloudflare R2<br/>File Storage<br/>Global CDN]
    end
    
    Desktop -->|HTTPS/TLS| API
    API -->|Query/Store| DB
    API -->|Upload/Retrieve| CDN
    Desktop -->|Fast Download| CDN
    
    style Desktop fill:#8b5cf6,stroke:#7c3aed,stroke-width:2px,color:#fff
    style API fill:#3b82f6,stroke:#2563eb,stroke-width:2px,color:#fff
    style DB fill:#10b981,stroke:#059669,stroke-width:2px,color:#fff
    style CDN fill:#f59e0b,stroke:#d97706,stroke-width:2px,color:#fff
```

**Frontend Layer**

Angular 19 web dashboard with TypeScript, Tailwind CSS, and reactive signals

**Backend Layer**

ASP.NET 10 REST API with C#, hosted on Linode with auto-scaling

**Database Layer**

PostgreSQL on Railway with automatic backups and JSON support

**Storage Layer**

Cloudflare R2 with global CDN for lightning-fast downloads worldwide

***

## Technology Stack

### What Powers Game Launcher Cloud

| Component             | Technology              | Why We Use It                                  |
| --------------------- | ----------------------- | ---------------------------------------------- |
| **Backend API**       | ASP.NET 10 (C#)         | Fast, reliable, cross-platform server          |
| **Database**          | Railway - PostgreSQL    | Powerful relational database with JSON support |
| **File Storage**      | Cloudflare R2           | Global CDN for lightning-fast downloads        |
| **Web Dashboard**     | Angular 19 + TypeScript | Modern, reactive admin interface               |
| **Desktop Launchers** | Avalonia C# .NET        | Excellent performance on Windows/Mac/Linux     |
| **VPS**               | Linode Akamai           | Creating patches and store the Backend         |

{% hint style="success" %}
**All managed for you**: We handle servers, scaling, backups, and security so you can focus on your game.
{% endhint %}

***
