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
Late join with no invisible rooms, and only the host needs it. BIG UPDATE: moderators, private calls, history and notes, timed bans, a players panel on loading screens and a new LJ+ menu. Lobbies up to 20, Lobby Guard anti-cheat.
| Date uploaded | 3 weeks ago |
| Version | 1.1.2 |
| Download link | RicketyWrecked-LateJoinPlus-1.1.2.zip |
| Downloads | 458 |
| Dependency string | RicketyWrecked-LateJoinPlus-1.1.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.2305RicketyWrecked-REPO_Fixes_Antispam_Latency_Fix
Fixes the bugs that wreck modded R.E.P.O lobbies: error floods and stutter, voices going silent, 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.3.9README
LateJoinPlus
The best late join for R.E.P.O, with no invisible rooms, and now a full lobby toolkit too. Friends join any time, even mid-level, and only the host needs it.
New in 1.1.1 / 1.1.2: LateJoinPlus's on-screen panels have a new look in the game's own yellow and font, sized for your screen, and the menu pages are shorter.
★ BIG UPDATE: 1.1.0, run your lobby together ★
LateJoinPlus is now a full lobby toolkit: moderators, private calls, history and notes, and a players panel on loading screens. It all lives in one new menu, and it's still the same late join underneath. Players without mods still join and play as before.
New in 1.1.0
Moderators
- Make moderator: turn trusted friends into moderators from their player page. For each one you choose what they may do: Kick, Ban, Block, Notes, Calls, Run control and Admin Menu. Remove them any time, even while they're offline.
- Safe by design: your game carries out everything a moderator does, after checking their permission. Moderators can never remove you, another moderator, or a player you protect. Their access is a private key kept on their own computer, not in their mod profile, so sharing a profile never shares it. A fake lobby can't steal it or reuse it.
- Admin Menu for moderators (RepoAdminMenu now installs with LateJoinPlus): spawning, teleport, summon, heal, revive, upgrades, money and the rest, carried out by the host's game and kept in History. Limited to 10 actions every 10 seconds, so nobody can flood the lobby.
- Moderator pop-ups: when a moderator kicks, bans, blocks, writes a note, uses the Admin Menu or starts the run, a card shows in the middle of your screen just above your inventory slots: what happened, to whom, and by whom.
- Run control: moderators can start the run, call off the countdown, or send everyone back to the lobby.
History, notes and bans
- History: every kick, ban, block, unblock, moderator change, note, call and Lobby Guard block. Search it, filter it, export it to a text file, and share it with your moderators. Players who already left can be blocked straight from their entry.
- Notes on players by Steam ID. They're shown to you and your moderators when that player joins.
- Timed bans: this lobby only, 1 day, 7 days, 30 days, or for good. A timed block ends by itself.
- Told why: players with LateJoinPlus see why they were removed and for how long.
Private calls
- Ring players who have LateJoinPlus, or start a team call with all your moderators. Answer with Y, decline with N and leave with End (all three can be changed). Players can also ask the host for a call.
- Hear each other anywhere: across the map, through walls, even while dead. Nobody outside the call hears you, players without mods included, and talking on a call doesn't draw monsters.
- Hold Caps Lock to talk to everyone while you're on a call. The whole lobby hears you, your call still does, and you keep hearing the call. You can change the key, mouse side buttons included.
- Volumes you set live: how loud the call is, how loud the lobby outside the call is (0–100%), and your own mic boost for the call.
- Call panel in the corner of your choice: who's on the call, live mic bars for everyone (you included), who's muted or connecting, and any time limit. It steps aside while a menu is open.
- Host limits for moderators' calls: the longest a call can last, and how long they wait before the next one.
Loading screens and level changes
- Players panel on loading screens: the host and moderators see everyone in the lobby while a level loads, with the ones holding things up at the top. Each player shows where they are (results screen, loading and for how long, loaded, ready), with Kick / Ban / Block buttons (click twice). Your mouse is free while it shows.
- Slow player warning after 45 seconds (you can change this): it tells you who you're waiting for. Continue without them if they're stuck on the results screen, and a stuck level change goes on by itself after 2 minutes.
- Ghost alerts for players who still have no character a minute after joining.
Your lobby
- A brand-new LJ+ menu in the game's own style. Sections are on the left: Overview, Players, Moderators, Calls, History, Block List, Settings. The page is on the right, and a status line shows whether you're hosting, whether the lobby is open, and the player count. A microphone button opens Calls, and one Escape closes it all.
- LJ+ next to the title in the pause menu (under the game's own crown) and on the lobby screen.
- Start countdown: after you press Start, the run begins a few seconds later, so everyone can get ready. Shift-click to start at once, or click again to call it off.
- Name colours for you, your moderators or any player. Players with LateJoinPlus see them above heads, in the lobby list and in the pause menu.
- LateJoinPlus lobbies are listed first in the server list, with a gold tag.
- Big lobbies fit in the pause menu: with 18 or more players, rows close up and shrink so every name stays on screen. Names and tags (HOST, MOD, MUTED, LJ+, LJN, GT) fit on one line.
Fixes and quality of life
- Items left behind drop where their player stood when they leave, or are kicked or banned. They no longer land in the truck or jump into the host's hand.
- Inventory slots for rejoining players: when a joiner's slot isn't ready yet, the item drops at their feet instead of disappearing, and a message says why.
- Cosmetic box tokens now reach players who joined mid-level.
- Lobby Guard no longer blocks the host of a lobby you joined after a player leaves.
- Other late-join mods and moderation mods are switched off while LateJoinPlus runs, so two mods never fight over your lobby. You can uninstall them.
- Moderators, history and calls keep working while late join itself is off.
- Now installs RepoAdminMenu, REPO Fixes+ 1.3.4 and Admin Menu Button Position Fix 1.5.1.
Moderators and call members need LateJoinPlus 1.1.0 or later. Everyone else needs nothing.
What LateJoinPlus does
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
- NEW: Moderators. Trusted friends can kick, ban, block, keep notes, run the start and use the Admin Menu, each with only the permissions you give them.
- NEW: Private calls. Ring players or your whole mod team, hear each other anywhere on the map, and hold Caps Lock to talk to everyone.
- NEW: History and notes. Every kick, ban, block and note, searchable and shared with your moderators.
- NEW: Players panel on loading screens. See who's holding up a level change and remove them, with a warning after 45 seconds.
- NEW: The LJ+ menu. Everything in one place, next to the title in the pause menu and on the lobby screen, plus a start countdown and name colours.
- 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.
- Bigger lobbies, up to 20 players. No MorePlayers needed: set the number in the LJ+ menu (10 by default). Players who join don't need any mods.
- Upgrades carry over. Players who leave and rejoin the run get their upgrades back straight away, not at the next 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. It also stops other players' mods from flooding your log with errors.
- Kick, ban and block list. Remove players with Kick, Ban (NEW: for as long as you choose) or Block, from the pause menu, the LJ+ menu or the loading-screen panel.
Getting started
- Install LateJoinPlus with r2modman or the Thunderstore app. It installs everything it needs with it: MenuLib, RepoAdminMenu (the Admin Menu, which your moderators can use too), 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, up to 10 by default (change it in LJ+ → Overview → Max Players, up to 20). 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
[LateJoinPlus]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 LJ+ in the pause menu or on the lobby screen. For example, set Who Can Join to Friends only so your friends can get in before strangers do, or Nobody to close it. To add a moderator, open Players, pick a friend who has LateJoinPlus, and press Make moderator.
Who needs it
| Player | Needs LateJoinPlus? |
|---|---|
| Host | Yes. It runs late join, catches joiners up, and has the moderation tools. |
| Players joining | No. Players without any mods join and play normally. |
| Moderators, and players you call | Yes, 1.1.0 or later. |
| 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, their game version in the host's player list, name colours, the start countdown, and being told why they were removed.
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;
- everyone's upgrades, including their own if they were in the run before;
- extraction points: open ones show as open, finished ones as finished;
- voice: they can hear everyone, and everyone can hear them;
- the explored map;
- Birthday Boy's balloons, and the map's guide line to the extraction.
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 LJ+ menu
Open it with LATE JOIN in the main menu (just above Quit), or with LJ+ next to the title in the pause menu and on the lobby screen (host and moderators). Sections on the left, the page on the right:
- Overview: Who Can Join (Everyone, Friends only, Nobody) and Max Players, applied live; the run (start countdown, back to the lobby, continue a stuck level change); invite and start.
- Players: every player with their Steam profile, role, late-join mod, GameTools, game version, volume, notes and name colour, plus Kick, Ban (for how long), Block, Make moderator and Protect. Each one asks first.
- Moderators: your moderators, online or not, and what each one may do.
- Calls: your call (who's on it, time left, volumes, Leave), and who you can ring. Everything you set once is under Call settings.
- History: everything that happened in your lobbies, searchable, with export.
- Block List: everyone you've blocked, and for how long. Add a Steam ID or unblock someone.
- Settings: every setting, grouped by section.
Pause menu player list: each name shows short tags: HOST / MOD, MUTED (their game's mute is on), CHEAT (caught cheating), their late-join mod (LJ+, LJN, LR, LJ), GT for GameTools, and their game version if it's different from yours. As host (or a moderator who may remove players), the Kick button there opens the Kick / Ban / Block choice. The game's own "kick" is really a ban, so now you 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. |
| Messages for mods you don't have (another player's mods) | Let through once, then ignored quietly instead of an error in your log every time. |
| Fake revives (only the host can revive; other mods like GameTools sometimes spam them) | Dropped before any mod reacts, so they can't lag your game. Not treated as cheating. |
| 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 LJ+ → Settings (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 slot doesn't work, the item drops at their feet instead of disappearing. |
Late Join.OtherLateJoinMods |
on | Switch off other late-join mods (LateJoinNow, LateRepo, LateJoin…) so only LateJoinPlus handles joining. |
Map Sync.Enabled |
on | For players who have LateJoinPlus: send them the exact explored rooms when they join mid-level (and receive them when you join). |
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. |
Lobby.StartCountdownSeconds |
5 | Seconds between pressing Start and the run starting (0 = none, up to 5 minutes). Shift-click Start to begin at once. |
Lobby.WarnSlowPlayersSeconds |
45 | On a loading screen, how long before you're told who you're waiting for. |
Lobby.ContinueStuckLevelChangeSeconds |
120 | When a player's game stops answering at a level change, go on without them after this long. |
Lobby.ShowNameColors |
on | Show the name colours the host picked. |
Lobby.HighlightLateJoinPlusLobbies |
on | List LateJoinPlus lobbies first in the server list, with the tag in gold. |
Calls.AnswerKey / DeclineKey / LeaveKey |
Y / N / End | Keys for answering, declining and leaving a call. |
Calls.TalkToEveryoneHoldKey |
Caps Lock | Hold on a call to talk to the whole lobby too. None = off. |
Calls.CallVolumePercent |
100 | How loud the others on your call are (20–300%). |
Calls.OutsideCallVolume |
0 | While on a call, how loud players outside it are (0–100%). |
Calls.CallMicBoost |
100 | How loud you are for your call (50–200%). |
Calls.ShowCallPanel / CallPanelCorner |
on / Top Right | The call panel and which corner it sits in. |
Calls.RingSound |
on | A short sound when someone rings you. |
Calls.AllowCallRequests |
on | Let players ask you (the host) for a 1-on-1 call. |
Calls.MaxCallMinutes / MinutesBetweenCalls |
0 / 0 | Host limits on calls moderators start (0 = no limit). |
Display.ShowJoinStatus |
on | The joiner progress list in the bottom-left corner. |
Display.LoadingScreenPlayers |
on | The players panel on loading screens (host and moderators). |
Display.ShowModeratorActions |
on | Pop-ups above your inventory slots when a moderator acts. |
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 |
on / 10 | Bigger lobbies (2 to 20 players). While on, it takes over from MorePlayers and RoboUnion's player limit. Off = the game's own limit (6). A full lobby disappears from the server list, and you're told when this setting is what keeps it full. |
Debug.DebugLogging |
off | Write every step to the log, for bug reports. |
While late join is on, your server name in the server list always starts with [LateJoinPlus], so players know they can join mid-run.
Questions
Do my friends need to install anything? No. Only the host needs LateJoinPlus. Moderators and players you want to call need it too (1.1.0 or later).
How do I make someone a moderator? They need LateJoinPlus 1.1.0 or later. While hosting, open LJ+ → Players, pick them and press Make moderator, then choose what they may do. Their access comes back with them in every lobby you host, and you can remove it any time, even while they're offline.
Can a moderator kick me or take over my lobby? No. Your game checks every action against the permissions you gave them. Moderators can't remove you, another moderator, or anyone you protect.
Can I remove someone during a loading screen?
Yes. On loading screens the host (and moderators who may remove players) get a players panel, and your mouse is free. It shows everyone in the lobby, the ones holding things up first, with where they are and Kick / Ban / Block buttons (click twice). After Lobby.WarnSlowPlayersSeconds (45 s) you're told who's holding things up. Someone stuck on their results screen can be left behind with Continue without them. Turn the panel off with Display.LoadingScreenPlayers.
Can people outside my call hear me? No, unless you hold the talk-to-everyone key (Caps Lock by default). Then the whole lobby hears you as normal, and your call still does.
Do I still need MorePlayers? No. LateJoinPlus does bigger lobbies itself (Max Players in the LJ+ menu). If MorePlayers is still installed, LateJoinPlus switches it off and takes over the limit; you can uninstall it. RoboUnion keeps its other features, but LateJoinPlus sets the player limit.
Can I use it with LateJoinNow or another late-join mod?
You don't need to. Two late-join mods fight over the same lobby, so when LateJoinPlus finds LateJoinNow, LateRepo, LateJoin or another late-join mod installed too, it switches that one off and handles joining by itself. You can uninstall the other one. (To leave it running anyway, set OtherLateJoinMods to false. That's not recommended.)
I have another moderation mod installed. LateJoinPlus switches it off completely while it runs, so the two never fight over kicks, bans, calls or the countdown. You can uninstall it.
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.
Support
All my mods are free and always will be. If they made your lobby better, a tip helps me keep testing, fixing and adding new features. Thank you! 💛
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.
Special thanks to Mama_Panda0729 💛, our tester for the 1.1.0 update. She spent lobby after lobby trying every new feature, finding the bugs and sharing ideas. Moderators, calls and the loading-screen panel are what they are thanks to her.
Questions, bug reports, or suggestions: Discord.
CHANGELOG
Changelog
1.2.1
- Long help lines in the LJ+ menu wrap again. With MenuLib 2.6.0 they ran off the right edge of the panel and got cut off.
- Bug reports now include stack traces for game and mod errors, so I can see where an error came from. As before, you see everything in the preview before you choose to send it.
1.2.0
- BETA for R.E.P.O v0.5.0: expect some errors while everything settles. Please report problems from the LJ+ menu (F6) > Overview > Problems? > Send a bug report, so I get the logs to fix them.
- Works on R.E.P.O v0.5.0 (The Sunstone Update, Unity 6). Lobby handling, voice, late join and menus are updated for the new game. Needs MenuLib 2.6.0 and REPO Fixes+ 1.3.9, which install with it.
- Late join on v0.5.0: the new Mega rooms stay connected for late joiners, and they see these as they really are: broken floors, the Sunstone bird cage, the energy crystal, the golf cart and the horse on wheels.
- New: the Admin panel. A pop-up (F8, or the ADMIN button in the pause menu) with Home, Lobby, Players, Upgrades, Spawn, Run and World pages. It replaces RepoAdminMenu, so LateJoinPlus no longer installs it or Admin Menu Button Position Fix. The pages:
- players: heal, revive, teleport, bring, send to the truck, knock over, crown, kill, kick, ban and block;
- upgrades: sliders that show each player's real levels, or set them all at once;
- spawning: every item, valuable and enemy (other mods' marked MOD), with type-to-find, favourites and spawning at any player;
- the run: money, the level number, extraction, the shop and any level;
- powers: God mode, endless stamina, enemies ignore them, no tumbling;
- world switches: enemies can't see or hear, one-hit enemies, a friendly duck, valuables don't break, no traps, endless batteries, free shopping. Everything runs on the host's game and works on players without mods; God mode and endless stamina need LateJoinPlus 1.2 on that player's game.
- Moderators with the Admin permission get the same panel. The host's game checks and carries out every action and adds it to History: never on the host or other moderators, at most 10 actions every 10 seconds, at most 5 spawns at once (Admin > Moderator Spawn Max), and level changes only if the host allows it (Admin > Moderators May Change Level).
- New: 简体中文 and 繁體中文. Chinese text uses the Chinese font Windows already has, since R.E.P.O's fonts have none.
- New: Truck & extract (Lobby Guard > Only Staff Start): only the host and chosen moderators can start the truck, use the shop checkout and press BigFriendlyButton's extraction button. Opening extraction points stays open to everyone.
- New: Lock GameTools (Lobby Guard): switch off other players' GameTools in your lobby, if you don't have it yourself.
- New: Truck heal backup (Late Join): the host heals players whose own game skipped the truck's end-of-level heal (seen with GameTools).
- Moderators with Run control can press START in the lobby.
- The Discord link is for bug reports only.
- Big lobbies fit on the lobby screen. Up to 6 players the lobby list looks just like the game's; from 7 players it goes into columns (as many as gives the biggest rows), each row keeping the game's look and proportions (ping on the left, name and head on the right) on screen and above the CUSTOMIZE and START GAME buttons. Quiet players' names are a little brighter in columns because the text is smaller (talking and dead players keep their usual difference), it works in every language, and it only changes your own screen (players without the mod see their normal list).
- ShowMoreLobbyPlayers is switched off while LateJoinPlus runs so the two don't fight over the same rows. You can uninstall it.
- New: send a bug report from the game (LJ+ > Overview > Problems? > Send a bug report). Pick what went wrong, optionally describe it (up to 500 characters; links are removed), preview everything that will be sent, and press Send to get a link to the report:
- goes to a public GitHub page (RicketyWrecked-reports) where anyone can read it;
- included: LateJoinPlus and game versions, host or client, level, number of players, language, your mod list, LateJoinPlus's settings (on/off switches and numbers only), and LateJoinPlus's log lines and errors from that session;
- never included: chat, other players' names or Steam IDs (they become "Player 2", "Player 3"…), your own name unless you tick "Include my name", your block list, history or notes, voice, or any other file;
- nothing is sent by itself or until you press Send (one report every 5 minutes); if LateJoinPlus hits an error it suggests sending a report once per session (Bug reports > Offer After Error), bug reports can be switched off (Bug reports > Enabled), and Discord stays the place for questions.
- Menu rows that don't fit (very long names or translations) now end in "…" instead of running off the panel, with the full text on the row's own page. The game's lobby screen and main menu were also checked in every language with LateJoinPlus's parts on them.
- Fixed: moderators sometimes not recognised, or not able to be made moderator again. Lobbies you host now always publish players' IDs while LateJoinPlus moderation is on (moderators need them, even with Lobby Guard or Reveal Steam IDs switched off), and your game asks again by itself when a moderator's answer is late or their Steam ID isn't known yet. If it's still checking, Make moderator says so instead of claiming they need a newer LateJoinPlus.
- Fixed: players with SharePermissions installed couldn't be made moderators. Their game never answered the host's moderator check, even with SharePermissions switched off by LateJoinPlus. LateJoinPlus now keeps its moderator messages working next to it and asks those players to uninstall SharePermissions; as host, you're told when that's the likely reason.
- Fixed: players falling from the sky forever. The game sends a revived player to their death head, which waits far above the level while they're alive, and it doesn't check. When something revived living players, they fell forever. As host, LateJoinPlus now refuses any revive of a player who isn't dead with a dropped head (players without mods are protected too); real revives (truck, extraction, revive items, the Admin page) work as before.
1.1.6
- New screenshots on this page: the loading-screen players panel with its VOLUME column, the menus as they look now, and LateJoinPlus in other languages. No changes to how the mod works.
- Needs R.E.P.O Fixes+ 1.3.8 (one more harmless error quieted when joining a lobby).
1.1.5
- Fixed: calls where the other person couldn't hear you, and nobody hearing you after a call. Joining or leaving a call switched your voice to another channel in the middle of its stream. Other players' games then missed part of your voice, and some stopped playing it altogether: the person on the call couldn't hear you, and after the call the lobby couldn't either, until you picked your microphone again. Now your voice stream restarts at each switch (starting or leaving a call, or holding the talk-to-everyone key), just like picking the microphone again does, so everyone's game starts it fresh. Works for listeners without mods.
- If your microphone wasn't ready the moment a call ended, it could stay on the call's channel. It now keeps trying until it's back.
- Fixed: losing your moderator status after switching mod profiles. Your moderator keys, moderator list, notes, protected players and name colours were saved separately for each r2modman/Thunderstore profile. A host gives you one key at a time, so being made moderator again in one profile made the key saved in the other stop working. They're now kept in one place for every profile (
%LOCALAPPDATA%\LateJoinPlus\Shared), still outside the profile so sharing a profile never shares them, and untouched by updates. Your existing files from every profile are merged in once on the first start. - Outside Call Volume now defaults to 15% (it was 0%), so you still hear the lobby quietly while you're on a call. If yours was still on 0%, it moves to 15% once; change it any time in LJ+ > Calls.
- Fixed: pressing the menu key (F6) logged two harmless errors each time (
NullReferenceExceptioninMenuButton.RegisterHover). The menus now open at the same point in the frame as a click does, so the game's menu loop never sees half-made buttons.
1.1.4
- LateJoinPlus in your language: every language R.E.P.O has. The LJ+ menu, moderator pop-ups, the call panel, the loading-screen players panel and on-screen messages follow the language you picked in the game's settings: English, Dansk, Suomi, Svenska, Português (Brasil) or Português (Portugal). Or pick one yourself at the top of LJ+ > Settings. Messages sent to the lobby stay in English, and other players' English messages are shown in your language. Fix or add lines yourself in
BepInEx/config/LateJoinPlus-lang/(see the files' notes). - New: open the LJ+ menu with a key (F6 by default; change it at the top of LJ+ > Settings, next to Language). In a level it opens the pause menu with LJ+ on top; press it again to close. A small "LJ+ [F6]" bottom-left reminds you of the key (it follows your setting; turn it off with Display > Show Menu Key Hint).
- New: "Invites only" under Who Can Join (host): only players you invite can get in, friends included, and the lobby is hidden from the server list. Works for players without mods. Steam's friends list has no invite option for such a lobby, so invite from the game: the INVITE button, or the new Invite a friend page (LJ+ > Overview) that lists your online Steam friends, those playing R.E.P.O first; one click sends the invite.
- Long setting hints shrink to fit instead of scrolling, and long rows (names, history) stay inside the panel.
- A moderator with every permission but the Admin Menu now shows as "all but the Admin Menu" instead of a long list.
1.1.3
- Volume on the loading screen. The players panel on loading screens has a VOLUME column, like the slider next to each name in the pause menu (it is the same setting):
<and>change a player's volume by 25%, and clicking the bar sets it there (0–200%);- while someone talks, a green dot lights up next to their bar, the bar's outline turns green, and a bright fill shows how loud they are.
- it keeps working for the whole loading screen (it used to stop once the level's characters were removed), and so do the call panel's voice meters.
- Moderator pop-ups only for what's happening now. Joining a lobby as a moderator showed a pop-up for each of the host's recent History entries at once (old kicks, blocks and promotions). Now only new actions pop up.
- On loading screens, moderator pop-ups sit to the right of the players panel instead of covering it.
- Fixed: on a call, nobody could hear each other on the results and loading screens. Between levels the game puts every voice on its lobby channel and fades the level's sound out; LateJoinPlus kept moving call voices back to the level's channel, which made them silent until the next level started. Now call voices follow the game's channel there.
- Fixed: a doubled inventory slot with slot mods. Joining a level in progress with a mod that adds slots (like ExtraSlots) could show the extra slots twice (1 2 3 4 5 5). LateJoinPlus registered your slots before the game did, so the slot mod added its slots twice. It now waits for the game first and only fills in slots that are still missing.
1.1.2
- Same as 1.1.1, re-uploaded as a normal build so it shows on Thunderstore again.
1.1.1
- A new look for LateJoinPlus's on-screen panels: the moderator pop-ups, the call panel, the incoming call card, the start countdown and the loading-screen players panel.
- They use the game's yellow and its own menu font, with glowing titles and rounded panels.
- Keys show as key caps, such as
[Y] Answer,[CAPS] hold: everyoneand[END] leave. - They're sized for your screen. Before, they stayed 1080p-sized and looked small at 1440p and 4K.
- The call panel widens to fit its keys, so nothing is cut off at the right edge any more.
- Shorter menu pages, with less scrolling.
- Each setting has one short line; the full descriptions stay in the config file.
- History and the Block List show a page at a time ("Page 1 of 4").
- History now goes back further than the last 80 entries.
- Now installs REPO Fixes+ 1.3.5 and Admin Menu Button Position Fix 1.5.2 (page updates only).
1.1.0: BIG UPDATE
LateJoinPlus becomes a full lobby toolkit: moderators, private calls, history and notes, a players panel on loading screens, and a brand-new menu. Late join works as before, and players without mods still need nothing. Moderators and players on calls need LateJoinPlus 1.1.0 or later.
Moderators
-
Make moderator. As the host, open a player in LJ+ > Players and press Make moderator. You choose what each one may do: Kick, Ban, Block, Notes, Calls, Run control and Admin Menu. You can remove them any time, also while they're offline. The host carries out everything a moderator does, after checking their permission. Moderators can never remove the host, another moderator, or a player you protect.
-
Moderator access is a private key kept on the moderator's own computer (not in the mod profile, so sharing a profile never shares it). When they come back, the host checks it with a one-time code, so a lobby pretending to be you can't steal or reuse it.
-
Protect from moderators: a player you protect can't be kicked or banned by moderators (you still can).
-
Admin Menu for moderators. RepoAdminMenu now installs with LateJoinPlus. Give a moderator the Admin Menu permission and they can open it. Your game carries out everything they do in it, as them, after checking the permission:
- items, valuables and enemies spawn in front of them;
- Teleport To moves them, and Summon brings players to them;
- heal, kill, revive, crown, back to the truck, upgrades, map changes and toggles, extraction points, money and its options all work.
Its kick and ban follow the moderator rules. Every action goes in History. It's limited to 10 actions every 10 seconds, and dragging the money slider sends one change instead of one per step. New moderators don't get this permission until you switch it on.
-
Run control: moderators can start the run, call off the countdown, or send everyone back to the lobby mid-run. The host carries it out and it goes in History.
-
Pop-ups for moderator actions (
ShowModeratorActions, on). A card shows for 8 seconds in the middle of the screen, just above your inventory slots: what happened, to whom, and by whom. It covers kicks, bans, blocks, unblocks, notes, the Admin Menu, run control, and moderator or protection changes. The host sees what moderators do; moderators also see the host's actions and each other's. Admin Menu money shows as a proper amount ($12K), and other mods' money changes (such as casino payouts) no longer show up as moderator actions. -
Moderators also get the pause menu's Kick button for players they may remove.
History, notes and bans
- History: every kick, ban, block, unblock, moderator change, note, call and Lobby Guard block. It's searchable and filterable, kept across sessions, shared with your moderators and can be exported to a text file. Someone who already left can be blocked from their History entry.
- Notes on players, by Steam ID. They're shared with moderators who have Notes, and shown to you and them when that player joins.
- Ban for as long as you choose: this lobby, 1 day, 7 days, 30 days or for good. Anything longer than this lobby also puts them on your Block List for that long, and a timed block ends by itself.
- Players with LateJoinPlus are told why they were removed: kicked, banned, or banned for how long, and whether a moderator did it.
- The block list a moderator sees is the host's own, and it's asked for at most once every 30 seconds (it used to reload over and over).
Private calls
-
Ring players who have LateJoinPlus 1.1.0+ from LJ+ > Calls. The host can do this, and so can moderators with the Calls permission. Players answer with Y or decline with N within 30 seconds, and End leaves a call (all three keys can be changed). The host can also start a team call with every moderator present, bring more people in, take someone off, or end the call.
-
Ask the host for a call: a player with LateJoinPlus presses LJ+ and asks for a 1-on-1 (host setting
AllowCallRequests, on). -
On a call you hear each other anywhere on the map, through walls and even when dead. Nobody outside the call hears you, players without mods included. Your character's mouth doesn't move for them, and talking on a call doesn't draw monsters.
-
Hold Caps Lock to talk to everyone while on a call (
TalkToEveryoneHoldKey; rebind it in Calls > Call settings > Keys, mouse side buttons included). The lobby hears you as normal, your call still does, and you keep hearing the call; let go to go back to the call only. While you hold it, your mouth moves for everyone and talking can draw monsters like normal. It works even with the game's Push to Talk on, and the game's mute still wins. A key the game briefly reads as let go while you hold it (Caps Lock does this) no longer chops your voice. -
Volumes:
OutsideCallVolume(0–100%): how loud players outside the call are while you're on one.CallVolumePercent(20–300%): how loud your call is. An old CallVolume value carries over.CallMicBoost(50–200%): how loud you are for your call.
Both listening volumes can be changed during a call at the top of the Calls page.
-
Call panel in any corner (
CallPanelCorner, top right by default, below the game's HUD). It shows who's on the call, a live level meter for each person (your own too), who's muted or still connecting, and any time limit. It shows TALKING TO EVERYONE while you hold the key, and steps aside while the LJ+ menu or the pause menu is open. A card at the top shows who's ringing you, with a short ring sound (RingSound). -
A tidy Calls page: just your call (who, time left, Leave, the two volumes), the host request button and who you can ring. Everything you set once (volumes, mic boost, the panel, the keys, the host's call limits, how calls work) is under Call settings.
-
Host limits for calls a moderator starts: a longest length and a wait before their next one. Calls go in History; a call you were on isn't shared with your moderators.
-
Works alongside other mods' private voice calls: Lobby Guard's voice blocks only apply to the game's own voice chat now.
Loading screens and level changes
-
Players panel on loading screens (
LoadingScreenPlayers, on). No menu opens on a loading screen, yet that's where a level change waits: first for everyone's results screen, then for everyone to load the new level. One slow player holds up the whole lobby. The host and moderators who may remove players now get a panel sized to your screen:- everyone in the lobby, the ones holding things up first;
- where each one is: results screen, loading (and for how long), loaded or ready;
- a ready / loading / results count;
- Kick / Ban / Block (click twice).
Your mouse is freed while it shows.
-
Warn Slow Players Seconds (LJ+ > Settings > Lobby, 45 s). After this long, you're told who you're waiting for:
- a player still on their results screen can be left behind with Continue without them (in the panel or LJ+ > Overview);
- a player still loading the level can be kicked from the panel so the level can start. Going on without them isn't offered, because their game would miss the level's setup and have missing rooms.
-
Stuck level changes: after
ContinueStuckLevelChangeSeconds(120), the level goes on without a player whose game stopped answering. A player still watching their results screen counts as not done yet, so the wait is generous. -
Ghosts: the host and moderators who may remove players are told when someone has had no character for a minute, and the Players list marks them.
The menu and your lobby
- A new LJ+ menu: two panels like the game's own settings (sections on the left, the page on the right), a status line, colour-coded roles and history, a microphone button for Calls (red on a call, green while someone rings you), and one Escape to close it all.
- LJ+ beside the title on the lobby screen and in the pause menu, under the game's own crown, for the host and moderators. A player whose host takes call requests gets LJ+ too, opening only the Calls page. The main menu keeps LATE JOIN.
- Start countdown: after you confirm Start, the run begins a few seconds later (
StartCountdownSeconds, 5 by default, up to 5 minutes; 0 = none). Players with LateJoinPlus see a RUN STARTS IN card. Shift-click Start to begin at once, or click Start again to call it off. The host also has Back to the lobby, and Start then picks up where the run left off. - Name colours for yourself, your moderators and any single player. Players with LateJoinPlus see them above each player, in the lobby list and in the pause menu.
- LateJoinPlus lobbies first in the public server list, with the [LateJoinPlus] tag in gold.
- Volume on a player's page: the same setting as the slider next to their name in the pause menu.
- Big lobbies fit in the pause menu's player list. With 18 or more players, the top names used to run off the screen. Rows now close up when a player leaves, and when there are too many they're spaced closer and shrunk, so every name stays on screen.
- Names and tags fit on one line in the pause menu and the lobby list. The tags are shorter: HOST, MOD, MUTED, LJ+, LJN (LateJoinNow), LR, LJ, GT (GameTools).
- The info lines bottom-left (Players / Room / Name) no longer get cut off by a long server name.
- Settings with a list of choices show readable names ("Bottom Right").
- Moderators, history and calls keep working while late join itself is switched off.
Other mods
- Another late-join mod installed too is switched off (
OtherLateJoinMods, on). LateJoinNow, LateRepo, LateJoin and the like used to run next to LateJoinPlus, both catching joiners up and opening the lobby. Now only LateJoinPlus does it. You can uninstall the other mod. - Another moderation mod installed too doesn't run at all while LateJoinPlus does. Its patches, objects (its own voice connection included), network listeners, event hooks and menu buttons are all switched off, and the player tags it put on you are cleared. LateJoinPlus alone handles moderators, kicks and bans, the block list, notes, history, calls, the start countdown, name colours and the server list order. You can uninstall the other mod.
Fixes
- Items left behind drop where their player stood. When a player leaves (or is kicked or banned) with items in their inventory slots, the items drop where they last stood instead of in the truck. They no longer jump into the host's hand (the game pulled them there).
- Inventory slots for joiners without the mod: when a slot isn't ready yet, the item drops at their feet, and the message says why.
- Fixed: Lobby Guard blocking the host of a lobby you joined. When a player left, their character could be handed to the host, so the host looked like they were faking their identity. Characters are now matched by the player who made them, and in someone else's lobby Lobby Guard never blocks the host; it only warns.
- Fixed: players who joined mid-level (or rejoined) didn't get their cosmetic box tokens. The results screen now checks again once the level is known. The game's own rule stays: someone who joined right before the level ended gets no tokens for it, and is no longer thrown out of the lobby for it.
- Now installs RepoAdminMenu 1.0.16 (the Admin Menu, also for your moderators), REPO Fixes+ 1.3.4 and Admin Menu Button Position Fix 1.5.1.
Thank you
- A huge thank-you to Mama_Panda0729, who tested this whole update with us, lobby after lobby: moderators, calls, pop-ups and loading screens. Every bug she caught and every idea she shared made 1.1.0 better. 💛
1.0.9
- The map's guide line to the extraction works for late joiners. The game builds each player's walkable area once while their level loads, and for someone joining mid-level that happened before the rooms were connected, so doorways counted as walls and the line led to dead ends. It's now rebuilt once the rooms are connected: the host asks joiners without the mod (or with an older LateJoinPlus) to rebuild it, and LateJoinPlus 1.0.9 joiners do it themselves, also in lobbies whose host doesn't have the mod.
- The LATE JOIN button in the escape menu is host-only, like the admin menu. Its settings are the host's; everyone still has it in the main menu.
- Birthday Boy balloons for late joiners. Balloons placed before someone joined mid-level were never sent to them, so they couldn't see them (and could walk into them). The host now sends every balloon to a late joiner, where it is at that moment. Works for joiners without the mod.
- Joining a level with Birthday Boy no longer throws an error each time the host pops a balloon you never had (7 in one level), and a balloon the host sends again replaces yours instead of leaving a second copy.
- Joining while the truck screen was mid-conversation no longer throws an error when the next line arrives.
1.0.8
- New screenshots on the mod page, sized to show in the mod manager: the main LATE JOIN page, Lobby / Players / Block List, and the grouped settings. No changes to how the mod works.
1.0.7
- Bigger lobbies built in, no MorePlayers needed. Max Players is now on by default at 10 (up to 20, in the LATE JOIN menu). Players who join need no mods.
- If you already had LateJoinPlus with Max Players off, it's switched on once when you update, using MorePlayers' number if you had MorePlayers set up (otherwise 10), so your lobbies don't drop back to 6 players now that the modpack no longer includes MorePlayers. If Max Players was already on, your number is kept. The lowest setting is now 2.
- Takes over from MorePlayers and RoboUnion. If MorePlayers is installed, its patches are switched off and LateJoinPlus sets the limit instead (MorePlayers also made every Steam lobby public, even for friends-only games, and added "[Modded]" to the server name). RoboUnion keeps its other features, but LateJoinPlus's limit is used. The two used to overwrite each other on every level, so lobbies could look full or closed when they weren't.
- A full lobby disappears from the server list and refuses new players: the host now gets a message when Max Players is what keeps it full. Switching Max Players on starts from the limit already in use, and switching it off gives the game's limit back straight away.
- Number settings in the LATE JOIN menu no longer wrap around: ">" at 20 used to jump to 2, and every click was applied straight away, so a full 13-player lobby was briefly capped at 2, 3, 4… While hosting, a new Max Players value is now applied 1.5 seconds after you stop clicking.
- Lobby Guard: messages for mods your game doesn't have (like "PlumberWho" or "ReceiveAudioChunk" from another player's mods) are let through once and then ignored quietly. The game can't run them and wrote a full error for every one (over 1,400 in one session).
- The LATE JOIN menu's heading is short enough to fit ("Hosting: open", "Hosting: friends only" and so on). The old "Hosting - lobby open to everyone" was cut off.
- At the maximum of 20, the "lobby full" message no longer tells you to raise Max Players.
- Now installs REPO Fixes+ 1.3.3.
1.0.6
- Lobby Guard: revive messages from anyone but the host are dropped before anything sees them. The game ignores them anyway, but other mods still reacted: one player's own GameTools sent about 80 a second for 6 minutes, and BetterMap Fixer added a map icon for each one, which lagged the host until the level ended. It's logged once per player, not treated as cheating.
- Now installs REPO Fixes+ 1.3.1.
- New look for the LateJoinPlus banner in the BepInEx console: a framed logo with the version and a tagline. It's narrower too, so it no longer breaks onto extra lines next to the timestamps.
1.0.5
- Players who leave and rejoin the run get their upgrades back straight away. The game's upgrade sync left out anyone whose character hadn't loaded yet, which is always the joiner, so a rejoiner played the rest of the level without their upgrades. Works for players without mods too.
- The LATE JOIN menu's first page now has Who Can Join (host) and Max Players, so you don't have to open other pages for them. Max Players is no longer a separate Settings page.
- Your server name always shows
[LateJoinPlus]while late join is on. TheRoomNamePrefixsetting is removed, and an old[LateJoin]tag in your saved server name is replaced. - The Who Can Join note is shorter, so it fits on its line.
- A "LateJoinPlus Loaded" banner in the BepInEx console when the mod loads.
- Now installs REPO Fixes+ 1.3.0 (which fixes a player's voice going silent for you alone).
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.








