Skip to content

Latest commit

ย 

History

77 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Steam App Inserter

Version Platform License

Convenient UI for managing SteamTools lua manifests directly from Steam Store pages

Features โ€ข Installation โ€ข Usage โ€ข Requirements โ€ข How It Works


๐Ÿ“– What is this?

Steam App Inserter is a Millennium plugin that adds a convenient interface for managing game manifests right on Steam Store pages. It works as a UI frontend for SteamTools, allowing you to add games and DLC to your library with just a few clicks.

The Plugin Stack

This plugin is part of a three-component system:

  1. ๐Ÿ› ๏ธ SteamTools (required) - Processes lua manifests and unlocks games in Steam
  2. โš™๏ธ Millennium (SteamBrew) - Provides the plugin framework for Steam UI modding
  3. ๐ŸŽฏ Steam App Inserter (this plugin) - Adds buttons and UI for easy manifest management

โš ๏ธ Important: This plugin requires SteamTools to function. Without SteamTools, the plugin will create manifest files but won't unlock any games.


โœจ Features

๐ŸŽจ Seamless Integration

  • Store Page Buttons - Automatically adds "Add to library" and "Remove from library" buttons on Steam store pages
  • Native Steam UI - Uses Steam's native button styling for a seamless experience
  • Auto-detection - Automatically detects if a game is already in your library

๐ŸŽฏ DLC Management

  • DLC Selection Dialog - Choose which DLC to add with an intuitive checkbox interface
  • Smart Detection - Automatically marks already installed DLC
  • Bulk Operations - Add or remove multiple DLC at once
  • Live Updates - See which DLC are already in your library in real-time

๐Ÿ”ง Advanced Features

  • Multiple Mirror Support - Choose between ManifestHub (default) and KernelOS mirrors
  • Error Handling - Clear error messages if manifests aren't available
  • Automatic Processing - Processes manifests with SteamTools-compatible logic
  • One-Click Restart - Optional Steam restart prompt after adding games

๐Ÿ›ก๏ธ Security

  • VirusTotal Integration - Optional malware scanning for downloaded manifests before installation
  • API Key Support - Configure your free VirusTotal API key in settings
  • Safety First - Get warned about potentially dangerous files before they're installed

๐ŸŽฏ Compatibility Badge

  • Visual Indicator - Shows game compatibility status directly on store pages
  • Smart Detection - Automatically detects online-only games, DRM, and third-party account requirements
  • Multi-language - Works with all 28 Steam interface languages
  • Color Coding:
    • ๐ŸŸข Green - Game should work fine (single-player, no DRM)
    • ๐ŸŸก Yellow - May have issues (online features, third-party accounts)
    • ๐Ÿ”ด Red - Requires bypass (DRM detected)

๐Ÿ“ฅ Installation

Option 1: Automatic (Recommended)

  1. Download Installer.exe from the latest release
  2. Run as administrator (Right-click โ†’ "Run as administrator")
  3. The installer will automatically:
    • โœ… Install Millennium (SteamBrew)
    • โœ… Download and configure the plugin
    • โœ… Create necessary directories
    • โœ… Configure settings
  4. Restart Steam

Note: You must install SteamTools separately - the installer creates the plugin infrastructure but doesn't include SteamTools.

Option 2: Manual Installation

Prerequisites:

Steps:

  1. Download release.zip from releases
  2. Extract to Steam\plugins\SteamAppInserter\
  3. Restart Steam

๐ŸŽฎ Usage

Adding a Game

  1. Navigate to any game's Steam Store page
  2. Click the blue "Add to library" button
  3. Select DLC (if available) in the dialog that appears
  4. Confirm your selection
  5. Restart Steam when prompted
  6. Done! SteamTools will process the manifest and unlock the game

Managing DLC

  1. Navigate to a game that's already added
  2. Click the blue "Edit DLC library" button
  3. Check/Uncheck DLC you want to add or remove
  4. Confirm changes
  5. Restart Steam

Removing a Game

  1. Navigate to an added game's Steam Store page
  2. Click the blue "Remove from library" button
  3. Confirm the removal dialog
  4. Restart Steam when prompted

Configuring VirusTotal (Optional)

  1. Get API Key - Create a free account at VirusTotal and get your API key
  2. Open Settings - Click the โš™ (gear) button on any Steam Store page
  3. Enter Key - Paste your 64-character API key in the VirusTotal field
  4. Save - Click "Save" to enable malware scanning

Note: VirusTotal scanning is optional. Without an API key, the plugin works normally but without malware checks.


โš ๏ธ Requirements

System Requirements

  • OS: Windows (x64)
  • Steam: Installed and running
  • Admin Rights: Required for installation

Software Dependencies

  • SteamTools - MANDATORY for game unlocking
  • Millennium - Plugin framework (auto-installed by installer)

๐Ÿ” How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  1. You visit a Steam Store page                            โ”‚
โ”‚     โ†“                                                       โ”‚
โ”‚  2. Plugin injects "Add to library" button                  โ”‚
โ”‚     โ†“                                                       โ”‚
โ”‚  3. You click the button and select DLC                     โ”‚
โ”‚     โ†“                                                       โ”‚
โ”‚  4. Plugin downloads .lua manifest from public mirrors      โ”‚
โ”‚     โ†“                                                       โ”‚
โ”‚  5. (Optional) VirusTotal scans the file for malware        โ”‚
โ”‚     โ†“                                                       โ”‚
โ”‚  6. Plugin processes manifest (removes setManifestid,       โ”‚
โ”‚     adds decryption keys)                                   โ”‚
โ”‚     โ†“                                                       โ”‚
โ”‚  7. Plugin saves to Steam/config/stplug-in/{appid}.lua      โ”‚
โ”‚     โ†“                                                       โ”‚
โ”‚  8. You restart Steam                                       โ”‚
โ”‚     โ†“                                                       โ”‚
โ”‚  9. SteamTools reads the .lua file                          โ”‚
โ”‚     โ†“                                                       โ”‚
โ”‚ 10. SteamTools unlocks the game in Steam                    โ”‚
โ”‚     โ†“                                                       โ”‚
โ”‚ 11. Game appears in your library!                           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Architecture

  • Frontend (webkit) - TypeScript/React UI injected into Steam Store pages
  • Backend (Python) - Handles manifest downloads, processing, and file management
  • Communication - RPC calls between frontend and backend using Millennium's IPC

Manifest Sources

The plugin supports two sources for downloading manifests:

ManifestHub (Default)

  • Primary: https://raw.githubusercontent.com/SteamAutoCracks/ManifestHub/
  • Fallback: https://cdn.jsdmirror.com/gh/SteamAutoCracks/ManifestHub/
  • No authentication required
  • Large collection of game manifests

KernelOS

  • URL: https://kernelos.org/
  • No authentication required
  • Alternative source with different game coverage

๐Ÿ› ๏ธ Development

Build Commands

# Development build with watch mode
npm run dev

# Production build
npm run build

Project Structure

steamappadder/
โ”œโ”€โ”€ webkit/           # Browser UI (Steam Store pages)
โ”‚   โ””โ”€โ”€ index.tsx    # Main entry point
โ”œโ”€โ”€ backend/         # Python backend
โ”‚   โ””โ”€โ”€ main.py      # Manifest processing logic
โ”œโ”€โ”€ frontend/        # Desktop UI (currently empty)
โ”‚   โ””โ”€โ”€ index.tsx
โ”œโ”€โ”€ .millennium/     # Compiled output
โ”‚   โ””โ”€โ”€ Dist/
โ””โ”€โ”€ plugin.json      # Plugin metadata

Key Technologies

  • Build System: millennium-ttc (Millennium TypeScript Compiler)
  • Frontend: TypeScript, React, @steambrew/webkit
  • Backend: Python 3, requests
  • Target: ES2020, Steam's Chromium Embedded Framework

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Credits


โš ๏ธ Disclaimer

This tool is for educational purposes only. Use at your own risk. The developers are not responsible for any consequences of using this software.


Made with โค๏ธ for the Steam community

Report Bug โ€ข Request Feature


Glory to Ukraine! Glory to the Heroes! ๐Ÿ‡บ๐Ÿ‡ฆ

About

adds steam games directly to library using Millennium and steamtools

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages