ModsBeforeFriday เป็นเครื่องมือม็อดสำหรับ Beat Saber ใน Quest ที่ทำงานภายในเบราว์เซอร์ทั้งหมด โดยใช้ WebUSB เพื่อโต้ตอบกับภารกิจ จุดมุ่งหมายคือทำให้การติดตั้งม็อดง่ายที่สุดเท่าที่จะเป็นไปได้ โดยไม่จำเป็นต้องดาวน์โหลดเครื่องมือพิเศษหรือค้นหาม็อดหลัก
MBF มีพารามิเตอร์การสืบค้นซึ่งสามารถส่งผ่านด้วย URL ได้ สิ่งเหล่านี้มีประโยชน์สำหรับนักพัฒนาม็อดเมื่อทดสอบม็อดหลักก่อนที่จะเปิดตัวอย่างเป็นทางการ
?dev=true
: สิ่งนี้จะแทนที่การตรวจสอบเวอร์ชันปกติ และแจ้งให้ผู้ใช้แพตช์เกม Beat Saber ที่ติดตั้งอยู่ในปัจจุบันเสมอ หมายเหตุ: หากคุณไม่ใช่นักพัฒนา mod สิ่งนี้ จะไม่ช่วยคุณ ทั้งหมดที่ทำได้คืออนุญาตให้ติดตั้ง modloader ได้ มันไม่ได้สร้าง mods รองรับเวอร์ชันใหม่อย่างน่าอัศจรรย์ และการใช้สิ่งนี้จะป้องกันไม่ให้คุณดาวน์เกรด Beat Saber เท่านั้น นี่ไม่ใช่ "รับ mods เท่านั้น"?setcores=prompt
: สิ่งนี้จะแจ้งให้ผู้ใช้ป้อน URL ของ mod core สำรองเพื่อใช้ทดสอบว่า core mod JSON พร้อมสำหรับการเปิดตัวแล้ว URL นี้จะถูกจัดเก็บไว้ในพารามิเตอร์การค้นหาสำหรับการรีเฟรชหน้าในอนาคต ./mbf-agent
มีเอเจนต์ซึ่งเป็นไฟล์ปฏิบัติการที่เขียนด้วยภาษา Rust ซึ่งดำเนินการโดยส่วนหน้าผ่าน ADB เอเจนต์นี้ทำงานได้เกือบทุกอย่าง รวมถึงการติดตั้งม็อดและการแพตช์เกม./mbf-agent-wrapper
เป็นสคริปต์ Python ที่สามารถใช้เพื่อเรียกใช้แบ็กเอนด์ MBF ด้วยอินเทอร์เฟซบรรทัดคำสั่ง ซึ่งมีประโยชน์สำหรับนักพัฒนาหรือผู้เกลียดชัง Chromium./mbf-adb-killer
เป็นยูทิลิตี้การพัฒนาที่จะฆ่าเซิร์ฟเวอร์ ADB ที่ทำงานอยู่เมื่อส่วนหน้าพยายามเชื่อมต่อกับ Quest ของคุณ ดังนั้นจึงหลีกเลี่ยงข้อขัดแย้งระหว่าง MBF และแอปอื่น ๆ ในระหว่างการพัฒนาเท่านั้น -./mbf-res-man
มีโปรเจ็กต์การจัดการทรัพยากร MBF ซึ่งมีโค้ดที่ MBF ใช้เพื่อเข้าถึงทรัพยากรภายนอก เช่น core mods แต่ยังสำหรับการอัปเดตที่เก็บทรัพยากรของตัวเองด้วย เช่น MBF Diffs ทุกครั้งที่ Beat Saber เวอร์ชันใหม่ออก./mbf-zip
เป็นไลบรารีง่ายๆ สำหรับการอ่าน/เขียนไฟล์ ZIP (และการลงนาม APK) ที่ใช้โดย mbf-agent
./mbf-site
มีส่วนหน้าซึ่งสื่อสารกับตัวแทนผ่าน JSON (เขียนด้วย typescript ด้วย React) ติดตั้งเป้าหมาย 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 อื่น เส้นทางอาจแตกต่างกันเล็กน้อย โปรดอัปเดตเส้นทางตามความจำเป็น!)
สร้างไฟล์ใหม่ด้วย path ~/.cargo/config.toml
เพิ่มเนื้อหาต่อไปนี้ โดยแทนที่
ด้วยตัวแปรสภาพแวดล้อมที่เกี่ยวข้อง
[ target . aarch64-linux-android ] linker = "" ar = ""
public
เพื่อให้ไซต์สามารถใช้งานได้ ให้รัน ./build_agent.ps1
หากต้องการให้บริการเว็บไซต์สำหรับการทดสอบ ให้ไปที่ ./mbf-site
และเรียกใช้ yarn start
(คุณอาจต้อง yarn install
ก่อน)