MidGameJoin
Allows Steam friends to join an active RoundsWithFriends private match as spectators, then enter after card selection with average-card catch-up picks.MidGameJoin
MidGameJoin is a ROUNDS add-on for RoundsWithFriends 2.2.2 that lets Steam friends join a private match after it has already started.
How late joining works
A friend may join through a Steam invite or Steam's Join Game option while the match is running. The late joiner is kept as a spectator and is not added to the combat player list during the current fight.
After the existing players finish the current cycle's normal card picks, MidGameJoin freezes the insertion batch. Each late joiner receives a number of manual catch-up picks equal to the floored average of the existing active players' current card counts. For example, card counts of 4, 5, 6, and 4 average to 4.75, so the late joiner receives 4 catch-up picks.
In Team Deathmatch, a waiting spectator chooses their team before the insertion batch locks. They may change that selection while waiting. In Free-for-All (FFA), no team choice is required.
The next combat begins only after every late joiner in the locked batch has either completed catch-up selection, disconnected, or been rolled back to spectator because validation failed.
Requirements
Everyone in the private match must have the same MidGameJoin version installed. MidGameJoin is designed for private RoundsWithFriends games using:
- BepInExPack for ROUNDS 5.4.1900
- UnboundLib 3.2.14
- RoundsWithFriends 2.2.2
Supported
- Steam friend Join Game
- Steam Invite joins
- RoundsWithFriends private Team Deathmatch
- RoundsWithFriends private Free-for-All (FFA) / Deathmatch
- Multiple late joiners in one insertion batch
- Spectating while waiting
- Manual average-card catch-up picks, rounded down
Not supported
- Public matchmaking
- Joining directly into an active fight
- Mixing clients that do and do not have MidGameJoin installed
Host migration
Host migration is handled conservatively. If RoundsWithFriends performs its network restart while spectators are pending, those pending players may be returned to the spectator/waiting state and deferred by one card cycle rather than risking duplicate combat players. Players that were already fully active are left alone.
Development status
Version 0.1.3 must pass the multiplayer checklist included with the source before it should be published publicly. A source/package layout produced without a successful compile or two-client Steam test is a development build, not a release-validated Thunderstore upload.
