mirror of
https://github.com/Heretek-Games/drop-umu.git
synced 2026-10-12 02:05:45 +00:00
main
Replaces the pre-launch validation hook with a UmuRunnerProvider: detect() reports UMU availability and resolveLaunch() wraps Windows titles with umu-run, supplying a stable GAMEID and PROTONPATH when configured. Declares game:runner in class metadata and the shipped manifest (dropping game:launch-hook), keeps the system:command staging path unchanged, and bumps the SDK to ^0.7.0.
drop-umu
UMU Launcher (
umu-run) manager and bundled Proton compatibility runner for Drop.
drop-umu is an official Heretek Games plugin that bundles and automates the installation and lifecycle management of umu-launcher.
Features
- 📦 Bundled Standalone Runner: Includes the upstream
umu-runPython zipapp (~419 KB) containing all internal dependencies for zero-compilation execution. - ⚡ One-Click User-Space Installation: Deploys
umu-runto~/.local/bin/umu-runwith0o755permissions without requiring root or sudo privileges. - 🖥️ Drop Settings Integration: Contributes an UMU Runner management card directly under Drop's Extension Settings (
settings:tabs), showing detection state, Python environment details, and an install/reinstall button. - 🛡️ Pre-Launch Validation: Provides a
pre-launch:validatehook to ensureumu-runis ready in$PATHbefore Windows titles launch with Proton, avoiding cryptic process errors. - 🔄 Update Checker: Verifies against the official GitHub releases API to identify and download new versions.
Installation & Development
Prerequisites
- Node.js 22+
- Python 3.10+ (for running
umu-run)
Setup
git clone https://github.com/Heretek-Games/drop-umu.git
cd drop-umu
npm ci
Build & Test
npm run build # Compile TypeScript and sign manifest
npm test # Run unit tests
npm run typecheck # Check TypeScript types
npm run lint # Lint sources
npm run pack # Package into .dropplugin archive
Manual Installation via CLI
You can install the bundled runner directly from your terminal:
npm run install:umu
# or:
bash scripts/install-umu.sh
Architecture
- Manifest:
drop-plugin.json(universal Drop Plugin API v2) - Targets:
["client"] - Capabilities:
ui:slot: Injects settings tab (settings:tabs) and game badges (game-detail:badges).system:command: Allows invokingumu-runandpython3.game:launch-hook: Pre-launch validation gate for Proton games.client:storage: Persists runner settings and status.
License
MIT © Heretek Games
Description
UMU Launcher (umu-run) manager and bundled Proton compatibility runner for Drop
913 KiB
Languages
TypeScript
98.4%
JavaScript
1.4%
Shell
0.2%