ModsBeforeFriday 是 Quest 上的 Beat Saber 的修改工具,完全在瀏覽器中工作,使用 WebUSB 與任務互動。目的是使安裝模組盡可能簡單,無需下載特殊工具或尋找核心模組。
MBF 有一些可以透過 URL 傳遞的查詢參數。這些對於 mod 開發者在正式發布之前測試核心 mod 時非常有用。
?dev=true
:這將覆蓋正常的版本檢查,並始終提示使用者修補目前安裝的 Beat Saber 遊戲。注意:如果您不是模組開發人員,這對您沒有幫助。它所做的只是允許安裝 modloader,它不會神奇地使新版本支援 mod,並且使用它只會阻止您降級 Beat Saber。這不是“僅獲取模組”。?setcores=prompt
:這將提示使用者輸入備用核心 mods URL,用於測試核心 mod JSON 是否已準備好發布。然後,該 URL 將儲存在查詢參數中,以供將來頁面刷新。 ./mbf-agent
包含代理,它是用 Rust 編寫的可執行文件,由前端透過 ADB 執行。該代理幾乎完成所有工作,包括安裝模組和修補遊戲。./mbf-agent-wrapper
是一個 Python 腳本,可用於透過命令列介面呼叫 MBF 後端,這對於開發人員或 Chromium 討厭者來說很方便。./mbf-adb-killer
是一個開發實用程序,當前端嘗試連接到您的 Quest 時,它會終止任何正在運行的 ADB 伺服器,從而避免僅在開發期間 MBF 與其他應用程式之間發生衝突。 。./mbf-res-man
包含MBF 資源管理項目,其中包含MBF 用於存取外部資源(例如核心mod)的程式碼,也用於更新自己的資源儲存庫,例如每當發布新版本的Beat Saber時的MBF Diffs。./mbf-zip
是一個簡單的函式庫,用於讀取/寫入mbf-agent
使用的 ZIP 檔案(以及簽章 APK)。./mbf-site
包含前端,它透過 JSON 與代理進行通訊。 (用 React 用 typescript 寫)。 安裝 aarch64-linux-android 目標:
$ rustup target add aarch64-linux-android
ANDROID_NDK_HOME
設定為包含 Android NDK 的資料夾。CC_aarch64-linux-android
設定為$NDK_PATH/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android31-clang.cmd
,其中$NDK_PATH
是您的 Android NDK 根路徑。AR_aarch64-linux-android
設定為$NDK_PATH/toolchains/llvm/prebuilt/windows-x86_64/bin/llvm-ar.exe
。(如果在其他作業系統上,路徑可能略有不同。請根據需要更新路徑!)
使用路徑建立一個新檔案~/.cargo/config.toml
。新增以下內容,將
替換為相關環境變數。
[ target . aarch64-linux-android ] linker = "" ar = ""
public
目錄以便網站可以使用它,請執行./build_agent.ps1
。若要為站點提供測試服務,請導覽至./mbf-site
並執行yarn start
。 (您可能需要先yarn install
)。