ModsBeforeFriday est un outil de modding pour Beat Saber on Quest qui fonctionne entièrement dans le navigateur, en utilisant WebUSB pour interagir avec la quête. L'objectif est de rendre l'installation des mods aussi simple que possible, sans avoir besoin de télécharger des outils spéciaux ou de rechercher des mods de base.
MBF possède certains paramètres de requête qui peuvent être transmis avec l'URL. Ceux-ci sont utiles aux développeurs de mods lorsqu'ils testent les mods de base avant leur sortie officielle.
?dev=true
: Cela remplacera la vérification normale de la version et invitera toujours l'utilisateur à mettre à jour le jeu Beat Saber actuellement installé. REMARQUE : si vous n'êtes pas un développeur de mods, cela ne vous aidera pas. Tout ce qu'il fait, c'est permettre au modloader d'être installé, il ne fait pas comme par magie que la nouvelle version prend en charge les mods et son utilisation ne fera que vous empêcher de rétrograder Beat Saber. Il ne s'agit pas de "obtenir uniquement des mods".?setcores=prompt
: cela invitera l'utilisateur à saisir une URL alternative de mods de base à utiliser pour tester que le mod de base JSON est prêt à être publié. Cette URL sera ensuite stockée dans le paramètre de requête pour les futures actualisations de page. ./mbf-agent
contient l'agent, qui est un exécutable écrit en Rust qui est exécuté par le frontend via ADB. Cet agent fait pratiquement tout le travail, y compris l'installation des mods et la mise à jour du jeu../mbf-agent-wrapper
est un script Python qui peut être utilisé pour invoquer le backend MBF avec une interface de ligne de commande, pratique pour les développeurs ou les ennemis de Chromium../mbf-adb-killer
est un utilitaire de développement qui tue tout serveur ADB en cours d'exécution lorsque le frontend tente de se connecter à votre Quest, évitant ainsi les conflits entre MBF et d'autres applications pendant le développement uniquement. ../mbf-res-man
contient le projet de gestion des ressources MBF, qui contient du code utilisé par MBF pour accéder à des ressources externes, par exemple les mods de base, mais aussi pour mettre à jour ses propres référentiels de ressources, par exemple MBF Diffs chaque fois qu'une nouvelle version de Beat Saber est publiée../mbf-zip
est une bibliothèque simple pour lire/écrire des fichiers ZIP (et signer des APK) utilisée par mbf-agent
../mbf-site
contient le frontend, qui communique avec l'agent via JSON. (Écrit en dactylographié avec React). Installez la cible aarch64-linux-android :
$ rustup target add aarch64-linux-android
ANDROID_NDK_HOME
sur le dossier contenant votre NDK Android.CC_aarch64-linux-android
sur $NDK_PATH/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android31-clang.cmd
où $NDK_PATH
est le chemin racine de votre Android NDK.AR_aarch64-linux-android
sur $NDK_PATH/toolchains/llvm/prebuilt/windows-x86_64/bin/llvm-ar.exe
.(si vous utilisez un autre système d'exploitation, les chemins peuvent être légèrement différents. Veuillez mettre à jour les chemins si nécessaire !)
Créez un nouveau fichier avec le chemin ~/.cargo/config.toml
. Ajoutez le contenu suivant, en remplaçant le
par la variable d'environnement appropriée.
[ target . aarch64-linux-android ] linker = "" ar = ""
public
afin qu'il puisse être utilisé par le site, exécutez ./build_agent.ps1
. Pour servir le site à des fins de test, accédez à ./mbf-site
et exécutez yarn start
. (vous devrez peut-être d'abord yarn install
).