Balatro-Multiplayer / Balatro-Multiplayer/BalatroMultiplayer

[Beta v3 PvP] "Continue in Singleplayer" starts a brand-new run instead of resuming

Open
#484 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Lua
Stars
335
Forks
106
Avg merge
2d 2h
Merged PRs (30d)
1

Description

**Status: root cause confirmed**
**Affects:** MultiplayerPvP Closed Beta v3 (mqtt branch)

## Symptom
Tester report: "continuing in single player just starts a new run." Choosing "Continue in Singleplayer" from the end-of-match screen starts a fresh ante-1 run (starting deck/money) instead of continuing the match's run state.

## Root cause
`G.FUNCS:continue_in_singleplayer` (`ui/game/functions.lua:244-276`) round-trips the run through disk: it calls `save_run()` and then reads `save.jkr` back on an `immediate` event in effectively the same frame. Vanilla `save_run()` only synchronously builds `G.ARGS.save_run`; the file write is dispatched to the async SAVE_MANAGER thread on a later `Game:update` tick, so the read races the write.

Because `G.F_NO_SAVING` is true for the entire MP match (`overrides/game.lua:237-241`), no prior `save.jkr` for the run exists to fall back on — the read reliably returns nil, `G:start_run({savetext = nil})` starts a fresh run, and `G:delete_run()` has already discarded the in-memory state, so there is no recovery path. The failure is effectively deterministic, not intermittent.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.