README.md aktualisiert

This commit is contained in:
2026-07-28 21:00:59 +00:00
parent 7f085f3e9f
commit 8af2e51321

156
README.md
View File

@@ -1,2 +1,156 @@
# Viper-Network-Launcher
<div align="center">
<img src="src/assets/logo.png" alt="Viper-Network Logo" width="140" />
# Viper-Network Launcher
**Ein instanz-basierter Minecraft-Launcher für Windows à la MultiMC / Prism.**
Verwalte beliebig viele isolierte Minecraft-Instanzen mit eigener Version, eigenen Mods und eigenem Java lade Mods per Ein-Klick von Modrinth, melde dich mit deinem Microsoft-Konto an und spiele.
![Version](https://img.shields.io/badge/version-0.6.0-2b8bff)
![Platform](https://img.shields.io/badge/platform-Windows%20x64-2b8bff)
![Electron](https://img.shields.io/badge/Electron-28-2b8bff)
![License](https://img.shields.io/badge/license-MIT-e23a3f)
</div>
---
## ✨ Features
| Bereich | Funktion | Status |
|---|---|---|
| **Instanzen** | Anlegen, Bearbeiten, Duplizieren, Löschen jede Instanz ein isolierter Ordner | ✅ |
| **Instanzen** | Eigenes Icon (Emoji-Set **oder** eigenes Bild) | ✅ |
| **Versionen** | Minecraft-Version aus dem offiziellen Mojang-Manifest wählen (Release/Snapshot) | ✅ |
| **Java** | Automatische Erkennung installierter Java-Versionen (Adoptium, Oracle, Zulu, Corretto, Microsoft …) | ✅ |
| **Java** | Passende Java-Version wird automatisch pro Minecraft-Version gewählt | ✅ |
| **Mods** | Modrinth-Browser mit **Ein-Klick-Installation** in die Instanz | ✅ |
| **Login** | Offizieller Microsoft-Login (Device-Code-Flow) mit **Mehrkonten-Verwaltung** | ✅ |
| **Start** | Vanilla-Download (Client, Libraries, Natives, Assets) & Start | ✅ |
| **Loader** | **Fabric** & **Quilt** installieren & starten | ✅ |
| **Loader** | **Forge** & **NeoForge** | ⏳ in Arbeit |
---
## 🚀 Installation & Start
**Voraussetzungen:** [Node.js](https://nodejs.org/) 18+ und ein installiertes **Java** (JRE/JDK; für moderne Versionen Java 21).
```bash
# Abhängigkeiten installieren
npm install
# Launcher starten
npm start
```
### Windows-Installer bauen
```bash
npm run build
```
Erzeugt einen NSIS-Installer (`.exe`) im Ordner `dist/` (electron-builder, x64).
Für ein Icon der gebauten `.exe` lege `src/assets/icon.ico` (256×256) ab.
---
## 🎮 Bedienung
1. ** Neue Instanz** → Name, Minecraft-Version und optional einen Mod-Loader (Fabric/Quilt) wählen.
2. Instanz anklicken → Detailansicht mit **▶ Spielen**, **🧩 Mods**, Bearbeiten, Ordner, Duplizieren, Löschen.
3. **🧩 Mods** → Modrinth durchsuchen und mit einem Klick installieren (passend zu Version + Loader).
4. **👤 Anmelden** (oben rechts) → Microsoft-Konto hinzufügen (mehrere möglich, aktives Konto spielt).
5. **▶ Spielen** → Der Launcher lädt alles Nötige und startet Minecraft mit deinem Konto.
> 💡 **Parallel spielen:** Konto A aktivieren → starten → Konto B aktivieren → starten. Jeder Start ist ein eigener Prozess, so laufen mehrere Clients mit verschiedenen Accounts gleichzeitig.
---
## 🔐 Microsoft-Login einrichten
Der Launcher bringt bereits eine **eingebaute Azure-App-ID** mit Endnutzer müssen nichts eintragen und melden sich einfach mit ihrem eigenen Microsoft-Konto an.
> ⚠️ **Wichtiger Hinweis zur Freischaltung:** Seit 2024 müssen **neu registrierte** Azure-Apps von Microsoft/Mojang freigeschaltet werden, bevor sie sich bei den Minecraft-Diensten anmelden dürfen. Bis zur Freigabe endet der Login mit `Invalid app registration (403)`. Die Freischaltung wird über das offizielle Formular **[aka.ms/mce-reviewappid](https://aka.ms/mce-reviewappid)** beantragt. Der Launcher-Code ist vollständig sobald die App-ID freigeschaltet ist, funktioniert der Login ohne weitere Änderungen.
**Eigene Azure-App verwenden (optional):** In den ⚙ Einstellungen lässt sich eine eigene Client-ID hinterlegen. Anforderungen:
- Kontotyp: **Nur persönliche Microsoft-Konten**
- Authentifizierung → **„Öffentliche Clientflows zulassen" = Ja**
- Freischaltung über [aka.ms/mce-reviewappid](https://aka.ms/mce-reviewappid)
Der Login nutzt ausschließlich den offiziellen Microsoft-OAuth-Flow (echtes Konto, Spielbesitz vorausgesetzt). Ein Offline-/„Cracked"-Login wird **bewusst nicht** angeboten.
---
## 🗂️ Projektstruktur
```
Viper-Network/
├─ package.json # Metadaten, Scripts, electron-builder-Konfig
└─ src/
├─ main.js # Electron-Hauptprozess: Fenster, IPC
├─ preload.js # sichere Bridge (contextIsolation)
├─ renderer.js # UI-Logik
├─ index.html # Oberfläche
├─ styles.css # Design (Logo-Farbwelt: Blau/Rot/Silber)
├─ store.js # Persistenz: Instanzen, Einstellungen, Mods, Bilder
├─ services.js # Java-Scan, Mojang-Versionen, Modrinth
├─ launcher.js # Download-/Start-Pipeline (Client/Libs/Natives/Assets)
├─ loaders.js # Mod-Loader (Fabric/Quilt)
├─ auth.js # Microsoft-Login + Mehrkonten
└─ assets/
└─ logo.png # App-Logo
```
### Datenspeicherorte
Alle Nutzerdaten liegen unter `%APPDATA%\Viper-Network\` (im Dev-Modus `%APPDATA%\viper-network\`):
| Pfad | Inhalt |
|---|---|
| `instances/<id>/instance.json` | Metadaten der Instanz |
| `instances/<id>/mods.json` | installierte Mods |
| `instances/<id>/minecraft/` | Spielverzeichnis (Saves, Configs, `mods/`) |
| `settings.json` | globale Einstellungen |
| `accounts.json` | angemeldete Microsoft-Konten (Tokens lokal) |
| `shared/{versions,libraries,assets}` | von allen Instanzen geteilte Spieldateien |
| `mc-versions.json` | zwischengespeicherte Mojang-Versionsliste |
---
## 🛠️ Technik-Stack
- **[Electron](https://www.electronjs.org/) 28** Desktop-App (plain, ohne Bundler)
- **Node.js** Datei-, Netzwerk- und Prozess-Handling
- Reines **HTML / CSS / JavaScript** im Renderer (contextIsolation aktiv, kein Node im UI)
- **electron-builder** Windows-Installer (NSIS)
**Genutzte APIs/Dienste:**
- [Mojang / Piston Meta](https://piston-meta.mojang.com/) Versionen, Client, Libraries, Assets
- [Modrinth API](https://docs.modrinth.com/) Mod-Suche & -Download
- [Fabric Meta](https://meta.fabricmc.net/) / [Quilt Meta](https://meta.quiltmc.org/) Loader-Profile
- Microsoft Identity Platform + Xbox Live + Minecraft Services Login
---
## 🗺️ Roadmap
- [ ] Forge & NeoForge (Installer mit Prozessoren)
- [ ] „Starten als [Konto]" direkt an der Instanz
- [ ] Loader-Versionsauswahl im Dialog
- [ ] Skins/Avatare in der Kontoliste
- [ ] Instanz-Gruppen & Sortierung
- [ ] Import/Export von Instanzen (Modpacks)
---
## ⚖️ Rechtliches
Dieses Projekt steht in **keiner** Verbindung zu Mojang, Microsoft oder Xbox und ist kein offizielles Produkt.
„Minecraft" ist eine Marke von Mojang AB. Für die Nutzung ist ein **rechtmäßig erworbenes** Minecraft (Java Edition) sowie ein gültiges Microsoft-Konto erforderlich.
## 📄 Lizenz
MIT © Viper-Network