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
)。