* [fix/634] fixed issue on hovering on last song element
* restore itemHeight and add a bottom padding
---------
Co-authored-by: Zagrios <40181755+Zagrios@users.noreply.github.com>
It's just easier to test when rebuilding is needed to have one command for build and start. It literally just calls build and start one after the other lol
This implements the changes made in PR #48 of the beatmods backend to add file sizes to mods.
The change also allows for warning if a mod is oversized. Most mods shouldn't have a warning, but should a mod go over a limit, it'll warn the user.
THIS WILL REQUIRE FURTHER TESTING ONCE THE BACKEND UPDATES
- updated flatpak installation
- moved deb and AUR above flatpak so users with appropriate distros will install those first
- idiot-proofing on how to install flatpak on different distros
Initial concept for automating the BSManager Wiki via PR's to the docs/wiki folder.
Requires locking the Wiki's writing to none of the public, to prevent vandalism, desyncs and losing wiki-only information, with what is on the repository.
Clearer sentence structure, outlying why their credentials are required more clearly, how they are used and ensuring users are aware that their Steam credentials are only being used through DepotDownloader.
- A notification for outdated mods now appears when navigating to a Beat Saber version #755
- Added Brazilian Portuguese translation #751 (Thanks to @arthurmluz)
- Advanced launch arguments now accept environment variables #749 (Thanks to @silentrald)
- Added the ability to create shortcuts in the Steam library to launch different versions of Beat Saber #731
- Added Italian translation #721 (Thanks to @Davitekk)
- Added the ability to log in directly with Meta within BSManager to download Beat Saber #716
- Added an advanced setting on Windows to use the system proxy #704 (Thanks to @GoldJohnKing)
- Added an advanced launch option to skip starting Steam before launching Beat Saber #664 (Thanks to @LiamillionSS)
- You can now filter maps by leaderboard (Beatleader/ScoreSaber/All) #623 (Thanks to @silentrald)
- BSManager now goes to the latest launched version page on startup #603 (Thanks to @silentrald)
- Drag and drop your mods to install them #575 (Thanks to @silentrald)
- Added Korean translation #641 (Thanks to @izunya)
- Drag and drop your maps to import them #575 (Thanks to @silentrald)
- Added playlist support #503
- Added Linux support (Thanks to @silentrald and @Insprill)
- Added reset button to reset values when editing a Beat Saber version #438 (Thanks to @Liborsaf)
- You can now choose to install only needed mods or reinstall all mods #540
- The installation location for contents downloaded by BSManager is now asked after the installation of BSManager or when the previous location can no longer be accessed #566 (Thanks to @silentrald)
- Added an advanced setting to disable hardware acceleration for BSManager #572
- Added an advanced setting to use symlinks instead of junctions #572
### Fixes
- Fixed an issue where, under certain conditions, BSManager could crash if an error occurred while downloading Beat Saber from Steam #722 (Thanks to @silentrald)
- Fixed an issue where switching between Beat Saber versions too quickly displayed mods for the wrong version #472
- Fixed an issue where the launch window from a shortcut would never close #485
- Advanced launch arguments are used even when the input field is closed #496
- Fixed an issue where having many maps caused some maps to not have their information loaded #503
- Fixed an issue where downloading maps sometimes resulted in a timeout error #524
- Fixed an issue where the duration of maps could be wrong in some cases #522
- Fixed missing styles on the "add" and "setting" buttons in the nav bar #530
- Fixed an issue where switching between two Beat Saber versions didn't clear the selected content of the previous version #557
- Fixed a potential crash when BeatMods cloud contained invalid mod dependencies #558
- Fixed an issue where the folder location for the contents downloaded by BSManager could not be changed if the previous location was unreachable #566 (Thanks to @silentrald)
### Other changes
- A new log file is now created each time BSManager is launched #750 (Thanks to @silentrald)
- The advanced launch panel has been completely reworked #709
- Link and Unlink modals have been reworked to provide more detailed information to users #699
- Some folders are now blacklisted to prevent issues caused by linking incorrect folders #691 (Thanks to @silentrald)
- .NET Framework is no longer required #489
- Clear English translations for the Steam credentials popup #476 (Thanks to @Aeywoo)
- NSFW models are now blurred when browsing for models #493
- If map stars are unavailable, NPS or NJS of the map is now used to indicate its difficulty #553
- When no mods are available for a Beat Saber version, the version number is now shown #507
- After a first full maps loading, maps loads almost instantly #503
- Improved performance in lists with lot of contents #503
- Improved German translation #559 (Thanks to @kgabriel-dev)
- Updated the icon for the button to un-maximize the BSManager window #562 (Thanks to @joriskleiber)
- Mods using a manifest file were sometimes not detected as installed #564
- BSIPA installation was always considered as successfull even if an error occured #511
- Some map filter tags were no longer working #619 (Thanks to @silentrald)
- Fixed an issue where, under certain conditions, linking a folder could result in the loss of its contents #568
### Other changes
- Default mods are no longer reselected when mods are already installed #535
- The `DLC` folder has been removed from the default list of folders that can be linked #628
- The naming scheme for downloaded maps and playlists has been updated to prevent duplicates when downloading maps or playlists from Beat Saber or other tools
- It's now possible to exclude already installed maps when downloading maps from BSManager #426 (Thanks to @Liborsaf)
### Fixes
- Fixed an issue where BSManager couldn't get path to user's documents under certain conditions, preventing any action from the user #431
- To prevent the last launched Beat Saber version getting wiped by Oculus auto-updates, the symlink created to launch the version is now deleted after the game stops #432
- Added Traditional Chinese translation (thanks to @mant0u0) #372
### Fixes
- Fixed an issue with keyboard navigation in the downloadable versions list [344e7ab](https://github.com/Zagrios/bs-manager/commit/344e7abc95130cfa44d9fa51365a5161c9f378a6)
- Fixed an issue where automatic Steam version detection was not working for some users #375
### Other changes
- Temporarily disabled Oculus downgrade #377
- Recommended version now appears first in the versions list #376
- Beat Saber versions now automatically sync with LIV #320
- Use ArcViewer to preview maps #312
### Fixes
- SteamVR backup folder is now restored when disabling FPFC Mode #314
- OneClick installs now correctly place contents in user-defined symlinks #311
- Currently downloading Beat Saber version no longer disappears on uninstalling a version #307
- Add "no-yeet" argument when launching Beat Saber to prevent mods to be removed if "UserData" is linked #321
- Fixed a rare bug that prevent BSManager from launching due to a missing DLL #328
- Increase the SteamVR restore timeout to prevent it from launching in FPFC Mode #330
### Other changes
- Improved Spanish translation #309 (Thanks to @GabiRP)
- For new installations, the default folder for BSManager contents has been moved from "Documents" to the "User" directory to avoid OneDrive conflicts #319
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
Hello! We’re delighted that you’re interested in contributing to **BSManager**. Your help is essential to maintaining and improving this project.
Please note that this project is released with a [Contributor Code of Conduct][code-of-conduct]. By participating in this project you agree to abide by its terms.
> [!NOTE]
> This project is released with a [Contributor Code of Conduct][code-of-conduct]. By participating, you agree to abide by its terms.
## Issues and PRs
---
If you have suggestions for how this project could be improved, or want to report a bug, open an issue! We'd love all and any contributions. If you have questions, too, we'd love to hear them.
## Opening Issues
We'd also love PRs. If you're thinking of a large PR, we advise opening up an issue first to talk about it, though! Look at the links below if you're not sure how to open a PR.
- **Reporting Bugs**
If you find a bug or any unexpected behavior, feel free to open an issue. Be sure to include steps to reproduce it, relevant logs, versions, and any other pertinent details.
- **Suggesting Enhancements**
Have an idea for improving BSManager? We welcome all suggestions—open an issue to discuss your proposal.
## Submitting a pull request
> [!TIP]
> Before opening a new issue, please check if there’s already an existing one for the same topic to avoid duplicates.
1. [Fork][fork] and clone the repository.
1. Configure and install the dependencies: `npm install`.
1. Create a new branch following naming convention: `git checkout -b (feature|bugfix|hotfix|chore)/(short-description)(/issue-id)`.
1. Make your change, test, and make sure BSManager work fine.
1. Push to your fork and [submit a pull request][pr].
1. Pat your self on the back and wait for your pull request to be reviewed and merged.
---
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
## Submitting Pull Requests
- Follow the [style guide][style] which is using standard.
- Keep your changes as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
### Before You Begin
Work in Progress pull requests are also welcome to get feedback early on, or if there is something blocked you.
1.**[Fork the repository][fork]** and **clone** your fork locally.
2.**Install the required Node.js version** (we recommend using [Volta](https://volta.sh/) to manage Node versions).
> Exemple : `git checkout -b feature/update-docs/42`
### Develop and Test
> [!TIP]
> - Follow the [style guide][style] which is using standard.
> - Keep your changes as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
- Make the necessary changes on your new branch.
- Test your changes manually to ensure everything is working correctly.
- Verify that your updates do not introduce regressions or break existing functionality.
### Open a Pull Request
1. **Push** your branch to your fork.
2. Visit the main **BSManager** repository and click “Compare & pull request” or use [this link][pr].
3. Provide a **clear description** of your changes (the context, what problem it solves, etc.).
4. **Submit** your pull request. A maintainer will review it and may ask for adjustments or clarifications.
---
## Useful Commands
### Development
```bash
npm start
```
> Runs the application in development mode.
### Packaging
```bash
npm run package
```
> Packages the application using Electron Builder.
```bash
npm run build && electron-builder --config electron-builder.config.js --publish never --x64 --linux <deb/rpm/pacman>
```
> Package for Linux distros (deb, rpm, pacman)
```bash
npm run publish
```
> Publishes the application (primarily for Windows).
```bash
npm run publish:flatpak
```
> Build a Flatpak package
## Need Help?
If you have any questions or need further assistance, feel free to **open an issue** or reach out via our [discord](https://discord.gg/uSqbHVpKdV). We appreciate any and all contributions you make to BSManager!
Thank you for your interest in making BSManager better!
<p>BSManager is also available on Linux! Follow the step-by-step guide in our <a href="https://github.com/Zagrios/bs-manager/wiki/Linux">Linux installation wiki</a> to set it up properly.</p>
</div>
<!--
----------------------------------------
@@ -254,50 +251,27 @@
existing ones, provided that you own the game on a Steam or Oculus (PC) account.</p>
</div>
<!--
DOWNLOADING MULTIPLE VERSIONS
----------------------------------------
-->
<div>
<h2>Downloading Multiple Versions</h2>
<p><a href="https://github.com/Zagrios/bs-manager">BSManager</a> provides two authentication methods to access your
Steam account, ensuring safe and flexible access to
<p><a href="https://github.com/Zagrios/bs-manager">BSManager</a> allows you to safely and easily access different versions of Beat Saber, ensuring flexibility for modding or version-specific preferences.</p>
<p>To download a version, you can authenticate using two methods:</p>
<ul>
<li><strong>via Steam</strong>: Use either your credentials, which will not be stored by <a
href="https://github.com/Zagrios/bs-manager">BSManager</a> or
<a href="https://github.com/SteamRE/DepotDownloader">DepotDownloader</a>, or opt for a quick and secure
authentication via QR with the Steam Guard app.</li>
<li><strong>via Steam</strong>: Authenticate securely using your Steam credentials or by scanning a QR code with the Steam Guard app.</li>
<li><strong>via Oculus</strong>: BSManager redirects you to the official Oculus website for authentication to retrieve your token securely. Alternatively, you can follow <a href="https://github.com/Zagrios/bs-manager/wiki/How-to-obtain-your-Oculus-Token">this guide</a> to obtain your token manually and paste it into BSManager.</li>
</ul>
<p>For detailed instructions on installing versions, follow this tutorial:
👉 <a href="https://github.com/Zagrios/bs-manager/wiki/install-or-import-a-version">How to install or import a version</a>
<p><a href="https://github.com/Zagrios/bs-manager">BSManager</a> provides efficient management of <a
href="https://beatsaber.com/">Beat Saber</a> launch arguments, including three predefined ones to
enhance your gaming experience:</p>
<p><a href="https://github.com/Zagrios/bs-manager">BSManager</a> provides advanced management of launch arguments for <a href="https://beatsaber.com/">Beat Saber</a>, allowing you to customize your gaming experience.</p>
<h3>Predefined Arguments</h3>
<ul>
<li><strong>Oculus Mode</strong>: Launches the game directly in Oculus mode, avoiding the use of STEAM VR.</li>
<li><strong>FPFC Mode</strong>: Enables "FPFC" mode, allowing you to control the game without using a VR
headset.</li>
<li><strong>Debug Mode</strong>: Activates debugging mode, generating Windows log outputs for IPA.</li>
<li><strong>Oculus Mode</strong>: Allows you to use Oculus's VR composer while bypassing SteamVR, which may improve performance. (Only useful if you launch the game via Steam).</li>
<li><strong>FPFC Mode</strong>: Enables "First Person Flying Controller" mode, allowing you to navigate menus using the keyboard (WASD) and mouse without a VR headset.</li>
<li><strong>Debug Mode</strong>: Activates the IPA debug console, displaying logs used by mods.</li>
<li><strong>Skip Steam</strong>: Prevents Steam from opening automatically with Beat Saber, useful if you use an alternative VR runtime like WIVRn or Monado.</li>
<li><strong>Map Editor</strong>: Launches the official Beat Saber map editor instead of the game.</li>
</ul>
<p>You also have the freedom to add your own custom launch arguments by inserting them into "Advanced Launch" and
separating them with a semicolon (;).</p>
<h3>Custom Arguments</h3>
<p>You can also add your own custom launch arguments by inserting them into "Advanced Launch" and separating them with a semicolon (;).</p>
<h3>Pinning Arguments</h3>
<p>You can now pin your favorite launch arguments for quick access. By default, only <strong>Oculus Mode</strong> and <strong>Debug Mode</strong> are pinned.</p>
<p>Create shortcuts to easily access your different versions of <a href="https://beatsaber.com/">Beat Saber</a> with
<a href="https://github.com/Zagrios/bs-manager">BSManager</a>. After selecting your
version, go to the version settings, click on "Create a Shortcut", and then select your launch options. Thus,
you can quickly and easily launch your preferred version of <a href="https://beatsaber.com/">Beat Saber</a> with the
desired settings.</p>
<p>Create shortcuts to easily access your different versions of <a href="https://beatsaber.com/">Beat Saber</a> with <a href="https://github.com/Zagrios/bs-manager">BSManager</a>.
</p>
<p>To learn how to create a shortcut, follow the tutorial available here:
<p><a href="https://github.com/Zagrios/bs-manager">BSManager</a> provides centralized and organized management of
beatmaps, mods, and models, integrating download features and sharing between <a href="https://beatsaber.com/">Beat
Saber</a> versions.</p>
<p><a href="https://github.com/Zagrios/bs-manager">BSManager</a> centralizes and simplifies the management of beatmaps, playlists, mods, and models, offering seamless downloads and sharing between different <a href="https://beatsaber.com/">Beat Saber</a> versions.</p>
</div>
<!--
MAPS
----------------------------------------
-->
<div>
<h2>Maps</h2>
<p><a href="https://github.com/Zagrios/bs-manager">BSManager</a> integrates the <a href="https://beatsaver.com">Beat
Saver</a> API to provide you with a comprehensive list of maps downloadable directly from its interface. Moreover,
the OneClick feature allows you to download maps with one click from various sources such as <a
href="https://scoresaber.com">ScoreSaber</a>, and <a href="https://www.beatleader.xyz">Beat Leader</a>. To add
maps, simply select the desired version or the "shared" tab, then click "ADD".</p>
<h2>Features</h2>
<p>With <a href="https://github.com/Zagrios/bs-manager">BSManager</a>, you can manage your:
</p>
<ul>
<li><b>Maps:</b> Browse and download maps directly from sources like <a href="https://beatsaver.com">Beat Saver</a>, <a href="https://bsaber.com">BeastSaber</a>, <a href="https://scoresaber.com">ScoreSaber</a>, and <a href="https://www.beatleader.xyz">Beat Leader</a>.</li>
<li><b>Playlists:</b> Search for and download playlists directly from BSManager, just like maps. 😉
<li><b>Mods:</b> Manage and install mods via the "Mods" tab, offering the same features as Mod Assistant.</li>
<li><b>Models:</b> Add and manage models easily with the integration of the <a href="https://modelsaber.com">Model Saber</a> API.</li>
</ul>
<p>For detailed instructions on each feature, check the following guides:</p>
<ul>
<li>👉 <a href="https://github.com/Zagrios/bs-manager/wiki/install-any-map">Install Any Map</a></li>
2. Launch BSManager and select the version of *Beat Saber* where you want to install playlists from the list on the left side of the interface.
3. Go to the `Playlist` section by clicking on the __`Maps`__ tab.
4. Click the __`Add`__ button, then select __`Browse playlist`__ to open the list of online playlists.
5. Use the search bar at the top of the interface to filter playlists or sort the list.
6. Download to install it.
7. Wait for the installation to complete. Once it's finished, you can launch Beat Saber directly from [BSManager](https://www.bsmanager.io) and enjoy your new playlists!
> [!NOTE]
> You can click on a playlist's image to view the maps it contains and download only the maps you want.
### How to Import Playlist with BSManager
1. Download and install [BSManager](https://www.bsmanager.io) from one of the following sources:
2. Launch BSManager and select the version of *Beat Saber* where you want to install playlists from the list on the left side of the interface.
3. Go to the `playlist` section by clicking on the __`Maps`__ tab.
4. From here, there are two possible methods:
1. Click the __`Add`__ button, then select __`Import a playlist`__ and choose the file to import.
2. Drag and drop your file directly onto the playlist interface in BSManager.
5. Wait for the import to complete. Once finished, you can launch Beat Saber directly from [BSManager](https://www.bsmanager.io) and enjoy your new playlists!
> [!Important]
> The file must be in `.bplist` or `.json` format to be imported.
## Manual Installation
1. Download your preferred custom playlists from trusted sources. Ensure that they are in __`.bplist`__ format.
2. Open [BSManager](https://www.bsmanager.io) and select the version of Beat Saber in which you want to install the playlist.
3. Click on the version options at the top-right corner of the BSM interface, then select __`Open Folder`__.
4. In the folder for the Beat Saber version, locate the __`Playlists`__ folder. If this folder doesn't exist, create it.
5. Copy and paste the downloaded __`.bplist`__ files of your custom playlists into this folder.
6. Launch the game with BSM, navigate to your playlist, click on it, and download it.
> [!WARNING]
> Exercise caution when downloading custom playlists for Beat Saber. Only use reliable sources to avoid any risks to your computer.
## One-Click Installation
1. Launch [BSManager](https://www.bsmanager.io) and make sure that the One-Click installation feature is enabled for playlists.
2. Go to one of the supported websites and search for the playlist you want to install.
3. Once you've found the playlist, click on the __`One-Click`__ or __`Install`__ button on the website.
4. A pop-up window will appear, asking for confirmation. Click on __`Yes`__ to proceed with the installation.
2. Launch BSManager and select the version of *Beat Saber* where you want to install maps from the list on the left side of the interface.
3. Go to the `Maps` section by clicking on the __`Maps`__ tab.
4. Click the __`Add`__ button to access the list of online maps.
5. Use the search bar at the top of the interface to filter maps by __`name`__, __`type`__, __`mods`__, __`tags`__, __`notes per second`__, or __`duration`__, and order the list by __`latest`__, __`relevance`__, __`rating`__, or __`curated`__.
6. Download to install it.
7. Wait for the installation to complete. Once it's finished, you can launch Beat Saber directly from [BSManager](https://www.bsmanager.io) to enjoy your new maps!
### How to Import Maps with BSManager
1. Download and install [BSManager](https://www.bsmanager.io) from one of the following sources:
2. Launch BSManager and select the version of *Beat Saber* where you want to install maps from the list on the left side of the interface.
3. Go to the `Maps` section by clicking on the __`Maps`__ tab.
4. From here, there are two possible methods:
1. Click the __`Add`__ button, then select __`Import maps`__ and choose the .zip file to import.
2. Drag and drop your .zip file directly onto the maps interface in BSManager.
5. Wait for the import to complete. Once finished, you can launch Beat Saber directly from [BSManager](https://www.bsmanager.io) to enjoy your new maps!
> [!Important]
> The file must be in `.zip` format to be imported.
## Manual Installation
1. Find the map you want to install on a site like [BeatSaver](https://beatsaver.com).
2. Download the map to your computer.
3. Open [BSManager](https://www.bsmanager.io) and select the version of Beat Saber to which you want to install the map.
4. Click on the version options at the top-right corner of the interface, then select __`Open Folder`__.
5. Move the downloaded map `.zip` file into the __`CustomLevels`__ folder, which is located at `Beat Saber_Data\CustomLevels`.
6. Right-click the `.zip` file, select __`Extract All`__, then press __`Extract`__ in the popup. You can then delete the `.zip` file.
7. Launch Beat Saber, and the map should now be available to play.
## One-Click Installation
1. Launch [BSManager](https://www.bsmanager.io) and make sure that the One-Click installation feature is enabled for maps.
2. Go to one of the supported websites and search for the map you want to install.
3. Once you've found the map, click on the __`One-Click`__ or __`Install`__ button on the website.
4. A pop-up window will appear, asking for confirmation. Click on __`Yes`__ to proceed with the installation.
2. Launch [BSManager](https://www.bsmanager.io) and select the Beat Saber version where you want to install models from the list on the left of the interface.
3. Go to models by clicking on the __`Models`__ tab.
4. Click on the __`Add`__ button to access the list of online models.
5. Find the models that you want to install from the provided list. You can use the search bar at the top of the interface to filter models by __`name`__, __`type`__, and order the list by __`date`__, __`name`__, or __`author`__.
6. Download to install the model.
7. Wait for the installation to complete. Once it's finished, you can launch Beat Saber directly from [BSManager](https://www.bsmanager.io) to enjoy your new models!
## One-Click Installation
1. Launch [BSManager](https://www.bsmanager.io) and make sure that the One-Click installation feature is enabled for models.
2. Go to one of the supported websites and search for the models you want to install.
3. Once you've found the models, click on the __`One-Click`__ or __`Install`__ button on the website.
4. A pop-up window will appear, asking for confirmation. Click on __`Yes`__ to proceed with the installation.
2. Launch [BSManager](https://www.bsmanager.io) and select the version of Beat Saber that you want to use from the list on the left side of the interface.
3. Go to mods by clicking on the __`Mods`__ tab.
4. Find the mods that you want to install from the provided list. You can use the search bar at the top of the interface to filter mods by name.
5. Check the box next to the name of each mod that you want to install.
6. Click __`Install or Update`__ at the bottom-right corner of the interface.
7. Wait for the installation to complete. Once it's finished, you can launch Beat Saber directly from [BSManager](https://www.bsmanager.io) to enjoy your new mods!
### How to Import Mods with BSManager
1. Download and install [BSManager](https://www.bsmanager.io) from one of the following sources:
2. Launch BSManager and select the version of *Beat Saber* where you want to install mods from the list on the left side of the interface.
3. Go to the `Mods` tab.
4. From here, there are two possible methods:
1. Click on __`⁝`__ button, then select __`Import mods`__ and choose the .zip or .dll file to import.
2. Drag and drop your .zip or .dll file directly onto the mods interface in BSManager.
5. Wait for the import to complete. Once finished, you can launch Beat Saber directly from [BSManager](https://www.bsmanager.io) to enjoy your new mods!
> [!Important]
> The file must be in `.zip` or `.dll` format to be imported.
## Manual Installation
> [!IMPORTANT]
> This guide assumes your game already has core mods installed
>
> If it doesn't: open [BSManager](https://www.bsmanager.io), select the game version you want to mod, go to the Mods tab, and click __`Install or Update`__. Then, run your game once, go to the main menu, and close it. ℹ️*
1. Open [BSManager](https://www.bsmanager.io) and select the version of Beat Saber you want to install the mod to.
2. Click on the version options button at the top-right corner, then select __`Open Folder`__.
3. Download the desired mod from a trusted source, often found on community GitHub repositories. Search for the mod's name followed by "GitHub" in your search engine.
4. Installing Different Types of Mods:
- __For mods that come as a single `.dll` file:__ If the mod consists of a single __`.dll`__ file, copy this file into the __`Plugins`__ folder in the directory you opened in step 2.
> [!NOTE]
>
> Do __not__ place files in __`Beat Saber_Data\Plugins`__. If you do not see a __`Plugins`__ folder directly in the folder you opened in step 2, make sure you have core mods installed and have run your game at least once after installing mods.
- __For mods that come as a `.zip` file:__ If the mod includes multiple files or folders, you need to maintain the provided folder structure. Double-click the zip file to open it, press __`CTRL+A`__ and then __`CTRL+C`__ to copy all files/folders inside the zip, go to the directory you opened in step 2, and press __`CTRL+V`__ to paste them there. Do __not__ paste them in any subfolder, such as __`Plugins`__ or __`Beat Saber_Data`__. If you are prompted to merge folders or overwrite files, click "Yes."
5. The mod should now be installed. Run Beat Saber to check if the mod functions correctly. If it doesn't, double-check that you:
- Have all required dependencies installed. These are typically listed somewhere on the mod's release page.
- Placed the mod in the correct install folder.
- Downloaded a mod intended for your game version.
- [1. Create a Fork on GitHub](#1-create-a-fork-on-github)
- [2. Clone Your Fork](#2-clone-your-fork)
- [3. Make Your Changes](#3-make-your-changes)
- [4. Submit a Pull Request](#4-submit-a-pull-request)
## Introduction
Thank you for your interest in improving the wiki! This guide will help you through the process of contributing, whether you’re adding new pages, fixing errors, or enhancing existing content.
## Prerequisites
Before contributing, make sure you have:
1. A GitHub account.
2. Basic knowledge of Markdown.
## Steps to Contribute
### 1. Create a Fork on GitHub
To contribute, start by creating a fork of the repository:
1. Go to the [GitHub page of the repository](https://github.com/Zagrios/bs-manager).
2. Click on the __`Fork`__ button in the top-right corner of the page.
3. Once the fork is created, it will appear under your GitHub account.
### 2. Clone Your Fork
Now, clone your fork to your local machine for editing:
1. Open Notepad and drag & drop the version shortcut you need.
2. Grab the version link (e.g., `bsmanager://launch/?version=1.34.2&versionIno=19140298416807704`) - More info [here](#how-to-create-a-shortcut-on-steam).
3. Open a new Notepad window and type the following:
```bat
@echo off
start <version link>
```
4. Save the file with a `.bat` extension.
5. Create a shortcut to this `.bat` file. Edit the shortcut path to: `cmd.exe /C <shortcut path>`.
## How to create a shortcut on Steam
1. Launch [BSManager](https://www.bsmanager.io) and select your version.
2. Click on the gear icon at the top-right corner of the version.
3. Click on the __`Create a Shortcut`__ button.
4. Choose your launch options.
5. Click on __`Create a Shortcut`__. It should now appear on your desktop.
> [BSManager](https://www.bsmanager.io) does not store your login information. It uses the open-source tool [`DepotDownloader`](https://github.com/SteamRE/DepotDownloader) to download versions of Beat Saber.
## Table of Contents
- [Install a Version with Steam](#install-a-version-with-steam)
- [Install a Version with Oculus Store (PCVR)](#install-a-version-with-oculus-store-pcvr)
- [Import a Version](#how-to-import-a-version)
## Install a Version with Steam
1. Download and install [BSManager](https://www.bsmanager.io) from one of the following sources:
> - Ensure that Beat Saber is in your __Oculus PCVR__ library to enable downgrading.
> - You must run Beat Saber at least once on your computer before attempting to launch retrograde Oculus versions from [BSManager](https://www.bsmanager.io).
1. Download and install [BSManager](https://www.bsmanager.io) from one of the following sources:
> - You will need to download a version of Beat Saber yourself before you can import it.
> - The [BSManager](https://www.bsmanager.io) team provides tutorials like [this one](https://steamcommunity.com/sharedfiles/filedetails/?id=1805934840) to help you download official versions of Beat Saber. However, no team member will offer assistance for cracked versions.
1. Launch [BSManager](https://www.bsmanager.io).
2. Click the gear icon in the top-right corner of the interface.
3. Select the __`Import a Version`__ option.
4. Choose the file containing the version to be imported.
5. Wait a few moments. The imported version should appear alongside the others in the version list.
Go to [Releases](https://github.com/Zagrios/bs-manager/releases) page and go to the latest alpha release (version 1.5.0-alpha.5 or higher). Download the necessary build installer for your distro (see below).
### Ubuntu, Debian (deb)
#### PPA Repository
Refer to [bs-manager-deb](https://github.com/silentrald/bs-manager-deb).
Add the BSManager PPA repository into your system with the following commands.
echo "deb [signed-by=/usr/share/keyrings/bs-manager.gpg] https://raw.githubusercontent.com/silentrald/bs-manager-deb/refs/heads/main ./" | sudo tee /etc/apt/sources.list.d/bs-manager.list
sudo apt update
```
Install the `bs-manager` package using `apt`.
```bash
sudo apt install bs-manager
```
#### dpkg install
Download the `.deb` file in the releases and run the following command:
```bash
dpkg -i ./bsmanager.deb
```
> [!NOTE]
> When installed using dpkg, BSManager will not automatically update to the latest version. You have to either:
> - Download the latest `.deb` file on the Releases page; or
> - Install thru PPA repository to automatically update with `sudo apt update & sudo apt upgrade`.
### Arch (AUR)
Refer to [bs-manager-git](https://aur.archlinux.org/packages/bs-manager-git).
To install AUR packages, you need to install [yay](https://github.com/Jguer/yay).
### NixOS/Nix
Refer to [bs-manager](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/bs/bs-manager/package.nix).
Available in nixpkgs on `24.11` and `unstable` branches
> [!NOTE]
> bs-manager will not be automatically updated in the client. You must update your channel or `flake.lock` to get the latest version in nixpkgs.
> Additionally updates to the nix package will lag behind main due to nixpkgs being run by volunteers
#### Installation
BSManager can be installed via your configuration or [home-manager](https://github.com/nix-community/home-manager).
To try out bs-manager without installing, please run:
```bash
nix-shell -p bs-manager --run bs-manager
```
> [!WARNING]
> bs-manager has been untested on non-nixos systems running the nix package manager; if you encounter issues, please contact the nix package maintainer
### Universal (flatpak)
This should work on any linux distribution. You are only required to have `flatpak` installed in your system. If it is not installed, then go to [flatpak](https://flatpak.org/setup/) to look for a guide on how to install it on your distro.
After installing, download the `.flatpak` file in the releases and run the following command:
```bash
flatpak install --user ./bsmanager.flatpak
```
If you are getting errors like packages not existing, run the command below so that it finds the correct packages.
Flatpak also supports sandboxing which gives the minimal access to your machine. To configure this, you can download [Flatseal](https://flathub.org/apps/com.github.tchx84.Flatseal) which has a GUI to edit your permissions. You can also this with the `flatpak` executable but it will not be discussed here.
## Proton Setup
[Proton](https://github.com/ValveSoftware/Proton) is needed to run the Beat Saber executable under Linux. You need to download this from either from Steam or building it from their GitHub repo.
Once Proton is installed, when you open your BSManager application for the first time, it will ask you to link the _Proton Folder_. The _Proton Folder_ also verifies if the `proton` and `files/bin/wine64` binaries exists. Once set, you should be able to launch the Beat Saber (using `proton`) and install mods (using `files/bin/wine64`). You can still change the _Proton Folder_ in the **settings page** if any new version of Steam Proton is downloaded.
> Your token is a confidential piece of information. Possession of this token allows individuals to download applications, send messages, among other actions, under your identity.
>
>However, you might wonder why it is necessary to provide this token to BSManager. The reason is that BSManager requires the token to continue the download with Oculus. Once you've input the token, it is used exclusively to communicate with Oculus servers to verify that you are the rightful owner of the game.
## Table of Contents
- [Step 1 - Install and log into the Oculus Rift app](#step-1---install-and-log-into-the-oculus-rift-app)
- [Step 2 - Open developer tools](#step-2---open-developer-tools)
- [Step 3 - Copy your Token](#step-3---copy-your-token)
# Solution 1 - Using the Oculus app
## Step 1 - Install and log into the Oculus Rift app
1. Download the Oculus Rift app setup from the [Meta website](https://www.oculus.com/rift/setup/).
2. Install the Oculus Rift app on your computer.
> [!NOTE]
>__If you bought Beat Saber from the Quest store, it won't appear in your Rift library by default. To download it with [BSManager](https://www.bsmanager.io), first follow [this guide](https://github.com/Zagrios/bs-manager/wiki/how-to-claim-oculus-desktop-version) claim it from its store page.__
## Step 2 - Open developer tools
1. Open the Oculus app.
2. Open the developer tools by pressing `Ctrl` + `Shift` + `i`.
## Step 3 - Copy your Token
In the developer tools:
1. Open the __`Network`__ tab.
2. Press CTRL+R.
3. Filter for __`graph`__.
4. Click on the first request that appears.
5. Open the __`Payload`__ tab.
6. Scroll to the bottom to locate your token. It should start with __`FRL`__.
7. Select the token using your mouse and press `Ctrl` + `C` to copy it.
BSManager is your all-in-one tool designed to simplify and enhance your Beat Saber experience. With BSManager, you can effortlessly manage game versions, mods, maps, and more, ensuring a seamless and enjoyable gameplay journey.
## 📚 Guides
Our comprehensive guides are crafted to assist you in maximizing BSManager's capabilities:
### 🛠️ Installation and Updates
Step-by-step instructions to install BSManager on your system and keep it up to date
- [Install BSManager on Linux](install-bsmanager-on-linux)
- [Install or import a version](install-or-import-a-version)
- [Create a shortcut](create-a-shortcut)
### 🔑 Login
Guidance on logging into BSManager to access all features
- [How to obtain your Oculus Token](How-to-obtain-your-Oculus-Token)
### 🎮 Content Management
- __🗺️ Maps__: Learn how to download and organize custom maps for endless entertainment.
- [Install any map](install-any-map)
- [Install all playlists you want](install-all-playlists-you-want)
- __🧩 Mods__: Discover how to install, update, and manage mods to enhance your gameplay.
- [Install mods on your version](install-mods-on-your-version)
- __🖼️ Models__: Find out how to integrate custom models into your Beat Saber experience.
- [Modify models in your Beat Saber](modify-models-in-your-beat-saber)
### 🤝 Contribution
Information on how to contribute to the development and improvement of BSManager
- [Help us update the wiki](help-us-update-the-wiki)
- [Contribute to the project](https://github.com/Zagrios/bs-manager/blob/master/CONTRIBUTING.md)
## 🐞 Troubleshooting
Our troubleshooting section is here to help you resolve common issues quickly and efficiently:
<!-- ### ⚙️ Connection Issues: Solutions for problems related to connecting BSManager to required services. -->
### 💾 Installation Problems
Guidance on fixing errors during setup or version updates
- __🐧Linux__:
- [Missing Icons in Game]([Linux]-Missing-Icons-in-Game)
- [[Deb] The SUID Sandbox Helper Binary Was Found]([Linux]-[deb]-The-SUID-Sandbox-Helper-Binary-Was-Found)
- [[Flatpak] Steam Beat Saber Version Not Showing / Proton Not Detected]([Linux]-[Flatpak]-Steam-Beat-Saber-Version-Not-Showing-Proton-Not-Detected)
- [Submitting a bug report](https://github.com/Zagrios/bs-manager/issues/new?assignees=Zagrios&labels=bug&projects=&template=1-bug-report.yaml&title=%5BBUG%5D+%3A+)
***
We are committed to keeping this wiki up to date with the latest information and best practices. Your contributions are welcome; please refer to our [Help us update the wiki](help-us-update-the-wiki) to get started.
For additional support and community interaction, join our [Discord server](https://discord.gg/uSqbHVpKdV).
After completing these steps, you should be able to start Beat Saber from BSManager and play it on your Oculus Quest. If you are still having issues, please join our [Discord](https://discord.gg/uSqbHVpKdV) server for further assistance.
If nothing opens when you press `Ctrl` + `Shift` + `I`, it’s possible that the keyboard shortcut to open the developer tools is being used by another application.
Here’s a non-exhaustive list of applications that may cause this problem and their suggested solutions:
1. If you prefer to keep using keyboard shortcuts, consider changing the specific conflicting shortcut (e.g., __"Ctrl + Shift + I"__) to another combination that is less likely to interfere.
> ℹ️ __Note:__ You can't change the full keybind!
> You can only modify the __"I"__ to a different key. ℹ️
This is due to [BSML](https://github.com/monkeymanboy/BeatSaberMarkupLanguage) using a missing font (`Segoe UI Symbols`) for unicode emojis.
To fix the issue, you need to get a copy of `seguisym.ttf` from the fonts folder an official copy Windows. Once you have a copy, add the font file to `~/.steam/steam/steamapps/compatdata/620980/pfx/drive_c/windows/Fonts`.
To change the installation path of the **BSManager** folder, you have to edit the flatpak permissions to destination folder.
- In flatpak or Flatseal, add the destination folder with `:create` permissions.
- In BSM, move the folder to the destination folder.
- [Optional] In flatpak or Flatseal, remove the original folder permissions.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.