Vortex 是 Nexus Mods 的現任模組管理員。它旨在讓新用戶盡可能簡單地修改遊戲,同時仍為更有經驗的修改場景老手提供足夠的控制權。
我們使用 Vortex 的方法旨在執行複雜的任務,例如排序加載順序或管理 mod 文件,並儘可能自動化該過程,目標是讓您以最少的努力實現穩定的 mod 遊戲。我們希望幫助您花更少的時間進行改裝,花更多的時間玩遊戲。
多遊戲支援- Vortex 擁有對 250 多種不同遊戲的模組支持,而且數量還在不斷增加,是目前功能最豐富的模組管理器。其中包括《天際》、《輻射3》、《輻射4》、《輻射:新維加斯》、《Cyberpunk2077》、《博德之門3》、《Starfield》、《星露穀物語》 、《領主》、《巫師3》、《艾爾登戒指》、《模擬市民4》、《魔物獵人:世界》、《湮沒》、《Palworld》等遊戲、《劍與魔法》、《英靈神殿》 、《霍格華茲遺產》、《七日殺戮》。
與 Nexus Mods 緊密整合- Vortex 旨在與 Nexus Mods 無縫交互,讓您可以輕鬆地從我們的網站中找到、安裝和播放 Mod,了解新文件並獲取最新新聞。
模組製作變得簡單- 內建的自動排序系統可管理您的載入順序,並透過強大且易於使用的插件管理功能幫助您解決模組衝突。
Mod 設定檔- 輕鬆設定、切換和管理獨立的 Mod 配置文件,讓您能夠準確地使用特定遊戲所需的 Mod 組合。
現代、易於使用的使用者介面- Vortex 具有完全可自訂的介面,可讓您快速輕鬆地存取工具並管理您的遊戲、外掛程式、下載和保存遊戲。
擴展和插件- Vortex 根據 GPL-3 許可證發布,使我們的社區能夠編寫擴展和框架,然後可以與 Vortex 交互,不斷添加其功能。
首先,可以從 Nexus Mods 或 GitHub 下載 Vortex。下載安裝程式後,只需運行它並按照說明進行操作即可。
有關 Vortex 和指南的更多資訊可以在 Vortex Wiki 中找到。
要開始在 Vortex 上進行開發,請使用這種基本自動化的方法下載並安裝所有依賴項,從 GitHub 克隆 Vortex 儲存庫,然後建立它,以便可以從原始程式碼運行。大多數依賴項都是使用 Scoop 安裝的。
點擊“開始”按鈕並輸入powershell
啟動 powershell。
執行Invoke-WebRequest "https://raw.githubusercontent.com/Nexus-Mods/Vortex/master/bootstrap.ps1" -OutFile bootstrap.ps1
以取得引導腳本
預設情況下,此腳本將在C:buildvortex
中建置 Vortex 。如果您希望它位於其他位置,請在運行之前編輯腳本以更改建置目錄。
您很可能需要允許運行腳本。可以使用Set-ExecutionPolicy Unrestricted
進行設置,但需要具有管理員存取權限的 powershell。
運行腳本( .bootstrap.ps1
)
以下部分旨在澄清和解釋一些開發決策。
用於開發建置和發佈建置的工具鏈有很大不同。
在開發版本中,直接使用打字稿編譯器(tsc)將每個.ts
文件單獨音譯為.js
,電子直接運行這些文件,依賴項從node_modules
加載。
在發布版本中,我們使用 webpack 和 ts-loader 將所有.ts
檔案和依賴項烘焙到兩個 javascript 檔案中(一個用於主/瀏覽器進程,一個用於渲染器)。 electron-builder
用於捆綁程式碼和資產、產生 nsis 安裝程式、將其建置為 exe 安裝程式並對其進行簽署(以及我們提供的所有執行檔和 dll)。有多個電子建構器配置文件用於多個變體,只有“oneclick”和“advanced”用於發布構建,其他可能處於不同的年久失修狀態(儘管 ci 也應該工作)
因此,開發建置更容易使用,建置速度更快,但運行時間更慢。
此外,我們使用雙套件結構,這意味著/package.json
檔案用於所有開發和發布的建置環境(例如,該檔案始終控制正在使用/捆綁的電子版本),而/app/package.json
決定僅適用於發布版本的設定(名稱、版本、依賴項)。我們使用自訂腳本( checkPackages.js
)來確保發布的依賴項是建立env
依賴項的子集,並且它們使用相同的版本,以避免由於依賴項不同而在測試期間未發生的問題。
另一方面,捆綁擴展在開發和發布之間的構建方式相同:它們始終使用webpack 構建,並且每個擴展都有自己的構建設置- 除了已經是單個js 文件的簡單遊戲擴展之外,它們只是被複製。
該程式碼庫仍然使用yarn 1(經典)。任何使用yarn 2或3的嘗試都會以無意義的錯誤結束(缺少明確列出的依賴項,連續安裝導致缺少套件),並且沒有合理的方法來調查原因。相比之下,npm 和 pnpm 相當慢。我們並沒有真正使用任何特定於紗線的功能(工作空間?),因此切換應該不會太困難,但目前紗線“經典”有效。
在撰寫本文時,Electron 不支援 ES 模組,因此所有內容都轉換為 commonjs。這導致一些僅支援 esm 的更新庫無法使用(例如新版本的 d3)。這也意味著非同步導入( const foo = await import('bar')
)實際上在運行時是同步的。但這並不重要,因為無論如何,所有內容都烘焙到發布版本的單一檔案中,並且實際上不需要程式碼分割。
請在 GitHub 上回報問題並至少包含以下資訊:
您正在使用的 Vortex 的確切版本
你的作業系統
Bug 發生時您正在做什麼
bug 到底是什麼(崩潰?錯誤訊息?意外行為?)
如果您收到任何錯誤訊息,請提供完整且準確的錯誤訊息。不要轉述,不要遺漏對您來說看起來神秘或不重要的訊息
日誌文件(見下文)
理想情況下還有應用程式狀態(見下文)
客戶端產生的所有資料(包括設定和日誌)都儲存在:
建置類型 | 地點 | 共同路徑 |
---|---|---|
發布 | %AppData%Vortex | C:Users |
開發者 | %AppData%vortex_devel | C:Users |
如果您需要報告錯誤,除了螢幕上顯示的錯誤訊息之外,目錄中的以下路徑可能有用:
vortex.log
(日誌以一定大小旋轉,這是最新的)
除 global_account 之外的state
(包含金鑰和密碼等敏感資訊)
(如果錯誤與特定遊戲有關)
TODO:具有相依性和版本的手動步驟
從 Nexus Mods 下載 Vortex
GitHub 用於原始程式碼、問題和拉取請求。
Vortex Forum 或 Discord 用於與社群和團隊進行支援和討論。
Vortex Wiki 提供知識庫、文章和故障排除
專案結構,概述程式碼庫的組織方式。
Vortex 的程式碼大多是開源的。我們致力於透明的開發流程,並高度讚賞任何貢獻。無論您是幫助我們修復錯誤、提出新功能、改進我們的文件還是傳播資訊 - 我們都希望您成為 Vortex 社群的一員。
錯誤報告:如果您在使用放大時看到錯誤訊息或遇到問題,請建立錯誤報告。
功能請求:如果您有一個想法或缺少一項功能,但可以使開發更容易、更強大,請提交功能請求。
審核延期:如果您正在建立遊戲延期並需要我們審核,請提交延期審核請求。
該專案根據 GPL-3.0 許可證獲得許可。