ModsBeforeFriday は、Quest 上の Beat Saber 用の改造ツールで、完全にブラウザ内で動作し、WebUSB を使用してクエストと対話します。目的は、特別なツールをダウンロードしたり、コア MOD を探し回ったりする必要がなく、MOD のインストールをできるだけ簡単にすることです。
MBF には、URL とともに渡すことができるいくつかのクエリ パラメーターがあります。これらは、MOD 開発者が正式にリリースされる前にコア MOD をテストするときに役立ちます。
?dev=true
: これにより、通常のバージョン チェックがオーバーライドされ、現在インストールされている Beat Saber ゲームにパッチを適用するよう常にユーザーに求められます。注: MOD 開発者でない場合、これは役に立ちません。これは Modloader のインストールを許可するだけであり、魔法のように新しいバージョンが Mod をサポートするようにするものではなく、これを使用すると Beat Saber のダウングレードが防止されるだけです。これは「MOD だけを入手する」わけではありません。?setcores=prompt
: これにより、コア モッド JSON がリリースの準備ができているかどうかをテストするために使用する代替コア モッド URL を入力するようユーザーに求められます。この URL は、将来のページ更新のためにクエリ パラメーターに保存されます。 ./mbf-agent
には、ADB 経由でフロントエンドによって実行される Rust で書かれた実行可能ファイルであるエージェントが含まれています。このエージェントは、MOD のインストールやゲームへのパッチ適用など、ほぼすべての作業を行います。./mbf-agent-wrapper
は、コマンドライン インターフェイスで MBF バックエンドを呼び出すために使用できる Python スクリプトで、開発者や 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
に設定します。(別の OS では、パスが若干異なる場合があります。必要に応じてパスを更新してください。)
パス~/.cargo/config.toml
で新しいファイルを作成します。次の内容を追加し、
を関連する環境変数に置き換えます。
[ target . aarch64-linux-android ] linker = "" ar = ""
public
ディレクトリにコピーするには、 ./build_agent.ps1
を実行します。サイトをテスト用に提供するには、 ./mbf-site
に移動し、 yarn start
を実行します。 (最初にyarn install
必要があるかもしれません)。