
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.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.