Vortex é o atual gerenciador de mods do Nexus Mods. Ele foi projetado para tornar a modificação do seu jogo o mais simples possível para novos usuários, ao mesmo tempo que fornece controle suficiente para veteranos mais experientes no cenário de modding.
Nossa abordagem com o Vortex visa realizar tarefas complexas, como classificar sua ordem de carregamento ou gerenciar seus arquivos mod, e automatizar o máximo possível do processo com o objetivo de que você obtenha um jogo modificado estável com o mínimo de esforço. Queremos ajudá-lo a gastar menos tempo modificando e mais tempo jogando.
Suporte a vários jogos - com suporte a mod para mais de 250 jogos diferentes e contando, Vortex é o gerenciador de mod mais versátil disponível. Isso inclui jogos como Skyrim, Fallout 3, Fallout 4, Fallout: New Vegas, Cyberpunk 2077, Baldur's Gate 3, Starfield, Stardew Valley, Bannerlord, Witcher 3, Elden Ring, The Sims 4, Monster Hunter: World, Oblivion, Palworld , Blade & Sorcery, Valheim, Legado de Hogwarts, 7 dias para morrer.
Estreita integração com Nexus Mods - Vortex foi projetado para interagir perfeitamente com Nexus Mods, permitindo que você encontre, instale e reproduza facilmente mods de nosso site, aprenda sobre novos arquivos e receba as últimas notícias.
Modding facilitado - O sistema de classificação automática integrado gerencia sua ordem de carregamento e ajuda você a resolver conflitos de mod com recursos de gerenciamento de plug-ins poderosos, mas fáceis de usar.
Perfis de Mod - Configure, alterne e gerencie facilmente perfis de mod independentes, permitindo que você use exatamente a combinação de mods que deseja para uma jogada específica.
UI moderna e fácil de usar - Apresentando uma interface totalmente personalizável, o Vortex permite que você acesse ferramentas e gerencie seus jogos, plug-ins, downloads e salve jogos de forma rápida e fácil.
Extensões e Plugins - O Vortex é lançado sob uma licença GPL-3, dando à nossa comunidade a capacidade de escrever extensões e estruturas que podem então interagir com o Vortex, aumentando continuamente sua funcionalidade.
Para começar, o Vortex pode ser baixado do Nexus Mods ou do GitHub. Após o download do instalador, basta executá-lo e seguir as instruções.
Informações adicionais sobre o Vortex e guias podem ser encontradas no Vortex Wiki.
Para iniciar o desenvolvimento no Vortex, use este método automatizado para baixar e instalar todas as dependências, clonar o repositório Vortex do GitHub e, em seguida, construí-lo para que possa ser executado a partir do código-fonte. A maioria das dependências são instaladas usando Scoop.
Inicie um PowerShell clicando no botão Iniciar e digitando powershell
.
Execute Invoke-WebRequest "https://raw.githubusercontent.com/Nexus-Mods/Vortex/master/bootstrap.ps1" -OutFile bootstrap.ps1
para buscar o script de bootstrap
Por padrão, este script construirá o Vortex em C:buildvortex
. Se desejar que ele esteja localizado em outro lugar, edite o script para alterar o diretório de construção antes de executá-lo.
É mais do que provável que você precise permitir a execução de scripts. Isso pode ser definido usando Set-ExecutionPolicy Unrestricted
, mas é necessário um PowerShell com acesso de administrador.
Execute o script ( .bootstrap.ps1
)
A seção seguinte visa esclarecer e explicar algumas decisões de desenvolvimento.
A cadeia de ferramentas para compilações de desenvolvimento e compilações de lançamento é bem diferente.
Nas compilações dev, o compilador TypeScript (tsc) é usado diretamente para transliterar cada arquivo .ts
para .js
individualmente, o Electron executa esses arquivos diretamente, as dependências são carregadas de node_modules
.
Nas compilações de lançamento, usamos webpack e ts-loader para transformar todos os arquivos .ts
e dependências em dois arquivos javascript (um para o processo principal/navegador, um para o renderizador). electron-builder
é usado para agrupar código e ativos, gerar um instalador nsis, construí-lo em um instalador exe e assiná-los (e todos os executáveis e DLLs que enviamos). Existem vários arquivos de configuração do construtor de elétrons para múltiplas variantes, apenas "oneclick" e "advanced" são usados para compilações de lançamento, os outros podem estar em diferentes estados de degradação (embora ci também deva funcionar)
Como resultado, as compilações de desenvolvimento são mais fáceis de trabalhar e a construção é muito mais rápida, mas o tempo de execução é mais lento.
Além disso, usamos uma estrutura de dois pacotes, o que significa que o arquivo /package.json
é usado para todo o desenvolvimento e o ambiente de construção para lançamentos (por exemplo, este arquivo sempre controla a versão eletrônica que está sendo usada/agrupada), enquanto /app/package.json
decide configurações (nome, versão, dependências) apenas para as compilações de lançamento. Usamos um script personalizado ( checkPackages.js
) para garantir que as dependências para lançamento sejam um subconjunto das dependências env
de construção e que usem a mesma versão para evitar problemas que não ocorreram durante o teste devido a dependências diferentes.
As extensões empacotadas, por outro lado, são construídas da mesma forma entre o desenvolvimento e o lançamento: elas são sempre construídas com webpack e cada uma tem sua própria configuração de construção - com exceção de extensões de jogo simples que já são arquivos js únicos, elas simplesmente são copiadas.
Esta base de código ainda usa o fio 1 (clássico). Qualquer tentativa de usar o yarn 2 ou 3 resultou em erros absurdos (falta de dependências claramente listadas, instalações sucessivas levando a pacotes ausentes) sem nenhuma maneira razoável de investigar o porquê. npm e pnpm são bastante lentos em comparação. Na verdade, não usamos nenhum recurso específico do fio (áreas de trabalho?), Portanto, a troca não deve ser muito difícil, mas por enquanto o fio "clássico" funciona.
No momento em que este artigo foi escrito, o Electron não suporta módulos ES, então tudo foi transpilado para Commonjs. Isto tem como consequência que algumas bibliotecas atualizadas que suportam apenas esm não podem ser usadas (por exemplo, novas versões do d3). Isso também significa que as importações assíncronas ( const foo = await import('bar')
) são na verdade síncronas em tempo de execução. Realmente não importa, já que tudo é incorporado em um único arquivo nas compilações de lançamento e a divisão de código não é realmente necessária.
Relate problemas no GitHub e inclua pelo menos as seguintes informações:
A versão exata do Vortex que você está usando
Seu sistema operacional
O que você estava fazendo quando o bug aconteceu
Qual é exatamente o bug (travamento? mensagens de erro? comportamento inesperado?)
Se você receber alguma mensagem de erro, inclua a mensagem de erro completa e exata. Não parafraseie, não deixe de fora informações que pareçam enigmáticas ou sem importância para você
O arquivo de log (veja abaixo)
Idealmente, também o estado do aplicativo (veja abaixo)
Todos os dados gerados pelo cliente (incluindo configurações e logs) são armazenados em:
Tipo de construção | Localização | Caminho Comum |
---|---|---|
Liberar | %AppData%Vortex | C:Users |
Desenvolvedor | %AppData%vortex_devel | C:Users |
Se você precisar reportar um bug, os seguintes caminhos dentro desse diretório podem ser úteis além da mensagem de erro exibida na tela:
vortex.log
(os logs são girados em um determinado tamanho, este é o mais recente)
state
exceto global_account (aquele contém chaves e senhas, portanto, informações confidenciais)
(se o bug pertencer a um jogo específico)
TODO: etapas manuais com dependências e versões
Baixe o Vortex dos mods Nexus
GitHub para código-fonte, problemas e solicitações pull.
Fórum Vortex ou Discord para suporte e discussões com a comunidade e a equipe.
Vortex Wiki para base de conhecimento, artigos e solução de problemas
Estrutura do Projeto para uma visão geral de como a base de código está organizada.
A maior parte do código do Vortex é de código aberto. Estamos comprometidos com um processo de desenvolvimento transparente e apreciamos muito qualquer contribuição. Esteja você nos ajudando a corrigir bugs, propondo novos recursos, melhorando nossa documentação ou divulgando - adoraríamos tê-lo como parte da comunidade Vortex.
Relatório de bug: se você vir uma mensagem de erro ou encontrar um problema ao usar o Amplication, crie um relatório de bug.
Solicitação de recurso: se você tiver uma ideia ou se faltar um recurso que tornaria o desenvolvimento mais fácil e robusto, envie uma solicitação de recurso.
Extensão de revisão: se você estiver criando uma extensão de jogo e precisar que a revisemos, envie uma solicitação de extensão de revisão.
Este projeto está licenciado sob a licença GPL-3.0.