44 lines
1.7 KiB
Markdown
44 lines
1.7 KiB
Markdown
# Beat Saber Live Validation
|
|
|
|
Use this policy when a task changes or verifies a live BSManager instance.
|
|
|
|
## Smoke Test
|
|
|
|
- Follow `docs/SMOKETEST.md` for live game validation.
|
|
- Before starting Beat Saber, announce how long the smoke window will run, using
|
|
the current duration in `docs/SMOKETEST.md` unless the user requested a
|
|
different duration.
|
|
- Do not rely on `timeout` to kill the full game process tree.
|
|
- Prefer the documented foreground Proton launch with a background watchdog that
|
|
sleeps for the smoke window, then terminates Beat Saber by process name.
|
|
- After the run, confirm no Beat Saber process remains. If cleanup fails, say so
|
|
and ask the user to close it manually.
|
|
|
|
## Required After Live Apply
|
|
|
|
After any successful helper `apply` that changes a live BSManager instance, run
|
|
the documented live smoke test before the final response unless the user
|
|
explicitly says not to. Helper `check`, unit tests, compile checks, and file-hash
|
|
verification are useful but do not replace live validation.
|
|
|
|
## Logs
|
|
|
|
Inspect `Logs/_latest.log`, Unity `Player.log` when relevant, and the live
|
|
process command line before calling a black screen or launch failure a plugin
|
|
failure. Duplicate launch args such as repeated `--no-yeet fpfc` can trigger
|
|
fatal command-line parsing after BSIPA/plugin loading succeeds.
|
|
|
|
Expected successful BSIPA/SongCore lines include:
|
|
|
|
```text
|
|
Game version <version>
|
|
Loading plugins from Plugins and found <n>
|
|
Beat Saber IPA (BSIPA): <version>
|
|
SongCore (SongCore): <version>
|
|
```
|
|
|
|
Warnings about older mod target game-version metadata can be acceptable when
|
|
BeatMods verified that exact package for the target Beat Saber version. Record
|
|
them in the tracker or roadmap rather than treating them as automatic install
|
|
failure.
|