Vortex ist der aktuelle Mod-Manager von Nexus Mods. Es wurde entwickelt, um das Modifizieren Ihres Spiels für neue Benutzer so einfach wie möglich zu machen und gleichzeitig erfahrenen Veteranen der Modding-Szene dennoch genügend Kontrolle zu bieten.
Unser Ansatz mit Vortex zielt darauf ab, komplexe Aufgaben wie das Sortieren Ihrer Ladereihenfolge oder die Verwaltung Ihrer Mod-Dateien zu übernehmen und den Prozess so weit wie möglich zu automatisieren, mit dem Ziel, dass Sie mit minimalem Aufwand ein stabiles, modifiziertes Spiel erhalten. Wir möchten Ihnen helfen, weniger Zeit mit dem Modifizieren und mehr Zeit mit dem Spielen Ihrer Spiele zu verbringen.
Multi-Game-Unterstützung – mit Mod-Unterstützung für über 250 verschiedene Spiele, Tendenz steigend, ist Vortex der vielseitigste Mod-Manager auf dem Markt. Dazu gehören Spiele wie Skyrim, Fallout 3, Fallout 4, Fallout: New Vegas, Cyberpunk 2077, Baldur's Gate 3, Starfield, Stardew Valley, Bannerlord, Witcher 3, Elden Ring, Die Sims 4, Monster Hunter: World, Oblivion, Palworld , Blade & Sorcery, Valheim, Hogwarts Legacy, 7 Days to Die.
Enge Integration mit Nexus Mods – Vortex ist so konzipiert, dass es nahtlos mit Nexus Mods interagiert, sodass Sie Mods auf unserer Website einfach finden, installieren und abspielen, sich über neue Dateien informieren und die neuesten Nachrichten erhalten können.
Modding leicht gemacht – Das integrierte automatische Sortiersystem verwaltet Ihre Ladereihenfolge und hilft Ihnen, Mod-Konflikte mit leistungsstarken, aber dennoch benutzerfreundlichen Plugin-Verwaltungsfunktionen zu lösen.
Mod-Profile – Einfaches Einrichten, Wechseln zwischen und Verwalten unabhängiger Mod-Profile, sodass Sie genau die Kombination von Mods verwenden können, die Sie für einen bestimmten Spieldurchgang benötigen.
Moderne, benutzerfreundliche Benutzeroberfläche – Mit einer vollständig anpassbaren Benutzeroberfläche ermöglicht Vortex Ihnen den schnellen und einfachen Zugriff auf Tools und die Verwaltung Ihrer Spiele, Plugins, Downloads und Spielstände.
Erweiterungen und Plugins – Vortex wird unter einer GPL-3-Lizenz veröffentlicht, die unserer Community die Möglichkeit gibt, Erweiterungen und Frameworks zu schreiben, die dann mit Vortex interagieren und so dessen Funktionalität kontinuierlich erweitern können.
Um zu beginnen, kann Vortex von Nexus Mods oder von GitHub heruntergeladen werden. Nachdem das Installationsprogramm heruntergeladen wurde, führen Sie es einfach aus und befolgen Sie die Anweisungen.
Weitere Informationen zu Vortex und Anleitungen finden Sie im Vortex-Wiki.
Um mit der Entwicklung auf Vortex zu beginnen, verwenden Sie bitte diese größtenteils automatisierte Methode, um alle Abhängigkeiten herunterzuladen und zu installieren, das Vortex-Repo von GitHub zu klonen und es dann zu erstellen, damit es von der Quelle aus ausgeführt werden kann. Die meisten Abhängigkeiten werden mit Scoop installiert.
Starten Sie eine Powershell, indem Sie auf die Schaltfläche „Start“ klicken und powershell
eingeben.
Führen Sie Invoke-WebRequest "https://raw.githubusercontent.com/Nexus-Mods/Vortex/master/bootstrap.ps1" -OutFile bootstrap.ps1
aus, um das Bootstrap-Skript abzurufen
Standardmäßig erstellt dieses Skript Vortex in C:buildvortex
. Wenn Sie möchten, dass es sich woanders befindet, bearbeiten Sie das Skript, um das Build-Verzeichnis zu ändern, bevor Sie es ausführen.
Höchstwahrscheinlich müssen Sie die Ausführung von Skripten zulassen. Dies kann mit Set-ExecutionPolicy Unrestricted
festgelegt werden, es ist jedoch eine Powershell mit Administratorzugriff erforderlich.
Führen Sie das Skript aus ( .bootstrap.ps1
)
Der folgende Abschnitt soll einige Entwicklungsentscheidungen klären und erläutern.
Die Toolchain für Entwicklungs-Builds und Release-Builds ist sehr unterschiedlich.
In Entwicklungsbuilds wird der Typoskript-Compiler (tsc) direkt verwendet, um jede .ts
Datei einzeln in .js
zu transkribieren. Electron führt diese Dateien direkt aus, Abhängigkeiten werden von node_modules
geladen.
In Release-Builds verwenden wir Webpack und TS-Loader, um alle .ts
Dateien und Abhängigkeiten in zwei Javascript-Dateien zu backen (eine für den Haupt-/Browserprozess, eine für den Renderer). electron-builder
wird verwendet, um Code und Assets zu bündeln, ein NSIS-Installationsprogramm zu generieren, es in ein EXE-Installationsprogramm zu integrieren und diese (und alle von uns gelieferten ausführbaren Dateien und DLLs) zu signieren. Es gibt mehrere Electron-Builder-Konfigurationsdateien für mehrere Varianten, nur „oneclick“ und „advanced“ werden für Release-Builds verwendet, die anderen können sich in unterschiedlichem Zustand des Verfalls befinden (obwohl ci auch funktionieren sollte)
Dadurch ist es einfacher, mit Entwickler-Builds zu arbeiten und das Erstellen geht viel schneller, aber die Laufzeit ist langsamer.
Darüber hinaus verwenden wir eine Zwei-Paket-Struktur, was bedeutet, dass die Datei /package.json
für die gesamte Entwicklung und die Build-Umgebung für Releases verwendet wird (z. B. steuert diese Datei immer die verwendete/gebündelte Elektronenversion), während /app/package.json
entscheidet Einstellungen (Name, Version, Abhängigkeiten) nur für die Release-Builds. Wir verwenden ein benutzerdefiniertes Skript ( checkPackages.js
), um sicherzustellen, dass die Abhängigkeiten für die Veröffentlichung eine Teilmenge der Abhängigkeiten der Build- env
sind und dass sie dieselbe Version verwenden, um Probleme zu vermeiden, die beim Testen aufgrund unterschiedlicher Abhängigkeiten nicht aufgetreten sind.
Gebündelte Erweiterungen hingegen werden zwischen Entwickler und Release gleich erstellt: Sie werden immer mit Webpack erstellt und haben jeweils ihr eigenes Build-Setup – mit Ausnahme einfacher Spielerweiterungen, bei denen es sich bereits um einzelne JS-Dateien handelt, diese werden einfach kopiert.
Diese Codebasis verwendet immer noch Garn 1 (klassisch). Jeder Versuch, Garn 2 oder 3 zu verwenden, endete mit unsinnigen Fehlern (fehlende Abhängigkeiten, die klar aufgelistet sind, aufeinanderfolgende Installationen, die zu fehlenden Paketen führten), ohne dass eine vernünftige Möglichkeit besteht, die Ursache dafür zu untersuchen. npm und pnpm sind im Vergleich recht langsam. Wir verwenden eigentlich keine garnspezifischen Funktionen (Arbeitsbereiche?), daher sollte der Wechsel nicht allzu schwierig sein, aber im Moment funktioniert Garn „klassisch“.
Zum Zeitpunkt des Verfassens dieses Artikels unterstützt Electron keine ES-Module, daher wird alles in commonjs transpiliert. Dies hat zur Folge, dass einige aktualisierte Bibliotheken, die nur ESM unterstützen, nicht verwendet werden können (z. B. neue Versionen von d3). Dies bedeutet auch, dass asynchrone Importe ( const foo = await import('bar')
) zur Laufzeit tatsächlich synchron sind. Spielt jedoch keine große Rolle, da bei Release-Builds sowieso alles in einer einzigen Datei zusammengefasst wird und eine Codeaufteilung nicht wirklich erforderlich ist.
Bitte melden Sie Probleme auf GitHub und geben Sie mindestens die folgenden Informationen an:
Die genaue Version von Vortex, die Sie verwenden
Ihr Betriebssystem
Was Sie gemacht haben, als der Fehler auftrat
Was genau ist der Fehler (Absturz? Fehlermeldungen? unerwartetes Verhalten?)
Wenn Sie eine Fehlermeldung erhalten, geben Sie die vollständige und genaue Fehlermeldung an. Paraphrasieren Sie nicht und lassen Sie keine Informationen aus, die für Sie kryptisch oder unwichtig erscheinen
Die Protokolldatei (siehe unten)
Idealerweise auch der Bewerbungsstand (siehe unten)
Alle vom Client generierten Daten (einschließlich Einstellungen und Protokolle) werden gespeichert unter:
Build-Typ | Standort | Gemeinsamer Weg |
---|---|---|
Freigeben | %AppData%Vortex | C:Users |
Entwickler | %AppData%vortex_devel | C:Users |
Wenn Sie einen Fehler melden müssen, können zusätzlich zu der auf dem Bildschirm angezeigten Fehlermeldung die folgenden Pfade in diesem Verzeichnis hilfreich sein:
vortex.log
(Protokolle werden bei einer bestimmten Größe rotiert, dies ist die neueste)
state
außer global_account (dieser enthält Schlüssel und Passwörter, also vertrauliche Informationen)
(wenn der Fehler ein bestimmtes Spiel betrifft)
TODO: Manuelle Schritte mit Abhängigkeiten und Versionen
Laden Sie Vortex von Nexus Mods herunter
GitHub für Quellcode, Probleme und Pull-Requests.
Vortex-Forum oder Discord für Unterstützung und Diskussionen mit der Community und dem Team.
Vortex-Wiki für Wissensdatenbank, Artikel und Fehlerbehebung
Projektstruktur für einen Überblick über die Organisation der Codebasis.
Der Großteil des Vortex-Codes ist Open Source. Wir legen großen Wert auf einen transparenten Entwicklungsprozess und freuen uns über jeden Beitrag. Egal, ob Sie uns bei der Behebung von Fehlern helfen, neue Funktionen vorschlagen, unsere Dokumentation verbessern oder die Nachricht verbreiten – wir würden uns freuen, Sie als Teil der Vortex-Community zu haben.
Fehlerbericht: Wenn bei der Verwendung von Amplication eine Fehlermeldung angezeigt wird oder ein Problem auftritt, erstellen Sie bitte einen Fehlerbericht.
Funktionsanfrage: Wenn Sie eine Idee haben oder eine Funktion fehlt, die die Entwicklung einfacher und robuster machen würde, senden Sie bitte eine Funktionsanfrage.
Rezensionserweiterung: Wenn Sie eine Spielerweiterung erstellen und eine Rezension durch uns benötigen, reichen Sie bitte einen Antrag auf Rezensionserweiterung ein.
Dieses Projekt ist unter der GPL-3.0-Lizenz lizenziert.