Vortex est le gestionnaire de mods actuel de Nexus Mods. Il est conçu pour rendre le modding de votre jeu aussi simple que possible pour les nouveaux utilisateurs, tout en offrant suffisamment de contrôle pour les vétérans plus expérimentés de la scène du modding.
Notre approche avec Vortex vise à prendre en charge des tâches complexes telles que le tri de votre ordre de chargement ou la gestion de vos fichiers de mod et à automatiser autant de processus que possible dans le but de vous permettre d'obtenir un jeu moddé stable avec un minimum d'effort. Nous voulons vous aider à passer moins de temps à modifier et plus de temps à jouer à vos jeux.
Prise en charge de plusieurs jeux - avec la prise en charge de plus de 250 jeux différents, Vortex est le gestionnaire de mods le plus polyvalent disponible. Cela inclut des jeux tels que Skyrim, Fallout 3, Fallout 4, Fallout : New Vegas, Cyberpunk 2077, Baldur's Gate 3, Starfield, Stardew Valley, Bannerlord, Witcher 3, Elden Ring, Les Sims 4, Monster Hunter : World, Oblivion, Palworld. , Blade & Sorcery, Valheim, Poudlard Legacy, 7 jours pour mourir.
Intégration étroite avec Nexus Mods - Vortex est conçu pour interagir de manière transparente avec Nexus Mods, vous permettant de trouver, d'installer et de lire facilement des mods à partir de notre site, de découvrir de nouveaux fichiers et de suivre les dernières nouvelles.
Le modding simplifié - Le système de tri automatique intégré gère votre ordre de chargement et vous aide à résoudre les conflits de mods grâce à des fonctionnalités de gestion de plugins puissantes mais faciles à utiliser.
Profils de mod - Configurez, basculez et gérez facilement des profils de mod indépendants vous permettant d'utiliser exactement la combinaison de mods que vous souhaitez pour une partie particulière.
Interface utilisateur moderne et facile à utiliser - Doté d'une interface entièrement personnalisable, Vortex vous permet d'accéder rapidement et facilement aux outils et de gérer vos jeux, plugins, téléchargements et sauvegardes de jeux.
Extensions et plugins - Vortex est publié sous une licence GPL-3 donnant à notre communauté la possibilité d'écrire des extensions et des frameworks qui peuvent ensuite interagir avec Vortex, ajoutant continuellement à ses fonctionnalités.
Pour commencer, Vortex peut être téléchargé depuis Nexus Mods ou depuis GitHub. Une fois le programme d’installation téléchargé, exécutez-le simplement et suivez les instructions.
Des informations supplémentaires sur Vortex et des guides peuvent être trouvées dans le Wiki Vortex.
Pour démarrer le développement sur Vortex, veuillez utiliser cette méthode principalement automatisée pour télécharger et installer toutes les dépendances, cloner le dépôt Vortex depuis GitHub, puis le construire afin qu'il puisse être exécuté à partir des sources. La plupart des dépendances sont installées à l'aide de Scoop.
Démarrez un PowerShell en cliquant sur le bouton Démarrer et en tapant powershell
.
Exécutez Invoke-WebRequest "https://raw.githubusercontent.com/Nexus-Mods/Vortex/master/bootstrap.ps1" -OutFile bootstrap.ps1
pour récupérer le script d'amorçage
Par défaut, ce script construira Vortex dans C:buildvortex
. Si vous souhaitez qu'il se trouve ailleurs, modifiez le script pour changer le répertoire de construction avant de l'exécuter.
Vous devrez très probablement autoriser l’exécution de scripts. Cela peut être défini à l'aide Set-ExecutionPolicy Unrestricted
, mais un PowerShell avec accès administrateur est requis.
Exécutez le script ( .bootstrap.ps1
)
La section suivante vise à clarifier et expliquer quelques décisions de développement.
La chaîne d’outils pour les versions de développement et les versions de version est assez différente.
Dans les versions de développement, le compilateur TypeScript (tsc) est utilisé directement pour translittérer chaque fichier .ts
en .js
individuellement, Electron exécute ces fichiers directement, les dépendances sont chargées à partir de node_modules
.
Dans les versions de version, nous utilisons webpack et ts-loader pour intégrer tous les fichiers .ts
et dépendances dans deux fichiers javascript (un pour le processus principal/navigateur, un pour le moteur de rendu). electron-builder
est utilisé pour regrouper le code et les actifs, générer un programme d'installation nsis, l'intégrer dans un programme d'installation exe et les signer (ainsi que tous les exécutables et dll que nous expédions). Il existe plusieurs fichiers de configuration de constructeur d'électrons pour plusieurs variantes, seuls "oneclick" et "advanced" sont utilisés pour les versions, les autres peuvent être dans différents états de délabrement (bien que ci devrait également fonctionner)
En conséquence, les versions de développement sont plus faciles à utiliser et la construction est beaucoup plus rapide, mais le temps d'exécution est plus lent.
De plus, nous utilisons une structure à deux packages, ce qui signifie que le fichier /package.json
est utilisé pour tout le développement et l'environnement de construction des versions (par exemple, ce fichier contrôle toujours la version électronique utilisée/regroupée) tandis que /app/package.json
décide paramètres (nom, version, dépendances) pour les versions de version uniquement. Nous utilisons un script personnalisé ( checkPackages.js
) pour garantir que les dépendances à publier sont un sous-ensemble des dépendances de l' env
de construction et qu'elles utilisent la même version pour éviter des problèmes qui ne se sont pas produits lors des tests en raison de dépendances différentes.
Les extensions groupées, en revanche, sont construites de la même manière entre le développement et la version : elles sont toujours construites avec webpack et chacune a sa propre configuration de construction - à l'exception des extensions de jeu simples qui sont déjà des fichiers js uniques, ceux-ci sont simplement copiés.
Cette base de code utilise toujours le fil 1 (classique). Toute tentative d'utilisation de Yarn 2 ou 3 s'est soldée par des erreurs absurdes (dépendances manquantes clairement répertoriées, installations successives conduisant à des packages manquants) sans aucun moyen raisonnable d'en rechercher la raison. npm et pnpm sont assez lents en comparaison. Nous n'utilisons pas vraiment de fonctionnalités spécifiques au fil (espaces de travail ?), donc le changement ne devrait pas être trop difficile, mais pour l'instant, le fil "classique" fonctionne.
Au moment de la rédaction, Electron ne prend pas en charge les modules ES, donc tout est transpilé vers commonjs. Cela a pour conséquence que certaines bibliothèques mises à jour ne supportant que esm ne peuvent pas être utilisées (par exemple les nouvelles versions de d3). Cela signifie également que les importations asynchrones ( const foo = await import('bar')
) sont en fait synchrones au moment de l'exécution. Cela n'a pas vraiment d'importance, car de toute façon, tout est intégré dans un seul fichier lors des versions de version et le fractionnement du code n'est pas vraiment nécessaire.
Veuillez signaler les problèmes sur GitHub et inclure au minimum les informations suivantes :
La version exacte de Vortex que vous utilisez
Votre système d'exploitation
Que faisiez-vous lorsque le bug est survenu
Quel est exactement le bug (plantage ? messages d'erreur ? comportement inattendu ?)
Si vous recevez un message d'erreur, incluez le message d'erreur complet et exact. Ne paraphrasez pas, ne laissez pas de côté des informations qui vous semblent énigmatiques ou sans importance
Le fichier journal (voir ci-dessous)
Idéalement aussi l'état de la candidature (voir ci-dessous)
Toutes les données générées par le client (y compris les paramètres et les journaux) sont stockées dans :
Type de construction | Emplacement | Chemin commun |
---|---|---|
Libérer | %AppData%Vortex | C:Users |
Développeur | %AppData%vortex_devel | C:Users |
Si vous devez signaler un bug, les chemins suivants dans ce répertoire peuvent être utiles en plus du message d'erreur affiché à l'écran :
vortex.log
(les journaux tournent à une certaine taille, c'est le dernier)
state
sauf global_account (celui-ci contient des clés et des mots de passe donc des informations sensibles)
(si le bug concerne un jeu spécifique)
TODO : étapes manuelles avec dépendances et versions
Téléchargez Vortex depuis Nexus Mods
GitHub pour le code source, les problèmes et les demandes d'extraction.
Vortex Forum ou Discord pour du soutien et des discussions avec la communauté et l'équipe.
Vortex Wiki pour la base de connaissances, les articles et le dépannage
Structure du projet pour un aperçu de la façon dont la base de code est organisée.
La majorité du code Vortex est open source. Nous nous engageons dans un processus de développement transparent et apprécions grandement toute contribution. Que vous nous aidiez à corriger des bugs, à proposer de nouvelles fonctionnalités, à améliorer notre documentation ou à faire passer le message, nous serions ravis de vous compter parmi la communauté Vortex.
Rapport de bug : si vous voyez un message d'erreur ou rencontrez un problème lors de l'utilisation d'Amplication, veuillez créer un rapport de bug.
Demande de fonctionnalité : si vous avez une idée ou s'il manque une fonctionnalité qui rendrait le développement plus facile et plus robuste, veuillez soumettre une demande de fonctionnalité.
Extension d'avis : si vous créez une extension de jeu et avez besoin que nous la révisions, veuillez soumettre une demande d'extension d'avis.
Ce projet est sous licence GPL-3.0.