Add notes about project plan and current state of our beat saber installation
This commit is contained in:
@@ -76,6 +76,7 @@ Runtime state should not need to live inside the repository. By default, keep mu
|
||||
installed.json
|
||||
plans/
|
||||
downloads/
|
||||
<plugin-id>/
|
||||
backups/
|
||||
```
|
||||
|
||||
|
||||
Executable
+184
@@ -0,0 +1,184 @@
|
||||
# 1.40.8 Mods in Use
|
||||
|
||||
Mods installed by bs-manager and not.
|
||||
|
||||
## bs-manager source of truth
|
||||
|
||||
bs-manager gets verified mods from BeatMods:
|
||||
|
||||
```text
|
||||
https://beatmods.com/api/mods?status=verified&gameVersion=1.40.8&gameName=BeatSaber&platform=steampc
|
||||
```
|
||||
|
||||
It downloads mod zips from `/cdn/mod/<zipHash>.zip`, resolves dependencies by BeatMods mod-version ids, and recognizes installed mods by MD5 hash lookup through `/api/hashlookup?hash=<md5>`.
|
||||
|
||||
For the mounted Windows install, `UserData/Disabled Mods.json` has an empty `DisabledModIds` array, so the files currently present in `Plugins/` and `Libs/` are enabled.
|
||||
|
||||
## Core
|
||||
- BSIPA https://github.com/nike4613/BeatSaber-IPA-Reloaded
|
||||
- SongCore https://github.com/Kylemc1413/SongCore
|
||||
|
||||
## Essential
|
||||
- BeatSaverDownloader https://github.com/Top-Cat/BeatSaverDownloader
|
||||
- BeatSaverVoting https://github.com/Top-Cat/BeatSaverVoting
|
||||
- PlaylistManager https://github.com/rithik-b/PlaylistManager
|
||||
- BeatSaverUpdater https://github.com/ibillingsley/BeatSaverUpdater
|
||||
- SiraLocalizer https://github.com/Auros/SiraLocalizer
|
||||
|
||||
## Cosmetic
|
||||
- AdBlocker https://github.com/JonnyVR1/AdBlocker
|
||||
- HighlightBombs https://github.com/Meivyn/HighlightBombs
|
||||
|
||||
## Library
|
||||
|
||||
bs-manager installs these mostly as dependency closure. BeatMods records dependencies by mod-version id, so install planning needs to resolve the selected mod, then recursively add each dependency version before downloading zips from `zipHash`.
|
||||
|
||||
- AssetBundleLoadingTools https://github.com/nicoco007/AssetBundleLoadingTools
|
||||
- Required by: Vivify.
|
||||
- BeatSaberMarkupLanguage https://github.com/monkeymanboy/BeatSaberMarkupLanguage
|
||||
- Required by: most UI/config mods here, including SongCore, SiraUtil, PlaylistManager, BeatSaverDownloader, Chroma, Vivify, ScoreSaber, and BeatLeader.
|
||||
- BeatSaberPlaylistsLib https://github.com/Meivyn/BeatSaberPlaylistsLib
|
||||
- Required by: PlaylistManager.
|
||||
- BeatSaverSharp https://github.com/lolPants/BeatSaverSharp
|
||||
- Required by: BeatSaverDownloader, BeatSaverUpdater, DiTails, PlaylistManager.
|
||||
- BS Utils https://github.com/Kylemc1413/Beat-Saber-Utils
|
||||
- Required by: BeatSaverDownloader, BeatSaverVoting, BeatLeader.
|
||||
- CameraUtils https://github.com/Reezonate/CameraUtils
|
||||
- Required by: Vivify.
|
||||
- CustomJSONData https://github.com/Aeroluna/CustomJSONData
|
||||
- Required by: Chroma, Heck, NoodleExtensions, Vivify.
|
||||
- Dynamic Bone https://assetstore.unity.com/packages/tools/animation/dynamic-bone-16743
|
||||
- BeatMods-managed library in this install, but no depender was found among the currently listed BeatMods-recognized mods.
|
||||
- Final IK https://assetstore.unity.com/packages/tools/animation/final-ik-14290
|
||||
- BeatMods-managed library in this install, but no depender was found among the currently listed BeatMods-recognized mods.
|
||||
- Heck https://github.com/Aeroluna/Heck
|
||||
- Required by: Chroma, NoodleExtensions, Vivify.
|
||||
- ImageSharp https://github.com/SixLabors/ImageSharp/
|
||||
- Required by: BeatSaberPlaylistsLib.
|
||||
- Ini Parser https://github.com/rickyah/ini-parser
|
||||
- Required by: BS Utils.
|
||||
- LeaderboardCore https://github.com/NSGolova/LeaderboardCore
|
||||
- Required by: BeatLeader.
|
||||
- LookupID https://github.com/Aeroluna/Heck
|
||||
- Required by: Chroma.
|
||||
- OpenVR API https://github.com/nicoco007/BeatSaber-OpenVR-API
|
||||
- Present in `Plugins/` as `OpenVRHelper.manifest`; no depender was found among the currently listed BeatMods-recognized mods.
|
||||
- protobuf-net https://github.com/protobuf-net/protobuf-net
|
||||
- Required by: SongDetailsCache.
|
||||
- ScoreSaberSharp
|
||||
- Required by: BeatSaverDownloader.
|
||||
- SiraUtil https://github.com/Auros/SiraUtil
|
||||
- Required by: most Sira/Auros-style mods here, including SongCore, PlaylistManager, SiraLocalizer, Chroma, NoodleExtensions, BeatLeader, ScoreSaber, and many UI/tweak mods.
|
||||
- SongDetailsCache https://github.com/kinsi55/BeatSaber_SongDetails
|
||||
- Required by: BetterSongList, SongRankedBadge.
|
||||
|
||||
When a library package is installed by bs-manager, the payload usually lands in `Libs/`; several packages also leave a `.manifest` marker in `Plugins/`. `plugin-helper` should treat both files as part of the dependency package's install state, not as separate user-selected plugins.
|
||||
|
||||
### .NET framework library assemblies
|
||||
|
||||
These are BeatMods `library` records that bs-manager installs into `Libs/`, not normal Beat Saber plugin repos with GitHub releases.
|
||||
|
||||
- System.IO.Compression https://github.com/mono/mono
|
||||
- BeatMods library id 304.
|
||||
- Provides stream compression/decompression classes.
|
||||
- Installed file: `Libs/System.IO.Compression.dll`.
|
||||
- System.IO.Compression.FileSystem https://github.com/microsoft/referencesource
|
||||
- BeatMods library id 303.
|
||||
- Provides the .NET Framework `ZipFile`/filesystem path helpers layered over `System.IO.Compression`.
|
||||
- Installed file: `Libs/System.IO.Compression.FileSystem.dll`.
|
||||
|
||||
For `plugin-helper` to reproduce bs-manager behavior, these should be modeled as special framework-library dependencies instead of GitHub-release plugins:
|
||||
|
||||
- The dependency solver should be able to select BeatMods library ids 303 and 304 when another mod requires them, even though the BeatMods records do not expose normal version/download metadata in the 1.40.8 query.
|
||||
- The installer should place the resolved DLLs in `Libs/`, never `Plugins/`.
|
||||
- The install state should record them like any other installed file, including source, target path, size, and hash, so uninstall/rollback stays deterministic.
|
||||
- The helper should not overwrite `Beat Saber_Data/Managed/System.IO.Compression*.dll`; those assemblies already exist in the game runtime and are a different size than the copies bs-manager put in `Libs/`.
|
||||
- If a reusable source cannot be derived from BeatMods metadata, the registry needs an explicit rule or vendored/cache source for these two DLLs rather than a vague `dot.net` URL.
|
||||
|
||||
## Practice
|
||||
- IntroSkip https://github.com/Loloppe/Intro-Skip
|
||||
- FailButton https://github.com/qe201020335/FailButton
|
||||
- NoodleExtensions https://github.com/Aeroluna/NoodleExtensions
|
||||
- Vivify https://github.com/Aeroluna/Vivify
|
||||
|
||||
## UI
|
||||
- HitScoreVisualizer https://github.com/ErisApps/HitScoreVisualizer
|
||||
- WhyIsThereNoLeaderboard
|
||||
- BetterSongList https://github.com/kinsi55/BeatSaber_BetterSongList
|
||||
- DiTails https://github.com/Auros/DiTails/
|
||||
- HideTheLogo https://github.com/TheBlackParrot/HideTheLogo
|
||||
- SongChartVisualizer https://github.com/NuggoDEV/SongChartVisualizer
|
||||
- SongRankedBadge https://github.com/qe201020335/SongRankedBadge
|
||||
|
||||
## Other
|
||||
- BeatLeader https://github.com/BeatLeader/beatleader-mod
|
||||
- ScoreSaber https://github.com/ScoreSaber/pc-mod
|
||||
|
||||
## Tweaks
|
||||
- EasyOffset https://github.com/Reezonate/EasyOffset
|
||||
- GottaGoFast https://github.com/kinsi55/CS_BeatSaber_GottaGoFast
|
||||
- HitsoundTweaks https://github.com/GalaxyMaster2/HitsoundTweaks
|
||||
- KeepMyOverridesPls https://github.com/qqrz997/KeepMyOverridesPls
|
||||
- SoundReplacer https://github.com/Meivyn/SoundReplacer
|
||||
|
||||
## Lighting
|
||||
- Chroma https://github.com/Aeroluna/Chroma
|
||||
- PitchBlack https://github.com/Loloppe/BeatSaber_PitchBlack/
|
||||
|
||||
## Paid closed source
|
||||
|
||||
### BeatSaberPlus
|
||||
- BeatSaberPlus_Chat (`BeatSaberPlus_Chat.dll`)
|
||||
- BeatSaberPlus_ChatEmoteRain (`BeatSaberPlus_ChatEmoteRain.dll`)
|
||||
- BeatSaberPlus_ChatIntegrations (`BeatSaberPlus_ChatIntegrations.dll`)
|
||||
- BeatSaberPlus_ChatRequest (`BeatSaberPlus_ChatRequest.dll`)
|
||||
- BeatSaberPlus_GameTweaker (`BeatSaberPlus_GameTweaker.dll`)
|
||||
- BeatSaberPlus_MenuMusic (`BeatSaberPlus_MenuMusic.dll`)
|
||||
- BeatSaberPlus_Multiplayer (`BeatSaberPlus_Multiplayer.dll`)
|
||||
- BeatSaberPlus_NoteTweaker (`BeatSaberPlus_NoteTweaker.dll`)
|
||||
- BeatSaberPlus_SongChartVisualizer (`BeatSaberPlus_SongChartVisualizer.dll`)
|
||||
- BeatSaberPlus_SongOverlay (`BeatSaberPlus_SongOverlay.dll`)
|
||||
|
||||
### Naluluna
|
||||
- NalulunaMenu (`NalulunaMenu.dll`)
|
||||
- NalulunaCounters (`NalulunaCounters.dll`)
|
||||
- NalulunaLevelDetail (`NalulunaLevelDetail.dll`)
|
||||
- NalulunaSliceVisualizer (`NalulunaSliceVisualizer.dll`)
|
||||
- NalulunaSongPreview (`NalulunaSongPreview.dll`)
|
||||
- NalulunaMissIndicator (`NalulunaMissIndicator.dll`)
|
||||
- NalulunaEnergy (`NalulunaEnergy.dll`)
|
||||
- NalulunaFps (`NalulunaFps.dll`)
|
||||
- NalulunaPPCoin (`NalulunaPPCoin.dll`)
|
||||
- NalulunaRewinder (`NalulunaRewinder.dll`)
|
||||
- NalulunaAvatars (`NalulunaAvatars.dll`)
|
||||
- NalulunaShaders (`NalulunaShaders.dll`)
|
||||
- NalulunaSkybox (`NalulunaSkybox.dll`, `NalulunaSkyboxSamples.manifest`)
|
||||
- NalulunaUtils (`NalulunaUtils.dll`)
|
||||
|
||||
These mods were installed manually, not from bs-manager.
|
||||
|
||||
- ScoreSaber
|
||||
- BeatLeader
|
||||
- AccSaber
|
||||
- ChatPlexSDK_BS
|
||||
- Dimmer
|
||||
- DiTails
|
||||
- HideTheLogo
|
||||
- HitsoundTweaks
|
||||
- PitchBlack
|
||||
- ReeCamera
|
||||
- ReeSabers
|
||||
- SoundReplacer
|
||||
- BetterSongList
|
||||
- Setlist
|
||||
- SongChartVisualizer
|
||||
- SongRankedBadge
|
||||
- Chroma
|
||||
- EasyOffset
|
||||
- Custom Campaigns
|
||||
- JDFixer
|
||||
- KeepMyOverridesPls
|
||||
- GottaGoFast
|
||||
- KeyRemapper
|
||||
- SquatToBegin
|
||||
- wipbot
|
||||
Reference in New Issue
Block a user