Skip to content

Latest commit

 

History

History
509 lines (383 loc) · 29.1 KB

File metadata and controls

509 lines (383 loc) · 29.1 KB

🎮 Steam Library Manager

Python 3.10+ Platform Lizenz Tests Steam API SteamGridDB i18n Downloads

Die Depressurizer-Alternative für Linux. Organisiere deine Steam-Bibliothek, kategorisiere Spiele automatisch, bearbeite Metadaten und behalte die Kontrolle über deine Sammlung - mit Features, die Steam nicht hat.

Read in English

Steam Library Manager - Hauptfenster (Deutsch)

✨ Features

🧠 Smart Collections - Eine vollwertige Rule Engine, die Steam nie haben wird

Steam hat dynamische Kollektionen - aber die haben seit ihrer Einführung nur UND-Logik mit einer Handvoll einfacher Filter. Spiele die entweder "Platinum auf ProtonDB" oder "Native Linux" sind anzeigen? Geht nicht in Steam. Du kannst nur einschränken, nie Alternativen kombinieren.

Unsere Smart Collections sind eine vollwertige Rule Engine mit Möglichkeiten, die Steam nie haben wird:

  • UND / ODER / NICHT Operatoren mit verschachtelten Regelgruppen - baue komplexe Logik wie (Genre = RPG UND ProtonDB = Platinum) ODER (Genre = Strategie UND Deck = Verified). Gruppen erlauben beliebige Kombinationen - keine Limits, keine Workarounds
  • 21 Filterfelder über jede Dimension deiner Bibliothek: Spielzeit, Bewertungen, Steam Deck-Status, ProtonDB-Ratings, Achievement-Fortschritt, HowLongToBeat-Zeiten, Tags, Genres, Erscheinungsjahr, Entwickler, Publisher, Plattformen, Sprachen, App-Typ und mehr
  • 12 Operatoren inklusive Bereichsabfragen - filtere Spiele zwischen 10-50 Stunden Spielzeit, oder Bewertungen über 90%, oder Tags die einem Regex-Muster entsprechen
  • Sprachunabhängiges Tag-Matching - wechsle deine Steam-Tags von Deutsch auf Englisch (oder jede andere Sprache), und deine Regeln funktionieren weiterhin. Wir matchen über Steams interne Tag-IDs, nicht über lokalisierte Namen
  • 12 fertige Vorlagen zum Sofort-Loslegen: "Ungespielt", "100h+ Club", "Deck Verified", "Kurz (<5h)", "Fast geschafft (75%+ Achievements)" und mehr
  • Live-Vorschau - sieh passende Spiele in Echtzeit während du Regeln baust
  • Import & Export als JSON - teile deine Setups mit Freunden oder sichere sie

Der Clou: Im Steam Client erscheinen unsere Smart Collections als ganz normale statische Kollektionen - Steam merkt keinen Unterschied. Aber in SLM sind sie volldynamisch und unendlich mächtiger als alles was Steam bietet.

Beispiel: "Zeige mir alle RPGs mit 'Platinum' auf ProtonDB und über 20 Stunden Spielzeit, die ich noch nicht zu 100% abgeschlossen habe - ODER jedes Strategiespiel das für Steam Deck verifiziert ist - aber ohne 'Visual Novels'." Eine Kollektion. Zwei Regelgruppen. Automatisch. Immer aktuell. In Steam unmöglich.

Smart Collections Editor (Deutsch)

💛 Unterstütze dieses Projekt

Wenn SLM dir hilft deine Bibliothek zu organisieren, denk darüber nach die Entwicklung zu unterstützen. Jeder Beitrag - egal wie klein - hilft dieses Projekt am Leben zu halten.

Unterstütze uns auf PayPal       Unterstütze uns auf Ko-fi

Danke an alle die schon etwas gegeben haben - ihr seid großartig! 🙏

🏷️ Auto-Kategorisierung - 17 Regeltypen, unendliche Möglichkeiten

Organisiere deine gesamte Bibliothek automatisch in sinnvolle Kollektionen mit 17 verschiedenen AutoCat-Regeltypen:

Tags | Genres | Publisher | Entwickler | Franchises | Flags | User Score | HowLongToBeat | Jahr | VR-Unterstützung | Sprache | Kurator | Plattform | Spielstunden | Deck-Status | Achievements | PEGI-Bewertung

Jeder Regeltyp hat eigene Konfigurationsmöglichkeiten - Schwellenwerte, Ignorier-Listen, Präfix/Suffix-Muster und die Kombination mehrerer Regeln zu leistungsstarken Kategorisierungsprofilen. Intelligente Ignorier-Listen filtern generische Tags wie "Singleplayer" heraus.

500+ Spiele? Klick auf "Auto-Kategorisieren" und schau zu wie sie sich in Sekunden in saubere, logische Kollektionen sortieren.

Auto-Kategorisierung (Deutsch)

Auto-Kategorisierung - Vorher/Nachher (Deutsch)

✏️ Metadaten-Editor - Deine Änderungen überleben Steam-Updates

Bearbeite Spielnamen, Sortiertitel, Entwickler, Publisher und Erscheinungsdaten - alles lokal gespeichert. Was das besonders macht:

  • Overlay-System: Deine Änderungen werden getrennt von Steams Daten gespeichert. Wenn Steam die appinfo.vdf überschreibt (was regelmäßig passiert), werden deine Änderungen automatisch erneut angewendet. Wie Git-Rebasing für Metadaten - Steam liefert den "Upstream", deine Änderungen sind die "Patches".
  • Bulk-Edit: Hunderte Spiele auswählen, ein Feld ändern, anwenden. Fertig.
  • Eigene Sortiertitel: "The Witcher 3" unter "W" einsortieren statt unter "T".

Kein anderes Steam-Library-Tool kann das. Depressurizer verliert deine Änderungen bei Steam-Updates. Wir nicht.

Metadaten-Editor (Deutsch)

Bulk-Edit - Mehrere Spiele (Deutsch)

🖼️ Artwork-Manager - SteamGridDB auf Knopfdruck

Durchsuche und lade Cover, Heroes, Logos und Icons von SteamGridDB herunter - der größten Community-getriebenen Spiele-Artwork-Datenbank.

  • Visueller Browser mit Vorschaubildern - sieh was du auswählst bevor du es anwendest
  • Filtere nach Typ: statisch, animiert (GIF/APNG/WebM), NSFW, Humor, Epilepsie-Warnung
  • Badge-System mit animierten Slide-Down-Indikatoren - farbige Streifen zeigen Inhalts-Tags auf einen Blick
  • Ein Klick zum Anwenden - Artwork wird heruntergeladen und sofort als Cover gesetzt

Artwork-Browser (Deutsch)

Artwork-Badges - NSFW, Animiert, Humor (Deutsch)

📊 Daten-Anreicherung - Wisse alles über deine Spiele

Reichere deine gesamte Bibliothek im Batch mit Daten aus mehreren Quellen an - alles lokal in SQLite gecacht für sofortigen Zugriff:

Quelle Daten API-Key nötig?
HowLongToBeat Hauptstory, Komplett, alle Spielstile Nein
ProtonDB Linux-Kompatibilität (Platinum/Gold/Silver/Bronze/Borked) Nein
Steam Achievements Abschlussquote pro Spiel Nein (mit OAuth2)
Steam Tags Community-Tags direkt aus Steam importiert Nein (mit OAuth2)
Steam Store Beschreibungen, DLC-Info, Altersfreigaben Nein

Klick auf "Alle anreichern" und hol dir einen Kaffee. Wenn du zurückkommst hat jedes Spiel vollständige Metadaten.

Batch-Anreicherung - Fortschritt (Deutsch)

Spiel-Detailansicht mit allen Daten (Deutsch)

🔒 Sicherheit - Kein Copy-Paste, kein Klartext

  • QR-Code-Login oder Passwort-Login über Steams offizielles OAuth2 (IAuthenticationService)
  • Tokens verschlüsselt (AES-GCM) mit maschinengebundenen Schlüsseln oder im System-Keyring gespeichert
  • Automatische Token-Erneuerung - kein erneutes Anmelden bei jedem App-Start
  • Der Steam Web API Key ist dank OAuth2 optional - wird aber für volle Funktionalität dringend empfohlen. Konfiguration direkt in der App unter Einstellungen.

Keine dubiosen Browser-Session-Tokens. Keine API-Keys in Klartext-Konfigdateien. Einfach scannen, einloggen, fertig.

Steam QR-Code Login (Deutsch)

🌍 Mehrsprachig - Deine Sprache, dein Weg

Vollständige Englisch 🇬🇧 und Deutsch 🇩🇪 Oberfläche mit kompletter i18n - null hardcodierte Strings im gesamten Code.

  • Getrennte Einstellungen für UI-Sprache und Tag-Sprache - englische Oberfläche mit deutschen Steam-Kategorien, oder jede beliebige Kombination
  • Lokalisierte Datumsformate - "07. Dez 2024" auf Deutsch, "07 Dec 2024" auf Englisch
  • Community-Übersetzungen willkommen - Beitragen ist einfach, keine Programmierkenntnisse nötig (siehe unten)

Spracheinstellungen (Deutsch)

🐧 Linux Native - Hier gebaut, für hier gemacht

Entwickelt mit PyQt6 für nahtlose Desktop-Integration. Das ist keine Windows-App mit angeschraubtem Linux-Port - es ist auf Linux gebaut, für Linux, von Tag eins an.

  • Steam Deck kompatibel - funktioniert im Desktop-Modus
  • Wayland & X11 unterstützt
  • AppImage, AUR, .deb, .rpm & tar.gz Pakete verfügbar
  • Windows-Unterstützung ist geplant - aber Linux hat immer Vorrang

🎮 Externe Spiele - Eine Bibliothek für alles

Spiele verstreut über Epic, GOG, Amazon, Lutris, Bottles, itch.io und Flatpak? SLM findet sie alle - und fügt sie in einem Rutsch als Non-Steam-Shortcuts zu Steam hinzu.

  • 8 Plattform-Parser - Heroic (Epic/GOG/Amazon), Lutris, Bottles, itch.io, Flatpak und bestehende shortcuts.vdf
  • Auto-Erkennung - SLM scannt nach installierten Launchern (nativ und Flatpak) und liest deren Spielebibliotheken direkt aus. Steams "Steam fremdes Spiel hinzufügen"-Dialog sieht nur Programme in deinem PATH - er hat keine Ahnung was Heroic, Lutris oder Bottles installiert haben
  • Duplikat-Schutz - bereits in Steam vorhandene Spiele werden erkannt und übersprungen
  • Plattform-Kollektionen - importierte Spiele werden automatisch nach Plattform in Steam-Kollektionen einsortiert. In SLMs Seitenleiste bekommt jede Kollektion einen visuellen Emoji-Indikator zur sofortigen Erkennung:
Kollektion Indikator
Epic Games 🟦 Blau (Epic-Markenfarbe)
GOG Galaxy 🟣 Lila (GOG-Markenfarbe)
Amazon Games 🟠 Orange (Amazon-Markenfarbe)
Lutris 🎮 Controller
Bottles 🍾 Flasche
itch.io 🎲 Würfel
Flatpak 📦 Paket
  • Binärer VDF-Parser - liest und schreibt Steams shortcuts.vdf-Format mit Byte-genauer Präzision
  • Batch-Import - alle Plattformen auf einmal scannen, auswählen, alle mit Fortschrittsanzeige hinzufügen

Steams eigener "Steam fremdes Spiel hinzufügen"-Dialog kann zwar mehrere Apps markieren - aber er sieht nur was in deinem PATH liegt, nicht deine tatsächlichen Spielebibliotheken. SLM scannt Heroic, Lutris, Bottles und mehr direkt, weiß genau was installiert ist, und organisiert alles automatisch in saubere Kollektionen.

Externe Spiele - Scannen und Importieren (Deutsch)

🔄 Integrierte Auto-Updates - Immer aktuell, null Aufwand

AppImage-Nutzer bekommen nahtlose In-App-Updates - kein manuelles Herunterladen, keine Terminal-Befehle. SLM prüft GitHub Releases automatisch (konfigurierbar: täglich, wöchentlich, monatlich oder nie), zeigt vollständige Versionshinweise mit Changelog, lädt im Hintergrund mit Fortschrittsanzeige herunter und startet mit einem Klick in die neue Version neu. Falls etwas schiefgeht, wird die vorherige Version automatisch wiederhergestellt.

  • Atomarer Austausch mit Rollback - ein Update kann nie eine kaputte Installation hinterlassen
  • "Version überspringen"-Button - ungewünschte Updates wegklicken ohne genervt zu werden
  • Konfigurierbar - Prüfintervall in den Einstellungen festlegen, oder jederzeit manuell prüfen

AUR- und Flatpak-Nutzer aktualisieren wie gewohnt über ihren Paketmanager.

Integriertes AppImage Auto-Update mit Versionshinweisen (Deutsch)

📸 Weitere Screenshots

Klicken zum Aufklappen - Zusätzliche Ansichten
Screenshot Beschreibung
Kontextmenü Rechtsklick-Kontextmenü - Schnellzugriff auf alle Aktionen
Export Export-Dialog - CSV, JSON, VDF, Datenbank-Backup
Über Über-Dialog mit Versions- & Systeminfo

📦 Download & Installation

Format Download Hinweise
🐧 AppImage Neueste Version Funktioniert auf jeder Distro - herunterladen, chmod +x, starten
📦 Flatpak Geplant - neuer Flathub-PR ausstehend Sandboxed, Auto-Updates
🏗️ AUR yay -S steam-library-manager Arch / Manjaro / CachyOS / EndeavourOS
🎩 .rpm Neueste Version Fedora / openSUSE
🍥 .deb Neueste Version Debian / Ubuntu / Linux Mint
📁 tar.gz Neueste Version Portabel mit Install-Skript

Läuft hervorragend auf dem Steam Deck - getestet auf LCD und OLED.
Die Oberfläche passt sich automatisch an kleinere Displays an.

Steam Library Manager auf dem Steam Deck

🔧 Aus Quellcode bauen (für Entwickler)
# Klonen
git clone https://github.com/Switch-Bros/SteamLibraryManager.git
cd SteamLibraryManager

# Virtuelle Umgebung
python3 -m venv .venv
source .venv/bin/activate

# Abhängigkeiten
pip install -r requirements.txt

# Starten
python steam_library_manager/main.py

Benötigt Python 3.10+ und einen laufenden Steam Client (nicht Big Picture).

🔧 API- & Authentifizierungs-Anforderungen

Dieses Projekt nutzt folgende Dienste:

1. Steam-Authentifizierung (OAuth2)

- **Zweck:** Anmeldung mit deinem Steam-Konto für Zugriff auf deine Bibliothek und Anzeige deines Profilnamens. - **Funktionsweise:** - Nutzt Steams offizielles **OAuth2** über `IAuthenticationService` (QR-Code oder Passwort-Login). - Tokens werden **verschlüsselt** (AES-GCM) oder im System-Keyring gespeichert. - Der **Steam Web API Key** ist dank OAuth2 **optional** - wird aber für volle Funktionalität **dringend empfohlen** (Metadaten-Anreicherung, Achievement-Sync etc.). - Du kannst deinen API-Key direkt in der App unter **Einstellungen -> Steam Web API Key** eintragen. - Key hier beantragen: [Steam Web API Key](https://steamcommunity.com/dev/apikey)

2. SteamGridDB

- **Erforderlich für:** Anpassung von Spiel-Covern, Heroes, Logos und Icons. - **So erhältst du den API-Schlüssel:** - Die App **fragt automatisch** nach dem SteamGridDB-API-Schlüssel, sobald du zum ersten Mal auf ein Spiel-Cover klickst. - Es öffnet sich ein Fenster, in dem du: 1. **Deinen API-Schlüssel** von [SteamGridDB](https://www.steamgriddb.com/api) holst. 2. **Den Schlüssel** in das Eingabefeld der App einfügst. 3. Auf **OK** klickst - der Schlüssel wird lokal gespeichert, und die Cover-Funktionen sind sofort nutzbar! - **Hinweis:** Nutzer müssen die [Nutzungsbedingungen von SteamGridDB](https://www.steamgriddb.com/terms) einhalten.

3. HowLongToBeat (HLTB)

- **Enthalten für:** Anzeige von Spielzeiten und Auto-Kategorisierung nach Spielzeitbereichen. - **Kein API-Key nötig.** Daten werden automatisch abgerufen und lokal gecacht. - **Hinweis:** HLTB bietet keine offizielle öffentliche API an. Die Integration respektiert deren [Nutzungsbedingungen](https://howlongtobeat.com/).

4. ProtonDB

- **Enthalten für:** Linux/Proton-Kompatibilitätsbewertungen. - **Kein API-Key nötig.** Lesender Zugriff, lokal gecacht mit 7-Tage TTL.

🗺️ Roadmap

Meilenstein Status
Core-Engine, Datenbank, Cloud Sync, Auth ✅ Fertig
Architektur-Refactoring, Menü-Redesign ✅ Fertig
Depressurizer Feature-Parität (17 AutoCat-Typen) ✅ Fertig
Smart Collections, Steam Deck Optimizer, HLTB ✅ Fertig
Externe Spiele (8 Parser), ProtonDB, Kuratoren ✅ Fertig
UI-Polish, Keyboard Shortcuts, Dokumentation ✅ Fertig
v1.1.1 - Erste öffentliche Veröffentlichung Veröffentlicht
v1.2.0 - Modul-Umbenennung, AUR-Paket Veröffentlicht
Steam Deck responsive UI ✅ Fertig
Library Auto-Sync ✅ Fertig
Multi-Format Packaging (.deb, .rpm, tar.gz) ✅ Fertig
v1.2.4 - Steam Deck + Packaging Release Veröffentlicht
v1.2.5 - AppImage-Update Fix Veröffentlicht
v1.2.6 - Dock-Integration Fix Veröffentlicht
v1.2.7 - Sicherheits-Haertung Veröffentlicht
v1.3.5 - First-Run Crash Fix Veröffentlicht
v1.3.6 - Refactoring-Regressions Fix Veröffentlicht
v1.3.9 - i18n Cleanup, Security, DRY Veröffentlicht
v1.4.0 - Statistik-Dashboard (7 Tabs) Veröffentlicht
v1.4.2 - Statistik i18n + Screenshots Veröffentlicht
Flatpak (Flathub) 📋 Neuer PR geplant
Windows-Unterstützung 📋 Geplant

🌍 Übersetzungen

Steam Library Manager kommt mit Englisch und Deutsch. Du willst es in deiner Sprache sehen?

Eine Übersetzung beizutragen ist einfach - keine Programmierkenntnisse nötig!

  1. Kopiere eine beliebige JSON-Datei aus steam_library_manager/resources/i18n/en/ als Vorlage
  2. Übersetze die Werte (niemals die Keys ändern!)
  3. Platzhalter wie {count} und {name} unverändert lassen
  4. Deine Sprache in steam_library_manager/resources/i18n/languages.json eintragen:
    "tr": "🇹🇷  Türkçe"
  5. Pull Request erstellen

Der Sprachname muss immer in der eigenen Originalschrift stehen - "Türkçe", nicht "Turkish".

🛡️ Datenschutz & Sicherheit

  • Keine Telemetrie. Steam Library Manager telefoniert nicht nach Hause.
  • Keine Datenerfassung. Deine Bibliothek, deine Daten, dein Rechner.
  • Token-Verschlüsselung. Steam-Zugangsdaten mit AES-GCM verschlüsselt oder im System-Keyring.
  • API-Keys lokal gespeichert. Werden niemals an Dritte übermittelt.
  • Automatische Backups. Vor jedem Schreibvorgang auf Steam-Dateien wird ein Backup erstellt.

🤝 Mitmachen

🙏 Danksagungen

⚖️ Rechtlicher Hinweis

Diese Software wird "WIE SIE IST" bereitgestellt, ohne jegliche ausdrückliche oder stillschweigende Gewährleistung, einschließlich, aber nicht beschränkt auf die Gewährleistung der Marktgängigkeit, der Eignung für einen bestimmten Zweck und der Nichtverletzung von Rechten Dritter.

In keinem Fall haften die Autoren oder Urheberrechtsinhaber für Ansprüche, Schäden oder sonstige Haftung, ob aus Vertrag, unerlaubter Handlung oder anderweitig, die sich aus der Software oder der Nutzung der Software oder dem sonstigen Umgang mit der Software ergeben.

  • Du musst die Nutzungsbedingungen der jeweiligen API-Anbieter (Steam, SteamGridDB, HLTB, ProtonDB) einhalten.
  • Der Entwickler (Switch Bros) übernimmt keine Verantwortung für den Missbrauch von API-Schlüsseln oder Verstöße gegen die Nutzungsbedingungen Dritter.
  • API-Schlüssel werden lokal gespeichert und niemals an Dritte übermittelt.
  • Steam Library Manager ist nicht verbunden mit, unterstützt von oder assoziiert mit Valve Corporation oder einem anderen Drittanbieter-Dienst.

📜 Lizenz

MIT License - Copyright © 2026 Switch Bros.

Mit ❤️ auf Linux gebaut von Switch Bros