README.md aktualisiert
This commit is contained in:
156
README.md
156
README.md
@@ -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.
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
</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
|
||||
|
||||
Reference in New Issue
Block a user