Getting Started

Getting Started

Steam Manifest Downloader (SMD) is a modern Tauri v2 desktop application built with Rust and WebView. It parses manifest files, searches multiple sources for Steam depot manifests, and downloads them automatically using an integrated DepotDownloaderMod engine.

System Requirements

  • .NET 8+ Runtime — Required by the embedded DepotDownloaderMod engine. Download .NET 8
  • Windows 10+ — Windows 10 version 1803 or later (with WebView2)
  • Linux — Most modern distributions with GTK3 and WebKit2GTK (for AppImage: FUSE support or APPIMAGE_EXTRACT_AND_RUN=1)
  • Internet connection — Required for searching and downloading manifests
  • Disk space — ~20 MB for the app itself; additional space for downloaded depots

Installation

Windows (NSIS Installer)

  1. Download the latest .exe installer from the Releases page
  2. Run the installer and follow the setup wizard
  3. Launch Steam Manifest Downloader from your Start Menu or Desktop

Linux (AppImage)

  1. Download the latest .AppImage file from the Releases page
  2. Make it executable:
bash
chmod +x SteamManifestDownloader_*.AppImage
./SteamManifestDownloader_*.AppImage

If FUSE is not available on your system, you can run the AppImage with the environment variable APPIMAGE_EXTRACT_AND_RUN=1 set.


First Launch

On first launch, the application opens with the main interface ready to accept files. No initial configuration is required — the default settings work for most users. However, you may want to:

  • Set a custom download location in Settings
  • Add a GitHub token to increase API rate limits (optional)
  • Configure a ManifestHub API key for additional manifest sources (optional)
Usage Guide

Usage Guide

Using Steam Manifest Downloader is a straightforward 3-step process: upload a file, select the manifests you need, and hit download.


Step 1: Upload a File

Start by providing a manifest data file. You can either:

  • Drag & drop a .lua, .vdf, or .st file onto the upload area
  • Click the upload area to open a file picker

The application will parse the file and extract all depot IDs, manifest IDs, app IDs, and depot keys contained within.

You can upload multiple files — each new upload merges its data with any previously loaded depots.


Step 2: Select Manifests

After parsing, the app displays a list of all discovered depots and their manifest IDs. From here you can:

  • Select / deselect individual depots using the checkboxes
  • Use Select All or Deselect All for bulk actions
  • Search / filter depots by ID or name using the search bar
  • View app details fetched from the Steam Store API (game name, icon, etc.)

Each depot entry shows the depot ID, the associated manifest ID, and whether a depot key was found in the parsed file.


Step 3: Download

Click the Download button to begin. Behind the scenes, the application performs several operations:

  1. Manifest search — Queries ManifestHub API and multiple GitHub repositories to locate .manifest files for each selected depot
  2. Manifest download — Downloads all found .manifest files to a local directory
  3. Depot keys generation — Creates a steam.keys file containing all known depot decryption keys
  4. DepotDownloaderMod execution — Launches the embedded DepotDownloaderMod binary with the correct arguments to download the actual depot files

You'll see real-time progress tracking with:

  • A progress bar showing overall completion
  • Download speed (MB/s)
  • ETA estimates
  • Per-depot status updates

The downloaded files are saved to your configured download location (default: system Downloads folder). Each download creates a subdirectory named after the app ID.


Cancel a Download

You can cancel an in-progress download at any time by clicking the Cancel button. When a download is canceled:

  • The DepotDownloaderMod process is terminated immediately
  • Partially downloaded files are deleted to avoid incomplete or corrupted data
  • The UI returns to the selection screen so you can start a new download

Canceling a download will delete all partially downloaded files for that session. Make sure you really want to cancel before confirming.

File Formats

Supported File Formats

SMD can parse three different file formats to extract depot and manifest information.


.lua Files

Lua script files are the most common format. They contain function calls that define app IDs, depot keys, and manifest IDs. The parser recognizes the following patterns:

lua
-- Register an app ID (no depot key)
addappid(1995890)

-- Register a depot with a hex decryption key
addappid(1995891, 0, "a1b2c3d4e5f6...")

-- Set the manifest ID for a depot
setManifestid(1995891, "3438272076824159257")
  • addappid(depotId) — Registers a depot ID
  • addappid(depotId, 0, "hexKey") — Registers a depot with a decryption key
  • setManifestid(depotId, "manifestId") — Associates a manifest ID with a depot

.vdf / Key.vdf Files

Valve Data Format (VDF) files use a nested key-value structure. The Key.vdf file typically contains depot keys in the following format:

vdf
"depots"
{
    "1995891"
    {
        "DecryptionKey"    "a1b2c3d4e5f6..."
    }
    "1995892"
    {
        "DecryptionKey"    "f6e5d4c3b2a1..."
    }
}

The parser extracts each depot ID and its associated decryption key from the VDF structure.


.st Files

The .st format is a binary file format used by certain sources. SMD includes a dedicated binary parser that can read and extract depot IDs, manifest IDs, and depot keys from these files.

.st files are automatically detected by their binary signature. Simply drag and drop them like any other supported file.

Configuration

Settings

Access settings through the gear icon in the application. All settings are persisted between sessions.

Download Location

Configure where downloaded depot files are saved. By default, files are saved to your system's Downloads folder.

  • Click Browse to select a custom directory
  • Each download creates a subdirectory named after the app ID
  • Ensure the chosen path has sufficient disk space

Extra DepotDownloader Arguments

Pass additional command-line arguments to the DepotDownloaderMod engine. The default value is:

args
-max-downloads 8

This limits concurrent download connections to 8. You can adjust this value or add other DepotDownloaderMod-compatible arguments as needed.

If you experience timeouts or slow downloads, try lowering -max-downloads to 4 or 2.


GitHub Token (optional)

Adding a personal GitHub token increases the GitHub API rate limit from 60 requests/hour (unauthenticated) to 5,000 requests/hour (authenticated).

To generate a token:

  1. Go to GitHub → Settings → Developer settings → Personal access tokens
  2. Click Generate new token (classic)
  3. No special scopes are required — a token with no permissions is sufficient
  4. Copy the token and paste it into the settings field

Your token is stored locally on your machine only. It is never sent anywhere except to the GitHub API for authentication.


ManifestHub API Key (optional)

If you have a ManifestHub API key, enter it here to enable searching the ManifestHub manifest database. This provides access to a large collection of Steam manifests as an additional source.

Configuration

Manifest Sources

SMD searches multiple sources to locate manifest files for your selected depots. Here's where it looks:

ManifestHub API

The primary manifest source. SMD queries the ManifestHub API at:

url
manifesthub1.filegear-sg.me

This API provides fast, indexed access to a large database of Steam manifests. Requires an API key configured in Settings.


GitHub Repositories

SMD searches multiple GitHub repositories for manifest files using the GitHub Contents API. The primary repositories include:

  • SteamAutoCracks/ManifestHub — The main manifest repository

The app searches for manifest files matching the depot ID and manifest ID pattern within these repositories.

GitHub API has rate limits. Without a token, you're limited to 60 requests/hour. Add a GitHub token in Settings to increase this to 5,000 requests/hour.


Alternative Sources

When a manifest is not found on the primary sources, SMD also checks alternative sources:

  • KernelOS — Alternative manifest repository
  • PrintedWaste — Additional fallback source

These sources are checked automatically as fallbacks — no additional configuration is needed.

Help

Troubleshooting / FAQ

Common issues and how to resolve them.

".NET not found" error on launch
The embedded DepotDownloaderMod requires .NET 8 Runtime. Download and install it from dotnet.microsoft.com. Make sure to install the .NET Runtime (not just the ASP.NET or Desktop runtime).
"Connection timeout" during download
This usually happens when too many concurrent connections overwhelm your network. Go to Settings and reduce the -max-downloads value from 8 to 4 or 2. You can also check if a VPN or proxy is interfering with the connection.
"GitHub rate limit exceeded" when searching
Without authentication, GitHub limits API requests to 60 per hour. Go to Settings and add a GitHub personal access token. This increases the limit to 5,000 requests/hour. See the Settings section for instructions on generating a token.
Download stuck at 0%
First, check your internet connection. If your connection is fine, ensure your firewall or antivirus is not blocking DepotDownloaderMod.exe. You may need to add an exception for the application. Also verify that .NET 8 Runtime is properly installed.
Linux: AppImage won't launch
AppImages require FUSE to run. If FUSE is not available on your system, set the environment variable before launching:

APPIMAGE_EXTRACT_AND_RUN=1 ./SteamManifestDownloader_*.AppImage

Also ensure the file is executable: chmod +x SteamManifestDownloader_*.AppImage
No manifests found for my game
Not all games have manifests available in the searched repositories. Ensure your .lua / .vdf / .st file contains the correct depot and manifest IDs. You can also try adding a ManifestHub API key in Settings for access to additional sources.
App crashes or shows a white screen
On Windows, ensure Microsoft Edge WebView2 Runtime is installed (it's included with Windows 10 1803+ and Windows 11). On Linux, ensure WebKit2GTK is installed (sudo apt install libwebkit2gtk-4.1-0 on Debian/Ubuntu).