ModsBeforeFriday는 퀘스트와 상호 작용하기 위해 WebUSB를 사용하여 브라우저 내에서 완전히 작동하는 Quest의 Beat Saber용 모딩 도구입니다. 목표는 특별한 도구를 다운로드하거나 핵심 모드를 찾을 필요 없이 모드를 최대한 쉽게 설치하는 것입니다.
MBF에는 URL과 함께 전달될 수 있는 몇 가지 쿼리 매개변수가 있습니다. 이는 공식적으로 출시되기 전에 핵심 모드를 테스트할 때 모드 개발자에게 유용합니다.
?dev=true
: 일반 버전 확인을 무시하고 항상 사용자에게 현재 설치된 Beat Saber 게임을 패치하라는 메시지를 표시합니다. 참고: 모드 개발자가 아닌 경우 에는 도움이 되지 않습니다. 이것이 하는 일은 모드로더 설치를 허용하는 것뿐이며, 마법처럼 새 버전이 모드를 지원하도록 만드는 것은 아니며, 이를 사용하면 Beat Saber를 다운그레이드하는 것만 방지할 수 있습니다. 이것은 "모드만 받기"가 아닙니다.?setcores=prompt
: 핵심 모드 JSON이 출시될 준비가 되었는지 테스트하는 데 사용할 대체 핵심 모드 URL을 입력하라는 메시지가 사용자에게 표시됩니다. 그러면 이 URL은 향후 페이지 새로 고침을 위해 쿼리 매개변수에 저장됩니다. ./mbf-agent
에는 ADB를 통해 프런트엔드에서 실행되는 Rust로 작성된 실행 파일인 에이전트가 포함되어 있습니다. 이 에이전트는 모드 설치, 게임 패치 등 거의 모든 작업을 수행합니다../mbf-agent-wrapper
는 개발자나 Chromium을 싫어하는 사람들에게 편리한 명령줄 인터페이스로 MBF 백엔드를 호출하는 데 사용할 수 있는 Python 스크립트입니다../mbf-adb-killer
는 프런트엔드가 Quest에 연결을 시도할 때 실행 중인 모든 ADB 서버를 종료하여 개발 중에만 MBF와 다른 앱 간의 충돌을 방지하는 개발 유틸리티입니다. ../mbf-res-man
에는 MBF가 외부 리소스(예: 코어 모드)에 액세스하는 데 사용하는 코드뿐만 아니라 Beat Saber의 새 버전이 출시될 때마다 MBF Diff와 같은 자체 리소스 저장소를 업데이트하는 데 사용하는 코드가 포함된 MBF 리소스 관리 프로젝트가 포함되어 있습니다../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
해야 할 수도 있습니다).