Giter Site home page Giter Site logo

altyfox / modsbeforefriday Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lauriethefish/modsbeforefriday

0.0 0.0 0.0 917 KB

Beat Saber Mods Before Friday

License: GNU Affero General Public License v3.0

Rust 60.28% PowerShell 0.41% TypeScript 34.32% CSS 4.48% HTML 0.51%

modsbeforefriday's Introduction

ModsBeforeFriday

ModsBeforeFriday is a modding tool for Beat Saber on Quest that works entirely within the browser, using WebUSB to interact with the quest. The aim is to make installing mods as easy as possible, with no need to download special tools or hunt around for core mods.

Project Structure

./mbf-agent contains the agent, which is an executable written in Rust that is executed by the frontend via ADB. This agent does pretty much all the work, including installing mods and patching the game. ./mbf-site contains the frontend, which communicates with the agent via JSON. (Written in typescript with React).

Compilation Instructions

Build Requirements

Setting up Rust

Install the aarch64-linux-android target:

$ rustup target add aarch64-linux-android

Environment Variables

  • Set ANDROID_NDK_HOME to the folder containing your Android NDK.
  • Set CC_aarch64-linux-android to $NDK_PATH/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android31-clang.cmd where $NDK_PATH is your Android NDK root path.
  • Set AR_aarch64-linux-android to $NDK_PATH/toolchains/llvm/prebuilt/windows-x86_64/bin/llvm-ar.exe.

(if on another OS, the paths may be slightly different. Please update the paths as necessary!)

Cargo config

Create a new file with path ~/.cargo/config.toml. Add the following contents, replacing the <contents of...> with the relevant environment variable.

[target.aarch64-linux-android]
linker = "<contents OF CC_aarch64-linux-android environment variable>"
ar = "<contents OF AR_aarch64-linux-android environment variable>"

Compiling Agent

  • To compile the agent and copy it to the public directory so that it can be used by the site, navigate to ./mbf-agent and run ./build.ps1.
  • The ./run_android script can be used to automatically copy the agent to the correct location on the Quest if you want to invoke it manually in adb shell. The site will do this automatically otherwise.
  • ./reset_bs will reinstall vanilla Beat Saber. (The paths in this file reflect the directory structure of Lauriethefish's computer and will need updating with the path of your APK/OBB.)

Debugging site

To serve the site for testing, navigate to ./mbf-site and run yarn start. (you may need to yarn install first).

modsbeforefriday's People

Contributors

lauriethefish avatar xotom avatar altyfox avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.