Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
LateJoinPlus
The best late join for R.E.P.O, with no invisible rooms. Friends can join any time, even mid-level, and only the host needs it. Joiners can talk, extract and use slots right away. Includes Lobby Guard anti-cheat and kick/ban tools.
| Date uploaded | a day ago |
| Version | 1.0.2 |
| Download link | RicketyWrecked-LateJoinPlus-1.0.2.zip |
| Downloads | 935 |
| Dependency string | RicketyWrecked-LateJoinPlus-1.0.2 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100RicketyWrecked-REPO_Fixes_Antispam_Latency_Fix
Fixes the bugs that wreck modded R.E.P.O lobbies: error floods and stutter, enemies stuck mid-attack, locked extractions, lost slot items, timeout kicks, and bugs in popular mods. Every fix can be switched off. Only you need it.
Preferred version: 1.2.9RicketyWrecked-AdminMenuButtonPositionFix
Adds an Admin Menu button to the pause menu that opens RepoAdminMenu in one click (host or single player), and evenly re-spaces every pause-menu button so mod buttons never overlap.
Preferred version: 1.5.0README
LateJoinPlus
The best late join for R.E.P.O, with no invisible rooms. With other late-join mods, players who join mid-level often fall through missing floors or walk into rooms with no walls, because those rooms never reach their game. LateJoinPlus sends every room of the level to every joiner, so the level looks and works the same for them as for everyone else.
Let your friends join your R.E.P.O game at any time: in the truck, in the shop, or in the middle of a level. Only the host needs this mod. Players who join don't need any mods at all.
Main features
- Join any time. Players can join while you're in the truck, the shop or a level.
- No invisible rooms. Every room of the level loads properly for joiners: no missing floors or walls.
- Works for players without mods. Your friends don't have to install anything. They load in fully caught up with the run.
- Joiners can play straight away. They can talk and hear everyone, pick things up, use their inventory slots and extract like everyone else.
- Extraction never gets stuck. Late joiners can't accidentally lock the extraction points for the rest of the level.
- Their map is filled in. Rooms your team already explored show up on a joiner's map.
- Safe spawn. Joiners appear by the truck (or next to you), never inside a wall or over a pit. Nobody else gets moved.
- No lag when someone joins. Catching a joiner up is spread out, so your game doesn't freeze.
- Open or close your lobby live, at any time. Even mid-level, switch between:
- Everyone: open to anyone, and listed in the server list.
- Friends only: hidden from the server list; only your Steam friends and players you invite can join.
- Nobody: closed, so no one new can join until you open it again.
- Everyone can invite friends. Not just the host: anyone in your lobby can send Steam invites, even players without mods.
- Lobby Guard anti-cheat. Stops common griefing (fake kicks, host stealing, voice takeovers, cheat menus) and auto-bans anyone on your block list.
- Kick, ban and block list. Remove players with Kick, Ban or Ban + Block List, from the pause menu or the LATE JOIN menu.
- One menu for everything. A LATE JOIN button in the main menu and the pause menu, in the game's own style.
Getting started
- Install LateJoinPlus with r2modman or the Thunderstore app. It installs everything it needs with it: MenuLib, REPO Fixes+ (multiplayer bug fixes) and Admin Menu Button Position Fix (an Admin Menu button and a tidy pause menu).
- Host a game as normal.
- That's it: your lobby now accepts players at any time. Use the INVITE button in the pause menu to invite friends, or let them find you in the server list. Your server name shows a
[LateJoin]tag so people know they can join mid-run.
You don't need to change any settings. If you want to, press LATE JOIN in the main menu or the pause menu. For example, go to Lobby and set it to Friends only so your friends can get in before strangers do, or Nobody to close it.
Who needs it
| Player | Needs LateJoinPlus? |
|---|---|
| Host | Yes. It runs late join, catches joiners up, and has the kick/ban tools. |
| Players joining | No. Players without any mods join and play normally. |
| Anyone who wants Lobby Guard protection | Yes. Each player's copy can only protect that player's own game. |
Players who do have LateJoinPlus get a few small extras when they join: the exact list of explored rooms, and their game version shows in the host's player list.
What a joiner gets
When someone joins mid-run, the host's game quietly sends them everything they missed:
- the level itself (rooms, doors, lights), set up correctly;
- the items: their names, values, batteries and who's carrying what;
- run stats, the haul total and the extraction goals;
- extraction points: open ones show as open, finished ones as finished;
- voice: they can hear everyone, and everyone can hear them;
- the explored map.
A small list in the bottom-left corner shows each joiner's progress: Connecting, Loading, Joined (or Left). [O] means they have LateJoinPlus and [X] means they don't (that's fine).
The LATE JOIN menu
Press LATE JOIN in the main menu (just above Quit) or the pause menu. It has:
- On/off switches for Late Join, Map Sync and Lobby Guard.
- Lobby (host): open or close your lobby right now: Everyone, Friends only or Nobody. It changes instantly, even mid-level, and you can switch back whenever you like. Also an Invite Friends button, and how many players are in your Steam lobby.
- Players (host): every player with their Steam profile, which late-join mod they use, whether they use GameTools, their game version, and Kick, Ban or Ban + Block List. Each asks first.
- Block List: everyone you've blocked. Add a Steam ID or unblock someone.
- Settings: every setting, grouped by section.
Pause menu player list: each name shows short tags: CHEAT (caught cheating), their late-join mod (LJ+, LateJoin, LateJoinNow), GameTools, and their game version if it's different from yours. As host, the Kick button there opens the same Kick / Ban / Ban + Block List choice. The game's own "kick" is really a ban, so you now choose.
Changes apply straight away and are saved.
Lobby Guard
Lobby Guard protects your game from common griefing and cheats.
| Problem | What Lobby Guard does |
|---|---|
| Fake kicks (everyone sent back to the main menu) | Ignored. Only the real host can kick. |
| Host stealing (someone makes themselves host) | You keep your lobby, take host back, and they're banned. |
| Deleting or stealing everything | Only allowed from the host or the item's owner. |
| Voice takeover or voice spam | Blocked. |
| Cheat menus (e.g. heal-everyone spam) | The cheat is ignored and you're told on screen. The player isn't kicked; that's your choice. |
| Known cheaters | Add their Steam ID to your block list. When you host, they're banned the moment they join. |
Anyone caught doing something a normal game never does is blocked on your side. When you host, they're also banned and added to your block list.
Settings
Change these in the LATE JOIN → Settings menu (easiest), in REPOConfig, or in the file BepInEx/config/ricketywrecked.repo.latejoinplus.cfg.
| Setting | Default | What it does |
|---|---|---|
Late Join.Enabled |
on | Late join on or off. |
Late Join.Truck / Shop / Level |
on | Where players may join. |
Late Join.JoinSpawn |
Truck | Where joiners appear: by the Truck, or next to the Host. |
Late Join.RevealMapForJoiners |
on | Fill in explored rooms on a joiner's map, for players without mods too. |
Late Join.SlotsForJoinersWithoutMod |
on | Joiners without mods can use their inventory slots once they've loaded in (off = from the next level). If a joiner's slots don't work, the item is dropped back at their feet instead of disappearing. |
Late Join.RoomNamePrefix |
[LateJoin] |
Tag in front of your server name in the server list. Empty = off. |
Map Sync.Enabled |
on | Share explored rooms with players who join mid-level. |
Map Sync.RevealAllRoomsWhenHostHasNoMod |
off | When you join a host who can't send their explored rooms, fill in the whole map instead. |
Lobby Guard.Enabled |
on | Lobby Guard on or off. |
Lobby Guard.BlockHostHijack |
on | Stop players from stealing host. |
Lobby Guard.VoiceGuard |
on | Block voice takeovers and voice spam. |
Lobby Guard.RevealSteamIds |
on | In lobbies you host, record each player's real Steam ID. |
Lobby Guard.AutoBan |
on | As host, ban players on your block list when they join. |
Lobby Guard.AutoAddToBlockList |
on | Add players caught attacking the lobby to your block list. |
Lobby Guard.BlockedSteamIds |
empty | Steam IDs to block (17 digits each, separated by commas). |
Lobby Guard.EnforceHeuristics |
off | Also block players on suspicion alone (message floods, invisible players). Off is safer: it can't block a real player by mistake. |
Lobby Guard.FloodMessagesPerSecond |
500 | How many messages a second count as a flood. |
Lobby Guard.GhostSeconds |
90 | Seconds without a character before a player counts as invisible. |
Display.ShowJoinStatus |
on | The joiner progress list in the bottom-left corner. |
Display.ShowStatus |
off | Player count and whether the lobby is open, bottom-left. |
Display.InviteButton |
on | The INVITE button in the pause menu. |
Display.MissingRoomWarning |
on | When you join someone else's game mid-level and rooms are missing, tell you on screen. |
Players.MaxPlayersEnabled / MaxPlayers |
off / 6 | Let this mod set the player limit. Off = leave it to the game or a mod like MorePlayers. |
Debug.DebugLogging |
off | Write every step to the log, for bug reports. |
Questions
Do my friends need to install anything? No. Only the host needs LateJoinPlus.
Can I use it with LateJoinNow or another late-join mod? No. Remove the other one: two late-join mods fight over the same lobby. LateJoinPlus warns you in the log if it finds one.
I had Lobby Guard or Map Sync Fix installed. They're built into LateJoinPlus now, so you can uninstall them. If they're still installed, LateJoinPlus turns them off and copies your block list over.
I joined someone else's game mid-level and some rooms have no floor or walls. That host is using a different late-join mod that didn't send those rooms, and nothing on your side can rebuild them. LateJoinPlus tells you on screen when this happens. The next level loads normally for everyone.
How do I report a bug?
Turn on Debug.DebugLogging, play until it happens, then send the BepInEx log (BepInEx/LogOutput.log) on our Discord. Everything LateJoinPlus does is in the log as [LateJoinPlus], [Lobby Guard] and [Map Sync] lines.
License
Copyright (c) 2026 RicketyWrecked. All rights reserved. You may download and play with this mod, and list it as a dependency in your own Thunderstore modpack. You may not copy, modify, decompile, reuse or re-upload any of it without written permission. See the included LICENSE file. Permission requests: Discord.
Credits
Made by RicketyWrecked. Not affiliated with the R.E.P.O developers.
Questions, bug reports, or suggestions: Discord.
CHANGELOG
Changelog
1.0.4
- Joining a game in progress (in anyone's lobby): when a player's voice wasn't ready yet as you joined, the game errored and that player could stay on the wrong audio channel, so you heard them oddly or not at all. Their voice setup now retries until it's ready (usually within half a second).
- Now installs REPO Fixes+ 1.2.9.
1.0.3
- LATE JOIN menu: only one page is open at a time, so the pages behind it can't be clicked any more, Back returns to the previous page, and one Escape closes the whole menu.
- The
[LateJoin]server-name prefix now really shows in the server list (it was lost when MorePlayers created the lobby), updates live when you change the setting or switch late join off, and is never added twice. - Every mid-level joiner gets their explored map filled in; before, players running another late-join mod (or any joiner while Map Sync was off) got none. The Map Sync switch moved from the main page into Settings, with a clearer description.
- Now installs REPO Fixes+ 1.2.8.
1.0.2
- No more false "your game isn't the owner of its Steam lobby" warning right after you start hosting (Steam was still creating the lobby). It now only warns if the lobby is still missing after a few seconds.
1.0.1
- Now installs REPO Fixes+ and Admin Menu Button Position Fix with it (multiplayer bug fixes, and an Admin Menu button with a tidy pause menu).
1.0.0
- First release. Late join for every player (with or without mods), with full catch-up, working extraction for late joiners, extraction softlock protection, map reveal and a safe spawn.
- Includes Lobby Guard (anti-cheat: fake kicks, host hijacks, delete-everything, voice takeovers, floods, block list with auto-ban) and Map Sync (explored rooms for mid-level joiners).
- LATE JOIN button in the main menu and the pause menu (in a lobby). It opens a menu with the main switches, Lobby (Everyone / Friends only / Nobody, live) and Players (kick, ban, ban + block list) for the host, the block list, and every setting.
- Lobby Guard ignores cheat-menu messages (known cheat menus, and game messages sent far faster than the game ever does, such as heal-everyone spam) without kicking or banning the player.
- Keeps every player in the host's Steam lobby so everyone can invite friends, players without mods included.
- Pause menu player list: CHEAT, late-join mod (LJ+ / LateJoin / LateJoinNow) and GameTools tags, and game version per player; the host's kick button offers Kick, Ban or Ban + Block List.
- Late joiners no longer get stuck behind the loading screen when someone joined in the truck right as a level started (a stale copy of that player's character was handed to everyone joining that level).
- A late joiner whose Steam ID arrives a moment after they spawn no longer gets a broken tumble (the body used when knocked over) for the whole level; the host waits for it before setting the tumble up. The same wait fixes their missing name tag and upgrades (map player count, tumble wings, crouch rest, tumble climb, death head battery) on everyone else's screen.
- The joiner list bottom-left (Connecting / Loading / Joined / Left) has a dark backing so it's easy to see, and Joined stays up 15 s.
- Players who join mid-level without LateJoinPlus can use their inventory slots once they've loaded in (they used to have to wait for the next level; setting
SlotsForJoinersWithoutMod, on). If their game skipped setting up its slots, the host drops the item back at their feet and keeps the rest in hand for that level. - Objects a player's game still has after the host destroyed them (leftover walkies, valuables, doors) are removed from that player's game, players without mods included. Messages sent just before the destroy reached them (e.g. exploding grenades) are no longer counted.