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
BETA for game build v0.5.0. Late join with no invisible rooms, and only the host needs it. New: the Admin panel (F8), with spawning, healing, upgrades, God mode and world switches. Moderators, private calls, 8 languages. Lobbies up to 20.
| Date uploaded | 2 weeks ago |
| Version | 1.2.0 |
| Download link | RicketyWrecked-LateJoinPlus-1.2.0.zip |
| Downloads | 2507 |
| Dependency string | RicketyWrecked-LateJoinPlus-1.2.0 |
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
Late join for R.E.P.O without the invisible rooms, plus a full set of tools for running your lobby. Friends can hop in whenever they want, even mid-level, and only the host needs the mod installed.
BETA for R.E.P.O v0.5.0. The game's big Sunstone update, and its move to Unity 6, changed a lot under the hood. This version runs on it, but expect some errors while everything settles. If something goes wrong, please open the LJ+ menu (F6) > Overview > Problems? > Send a bug report. It shows you exactly what will be sent before anything goes out, and it gets me the logs I need to fix it. LateJoinPlus's menus and the Admin panel need a mouse and keyboard for now; the game's new controller support doesn't reach them yet.
New in 1.2.0: the Admin panel. Hit F8 to bring up a panel with everything you need to run a lobby: heal, revive, teleport, spawn anything, change upgrades, money or levels, toggle God mode, and flip world switches like no traps or endless batteries. It's built right into LateJoinPlus, works on players who don't have mods, and your moderators can use it too. Also added in 1.2.0: 简体中文 and 繁體中文.
New in 1.2.0: the Admin panel

You can open it with F8 or the ADMIN button in the pause menu. It pops up in the middle of your screen with tabs down the left side, sized so you never have to scroll.
- Home puts the stuff you use most on one page: your own God mode, Endless stamina, Enemies ignore them and No tumbling, buttons to heal or revive everyone, bring everyone to you or send them to the truck, money and extraction controls, quick spawn, and all the world switches.
- Spawn has every item, valuable and enemy in the game, including ones from other mods (marked MOD). Just start typing to filter the list and press Enter to spawn. If you star your favourites, they stay pinned to the top and show up on Home. You can spawn 1 to 10 at a time, either in front of you or on any player.
- Players shows everyone's health at a glance. Click a player to heal or revive them, teleport to them, bring them to you, send them to the truck, knock them over, hand them the crown, kill, kick, ban or block them, or toggle their powers.
- Upgrades gives you sliders showing what each player actually has, or lets you set them all at once. This works on unmodded players too.
- Run lets you edit money or the current level number, open or finish an extraction, or jump straight to the shop or another level.
- World has toggles so enemies can't see or hear, enemies die in one hit, the duck stays friendly, valuables don't break, traps turn off, batteries and ammo never run out, and the shop is free.
- Lobby is the same player list you get on loading screens, showing how everyone is doing, their volume, and kick, ban or block buttons.
- Anything you can't undo asks you to confirm once (SURE?). While the panel is open, your mouse cursor is free and the game ignores movement keys, though push-to-talk still works.





If you give a moderator the Admin permission, they get the same panel. Your game runs whatever they click and writes it down in History. They can't target you or other moderators, they're capped at 10 actions every 10 seconds, and they can spawn at most 5 things at a time (Admin → Moderator Spawn Max). If you don't want them changing levels, you can turn that off under Admin → Moderators May Change Level.
Because all of this runs on the host's game, players without mods still get healed, moved and upgraded, and they see everything you spawn. Only God mode and Endless stamina require LateJoinPlus 1.2 on that player's own PC.
You don't need RepoAdminMenu or Admin Menu Button Position Fix anymore, so feel free to uninstall both. If RepoAdminMenu is still installed and using the same key, LateJoinPlus will let you know.
Also new in 1.2.0
- Added Simplified and Traditional Chinese (简体中文 and 繁體中文). R.E.P.O's default fonts don't have Chinese characters, so LateJoinPlus pulls in the Chinese font Windows already has installed. If your Windows is set to Chinese, it picks this automatically.
- Added a Truck & extract option (Lobby Guard → Only Staff Start) so only you and the moderators you choose can start the truck, use the shop checkout, or hit BigFriendlyButton's extraction button if you use it. It's off by default, and anyone can still open extraction points.
- Added Lock GameTools under Lobby Guard, which turns off other players' GameTools in your lobby as long as you aren't using GameTools yourself.
- Added a truck heal backup. Some players' games skip the end-of-level heal in the truck (we've seen it with GameTools), so your game now heals them a few seconds later.
- Moderators with Run control can now press START in the lobby.
- Big lobbies now fit on the lobby screen. Up to 6 players the list looks just like the game's; from 7 players it goes into columns (as many as gives the biggest rows), keeping each row's look and proportions (ping on the left, name and head on the right) on screen above the CUSTOMIZE and START GAME buttons. Quiet players' names are a little brighter in columns because the text is smaller, while talking and dead players keep their usual difference. It works in every language and only changes your own screen (players without the mod see their normal list).
- Added Send a bug report under LJ+ → Overview → Problems?. Pick what went wrong, optionally describe it (up to 500 characters; links are removed), preview everything that will be sent, and press Send to post it to a public GitHub page (
RicketyWrecked-reports) and get a link. Nothing is sent by itself or until you press Send (one report every 5 minutes; if LateJoinPlus hits an error it suggests sending one once per session under Bug reports → Offer After Error, and you can switch bug reports off under Bug reports → Enabled). - 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.
1.1.5: calls fixed, moderator access kept
- Fixed a bug where the other person on a call couldn't hear you, and another where the lobby couldn't hear you after hanging up until you re-picked your mic in settings. Voice now resets cleanly whenever you join or leave a call (or hold the talk-to-everyone key), so everyone hears you properly, modded or not.
- Your moderator access, player notes, name colours and protected players now live in one shared folder across all your mod profiles (
%LOCALAPPDATA%\LateJoinPlus\Shared). Switching profiles or updating won't wipe your moderator status anymore. It's still kept outside the profile folder itself, so sharing a profile code with a friend won't hand over your keys or notes. - Outside Call Volume now defaults to 15% instead of 0%, so you can still hear the rest of the lobby faintly while on a call. You can change this anytime in LJ+ → Calls.
- Pressing F6 to open the menu no longer puts harmless error lines in the log.
New in 1.1.4: LateJoinPlus in your language


- Translated into English, Dansk (Danish), Suomi (Finnish), Svenska (Swedish), Português (Brasil) and Português (Portugal). That covers the LJ+ menu, all settings and hints, moderator pop-ups, the call panel, the loading-screen player panel, and on-screen messages.
- If you change your language in R.E.P.O's settings, LateJoinPlus switches right along with it without needing a restart. You can also pick a language yourself at the top of LJ+ → Settings.
- Messages that LateJoinPlus sends across the network stay in English on the wire (so people on older versions or other languages still get them) and translate into each player's own language when they arrive.
- If you want to tweak a translation yourself, drop a modified file into
BepInEx/config/LateJoinPlus-lang/and the mod will use your wording over the built-in one right away. - You can now press F6 to open and close the LJ+ menu from anywhere (if you're in a level, it opens the pause menu with LJ+ on top). A small LJ+ [F6] prompt in the bottom-left corner reminds you it's there, and you can change the key at the top of LJ+ → Settings.
- Added Invites only under Who Can Join. This hides your lobby from the server list and only lets people in if you invite them, even if they're on your Steam friends list. Because Steam's own friends list doesn't let you send invites to hidden lobbies like this, invite people from inside the game instead: use the pause menu's INVITE button, or Invite a friend in LJ+ → Overview, which puts friends currently playing R.E.P.O at the top for one-click invites.
- Checked every page in every language so long translations shrink to fit their rows instead of running off the edge.
Update 1.1.0: tools to run your lobby
Version 1.1.0 turned LateJoinPlus into a full lobby toolkit with moderators, private calls, history and notes, and a player panel on loading screens. Everything sits in one menu, with the same late-join code underneath so players without mods can still join and play like normal.




What came in 1.1.0
Moderators
- You can make trusted friends moderators from their player page and pick what each one is allowed to do: Kick, Ban, Block, Notes, Calls, Run control and Admin. You can take moderator away anytime, even when they're offline.
- Everything a moderator does actually runs on your game after checking their permissions. They can never kick or ban you, another moderator, or anyone you protect. Their moderator key is saved privately on their own PC outside their mod profile, so sharing a profile won't leak it and a fake lobby can't steal or reuse it.
- Moderators with Admin can spawn things, teleport, summon, heal, revive, and change upgrades or money, all handled by the host's game and logged in History. It's capped at 10 actions every 10 seconds so nobody can flood the lobby. (Since 1.2.0, this uses LateJoinPlus's built-in Admin panel.)
- When a moderator kicks, bans, blocks, writes a note, uses Admin or starts the run, a pop-up card appears in the middle of your screen just above your inventory slots showing what happened, to whom, and who did it.
- With Run control, moderators can start the run, cancel the start countdown, or send the group back to the lobby.
History, notes and bans
- History keeps track of every kick, ban, block, unblock, moderator change, note, call and Lobby Guard block. You can search and filter it, export it to a text file, or share it with your moderators. If someone already left the game, you can still block them straight from their history entry.
- You can leave notes on players by Steam ID, which show up for you and your moderators whenever that player joins again.
- Bans can be set for the current lobby only, 1 day, 7 days, 30 days, or permanently. Timed blocks expire on their own.
- When you remove someone who has LateJoinPlus installed, it tells them why and how long the ban lasts.
Private calls
- Ring individual players who have LateJoinPlus, or start a team call with all of your moderators. Answer with Y, decline with N and hang up with End (all three keys can be changed). Players can also send a call request to the host.
- People on a call can hear each other across the whole map, through walls, and even while dead. Nobody outside the call hears you, including unmodded players, and talking on a call won't attract monsters.
- Hold Caps Lock during a call when you want to talk to the whole lobby at once. Everyone in the lobby hears you, the call still hears you, and you keep hearing the call. You can bind this to any key, including mouse side buttons.
- Volume sliders let you adjust call volume, outside lobby volume (0–100%), and your own mic boost live during a call.
- A call panel sits in whichever screen corner you pick, showing who's on the call, live mic bars for everyone (including you), who's muted or connecting, and any time limit. It tucks out of the way whenever you open a menu.
- As host, you can set a max duration and a cooldown timer for calls started by moderators.
Loading screens and level changes
- The host and moderators get a player panel on loading screens showing everyone in the lobby, with the people holding up the load listed at the top. You can see each player's state (on the results screen, loading and for how long, loaded, or ready) and use the Kick / Ban / Block buttons (click twice to confirm). Your mouse cursor is unlocked while the panel is up.
- Added in 1.1.3: you can adjust any player's volume right on the loading screen (
<>or click the bar, 0–200%), with a green light and level bar showing who is talking. - After 45 seconds on a loading screen (you can change the timer), a slow player warning tells you who the game is waiting on. If they're stuck on the results screen, click Continue without them. Any level change that hangs for 2 minutes will also move on by itself.
- Ghost alerts let you know if a player still has no character a minute after joining.
Your lobby
- The LJ+ menu is built to match R.E.P.O's own UI. The left side has Overview, Players, Moderators, Calls, History, Block List, Settings, and the right side shows the page along with a status line for whether you're hosting, whether the lobby is open, and how many players are in. There's a mic button to jump straight to Calls, and hitting Escape once closes the whole menu.
- You'll find the LJ+ button next to the title in the pause menu (right under the game's crown) and on the lobby screen.
- Pressing Start begins a short countdown before the run launches so everyone has a moment to get ready. Shift-click Start to go right away, or click again to cancel.
- Pick custom name colours for yourself, your moderators or any player. Anyone with LateJoinPlus sees them above players' heads, in the lobby list and in the pause menu.
- Lobbies running LateJoinPlus are sorted to the top of the server list with a gold tag.
- In big lobbies with 18 or more players, the pause menu rows tighten up and shrink so every name stays on screen, keeping names and tags (HOST, MOD, MUTED, LJ+, LJN, GT) on a single line.
Fixes and quality of life
- When someone leaves, gets kicked or gets banned, their items drop right where they were standing instead of teleporting to the truck or jumping into the host's hands.
- If a rejoining player's inventory slot isn't ready yet, the item drops at their feet with a note explaining why instead of vanishing.
- Players who join mid-level now get cosmetic box tokens properly.
- Fixed Lobby Guard mistakenly blocking the host of a lobby you joined after another player left.
- Other late-join mods and moderation mods are automatically turned off while LateJoinPlus is running so they don't fight over your lobby. You can uninstall the old ones.
- Moderators, history and calls still work even if you turn late joining off.
- Installs REPO Fixes+ 1.3.4 as a dependency. (1.1.0 also installed RepoAdminMenu and Admin Menu Button Position Fix, which 1.2.0 no longer needs.)
Moderators and people joining private calls need LateJoinPlus 1.1.0 or newer. Regular players joining your lobby don't need any mods.
What LateJoinPlus does
With most late-join mods, friends who join mid-level end up falling through missing floors or walking into rooms with no walls, because those rooms never reached their game. LateJoinPlus sends every room of the level to each person who joins, so the map looks and works the same for them as it does for you.
Your friends can join at any point: while you're in the truck, shopping, or already halfway through a level. Only the host needs the mod installed. People joining you can play completely unmodded.
Main features
- Press F8 for the built-in Admin panel to heal, revive, teleport, spawn anything, change upgrades, money or levels, toggle God mode, and flip world switches. It works on players without mods too.
- Translated into all of R.E.P.O's languages (English, Dansk, Suomi, Svenska, Português (Brasil), Português (Portugal)) plus 简体中文 and 繁體中文, matching whatever language your game is set to.
- Make trusted friends moderators so they can kick, ban, block, keep notes, start the run and use the Admin panel, with only the permissions you choose to give them.
- Start private calls with individual players or your whole mod team. You can hear each other anywhere on the map, and hold Caps Lock whenever you want to talk to the whole lobby.
- Searchable history and player notes that record every kick, ban, block and note, shared with your moderators.
- A player panel on loading screens shows who is holding up a level change (with a warning after 45 seconds) and lets you remove them if they're stuck.
- The LJ+ menu puts everything in one spot next to the title in the pause menu and on the lobby screen, including a start countdown and custom name colours.
- Friends can join while you're in the truck, in the shop, or in the middle of a level.
- Every room loads properly for late joiners, with no missing floors or walls.
- Joiners don't need to install anything. They load in caught up with the current run.
- People who join late can play right away: voice chat works both ways, and they can pick up items, use their inventory slots and extract like normal.
- Late joiners won't accidentally lock extraction points for the rest of the level.
- Host bigger lobbies of up to 20 players (10 by default, set in the LJ+ menu) without needing MorePlayers, even for unmodded joiners.
- Players who leave and rejoin the same run get their upgrades back right away instead of waiting for the next level.
- Rooms your team has already walked through show up on a joiner's map.
- Joiners spawn safely by the truck (or next to you), never inside a wall or over a pit, and without teleporting anyone else.
- Syncing a new player is spread out over a moment so your game doesn't freeze when someone joins.
- Open or close your lobby on the fly, even mid-level:
- Everyone: open to the public and listed in the server list.
- Friends only: hidden from the server list; only your Steam friends and people you invite can get in.
- Invites only: hidden from the server list; only people you specifically invite can join, even if they're on your friends list. Invite them with INVITE or LJ+ → Overview → Invite a friend.
- Nobody: closed to new players until you open it back up.
- Anyone in your lobby can send Steam invites, not just the host, including players without mods.
- Lobby Guard blocks common griefing (fake kicks, host stealing, voice takeovers, cheat menus), auto-bans anyone on your block list, and keeps other players' mods from spamming your log with errors.
- Kick, ban (for a set time or permanently) or block players from the pause menu, the LJ+ menu, or the loading-screen panel.
Getting started
- Install LateJoinPlus with r2modman or the Thunderstore app. It automatically grabs what it needs: MenuLib and REPO Fixes+ (multiplayer bug fixes). The Admin panel is already built in.
- Host a game like you normally do.
- That's it. People can now join your lobby at any time, up to 10 players by default (you can raise it up to 20 in LJ+ → Overview → Max Players). Use the INVITE button in the pause menu to invite friends, or let people find you in the server list where your lobby shows a
[LateJoinPlus]tag.
You don't have to touch any settings if you just want to play. When you do want to tweak things, press F6, click LATE JOIN on the main menu, or click LJ+ in the pause menu or lobby screen. F8 opens the Admin panel. Everything uses your in-game language automatically. For instance, you can set Who Can Join to Friends only while you wait for your group, or Nobody once you're full. To make a friend a moderator, make sure they have LateJoinPlus, pick them under Players, and click Make moderator.
Who needs it
| Player | Needs LateJoinPlus? |
|---|---|
| Host | Yes. It runs late join, catches joiners up, and handles the moderation tools. |
| Players joining | No. Unmodded players can join and play normally. |
| Moderators, and players you call | Yes, 1.1.0 or later (1.2.0 for the Admin panel). |
| Players you give God mode or Endless stamina | Yes, 1.2.0. Everything else on the Admin panel works on players without mods. |
| Anyone who wants Lobby Guard protection | Yes. Your copy of the mod can only protect your own game. |
Friends who do install LateJoinPlus get a few nice extras when joining you: the exact list of explored rooms, their game version shown in your player list, custom name colours, the start countdown, and a message explaining why if they ever get removed.
What a joiner gets
When someone hops in mid-run, the host's game sends them everything they need to catch up:
- the level layout (rooms, doors, lights), all set up properly;
- every item's name, value, battery charge, and who is holding it;
- run stats, the current haul total, and extraction goals;
- everyone's upgrades, including their own if they were in the run earlier;
- extraction point states, so open and finished ones show up right;
- working voice chat in both directions;
- the explored map;
- Birthday Boy's balloons, plus the map's guide line back to extraction.
A small tracker in the bottom-left corner shows each person joining: Connecting, Loading, Joined (or Left). [O] means they have LateJoinPlus installed, and [X] means they don't (which is fine).
The LJ+ menu
Open it any time with F6 (you can change the key), the LATE JOIN button on the main menu right above Quit, or the LJ+ button next to the title in the pause menu and lobby screen (for the host and moderators). Tabs are on the left, and the page is on the right:
- Overview has Who Can Join (Everyone, Friends only, Invites only, Nobody) and Max Players, both applied live, along with run controls (start countdown, return to lobby, force-continue a stuck level load) and Invite a friend.
- Players lists everyone with their Steam profile, role, late-join mod, GameTools status, game version, volume, notes and name colour, plus buttons to Kick, Ban (with a timer), Block, Make moderator and Protect. All of those ask you to confirm first.
- Moderators shows all your moderators, whether they're online or offline, and what each one can do.
- Calls shows your current call (who's in it, time left, volume sliders, Leave button), who you can ring, and Call settings.
- History has a searchable log of everything that happened in your lobbies, with an option to export it.
- Block List shows everyone you've blocked and how long is left on their ban, and lets you add a Steam ID or unblock someone.
- Settings puts Language and Menu Key right at the top, followed by every other setting sorted by category.


In the pause menu's player list, each name shows short tags: HOST or MOD, MUTED (if their in-game mute is on), CHEAT (if caught cheating), which late-join mod they have (LJ+, LJN, LR, LJ), GT for GameTools, and their game version if it doesn't match yours. When you're hosting (or a moderator with kick permissions), clicking Kick in the pause menu lets you pick between Kick, Ban or Block. Vanilla R.E.P.O's "kick" is actually a ban, so this gives you a real choice.
Any changes you make save and apply right away.
Lobby Guard
Lobby Guard keeps griefers and cheat menus from wrecking your runs.
| 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 get 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 spamming errors in your log. |
| 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 get a message on screen. It doesn't auto-kick them, leaving that up to you. |
| Known cheaters | Add their Steam ID to your block list. When you host, they get banned the second they join. |
Anyone caught sending network actions that a normal game would never send gets blocked on your side. If you're hosting, they're also banned and added to your block list automatically.
Settings
You can change these in LJ+ → Settings (the easiest way), in REPOConfig, or by editing BepInEx/config/ricketywrecked.repo.latejoinplus.cfg.
| Setting | Default | What it does |
|---|---|---|
Late Join.Enabled |
on | Turn late join on or off. |
Late Join.Truck / Shop / Level |
on | Which stages players are allowed to join in. |
Late Join.JoinSpawn |
Truck | Where joiners spawn: by the Truck, or next to the Host. |
Late Join.RevealMapForJoiners |
on | Fill in explored rooms on a joiner's map, including for players without mods. |
Late Join.SlotsForJoinersWithoutMod |
on | Let unmodded joiners use their inventory slots as soon as they load in (off = from the next level). If a slot fails, the item drops at their feet instead of disappearing. |
Late Join.TruckHealBackup |
on | Heal players whose game skipped the truck's end-of-level heal (seen with GameTools). |
Late Join.OtherLateJoinMods |
on | Turn off other late-join mods (LateJoinNow, LateRepo, LateJoin…) so only LateJoinPlus handles joining. |
Map Sync.Enabled |
on | Send the exact explored rooms to joiners who also have LateJoinPlus (and receive them when you join someone else). |
Map Sync.RevealAllRoomsWhenHostHasNoMod |
off | Fill in the whole map when you join a host who doesn't have the mod to send their explored rooms. |
Lobby Guard.Enabled |
on | Turn Lobby Guard on or off. |
Lobby Guard.BlockHostHijack |
on | Stop other players from stealing host. |
Lobby Guard.VoiceGuard |
on | Block voice takeovers and voice spam. |
Lobby Guard.RevealSteamIds |
on | Record each player's real Steam ID when you host. |
Lobby Guard.AutoBan |
on | Automatically ban players on your block list when they join your lobby. |
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). Leaving it off is safer: it can't block a real player by mistake. |
Lobby Guard.FloodMessagesPerSecond |
500 | How many messages per second count as a flood. |
Lobby Guard.GhostSeconds |
90 | Seconds without a character before a player counts as invisible. |
Lobby Guard.LockGameTools |
off | Turn off other players' GameTools in your lobby (only works if you don't use GameTools yourself). |
Lobby Guard.OnlyStaffStart |
off | Only let you and moderators with Truck & extract start the truck, use the shop checkout and press BigFriendlyButton's extraction button, if you use it. |
Lobby.StartCountdownSeconds |
5 | Countdown in seconds after pressing Start (0 = none, up to 5 minutes). Shift-click Start to launch right away. |
Lobby.WarnSlowPlayersSeconds |
45 | How long to wait on a loading screen before showing who is holding things up. |
Lobby.ContinueStuckLevelChangeSeconds |
120 | Move on without a player if their game stops responding during a level change for this long. |
Lobby.ShowNameColors |
on | Show the custom name colours picked by the host. |
Lobby.HighlightLateJoinPlusLobbies |
on | Put LateJoinPlus lobbies at the top of the server list with a gold tag. |
Calls.AnswerKey / DeclineKey / LeaveKey |
Y / N / End | Keys to answer, decline and leave a call. |
Calls.TalkToEveryoneHoldKey |
Caps Lock | Hold during a call to talk to the whole lobby too. None = off. |
Calls.CallVolumePercent |
100 | Volume of the other people on your call (20–300%). |
Calls.OutsideCallVolume |
15 | Volume of players outside your call while you're on one (0–100%). |
Calls.CallMicBoost |
100 | Your own mic volume on calls (50–200%). |
Calls.ShowCallPanel / CallPanelCorner |
on / Top Right | Show the call panel and pick which corner it sits in. |
Calls.RingSound |
on | Play a short ringtone when someone calls you. |
Calls.AllowCallRequests |
on | Let players ask you (as host) for a 1-on-1 call. |
Calls.MaxCallMinutes / MinutesBetweenCalls |
0 / 0 | Host limits on calls started by moderators (0 = no limit). |
Display.Language |
auto | Language for LateJoinPlus's menus and panels. auto = matches the game's language setting (or Chinese on a Chinese Windows). |
Display.MenuKey |
F6 | Key to open and close the LJ+ menu from anywhere. None = no key. |
Display.AdminKey |
F8 | Key to open and close the Admin panel (for the host and moderators with Admin). None = no key. |
Display.ShowMenuKeyHint |
on | Show a small LJ+ [F6] reminder in the bottom-left corner when the key can be used. |
Display.ShowJoinStatus |
on | Show the joiner progress list in the bottom-left corner. |
Display.LoadingScreenPlayers |
on | Show the player panel on loading screens (for the host and moderators). |
Display.ShowModeratorActions |
on | Show pop-ups above your inventory slots when a moderator does something. |
Display.ShowStatus |
off | Show the player count and lobby open/closed status in the bottom-left corner. |
Display.InviteButton |
on | Show the INVITE button in the pause menu. |
Display.MissingRoomWarning |
on | Warn you on screen if you join someone else's game mid-level and rooms are missing. |
Players.MaxPlayersEnabled / MaxPlayers |
on / 10 | Allow bigger lobbies (2 to 20 players), overriding MorePlayers and RoboUnion's limit. Off = vanilla limit (6). Full lobbies hide from the server list, and the mod tells you when this setting is why. |
Admin.ModeratorSpawnMax |
5 | The most things a moderator can spawn at once (you can spawn up to 10, or 3 for enemies). |
Admin.ModeratorsMayChangeLevel |
on | Let moderators with Admin send the lobby to another level or the shop. |
Debug.DebugLogging |
off | Write detailed steps to the log for bug reports. |
Whenever late join is enabled, your lobby name in the server list starts with [LateJoinPlus] so people browsing know they can hop in mid-run.
Questions
Do my friends need to install anything? Nope. Only the host needs LateJoinPlus. The only people who need it installed are your moderators and anyone you want to bring into a private call (1.1.0 or newer).
I was a moderator, but after switching mod profiles I lost it?
Before 1.1.5, each mod profile kept its own moderator key, and since a host only keeps one active key for you at a time, getting modded on a second profile broke the first one. Starting in 1.1.5, all profiles share the same folder (%LOCALAPPDATA%\LateJoinPlus\Shared), so that won't happen anymore. If you already ran into this, just ask your host to click Make moderator on you one last time.
Which languages does LateJoinPlus support?
English, Dansk, Suomi, Svenska, Português (Brasil), Português (Portugal), 简体中文 and 繁體中文. R.E.P.O v0.5.0 added more languages to the game; LateJoinPlus isn't translated into those yet, so they show in English for now. It follows your in-game language automatically, or you can pick one at the top of LJ+ → Settings. If you spot a weird translation, let me know on Discord, or fix it locally by putting a file in BepInEx/config/LateJoinPlus-lang/.
When I use Invites only, Steam's friends list doesn't have an invite button. That's a quirk with how Steam handles hidden invite-only lobbies. Use the in-game invite tools instead: either the INVITE button in the pause menu, or LJ+ → Overview → Invite a friend.
Do I still need RepoAdminMenu? No. LateJoinPlus has its own Admin panel on F8 now, so you can uninstall both RepoAdminMenu and Admin Menu Button Position Fix. Any moderators you already gave Admin permission to will keep it.
Does the Admin panel work on players without mods? Yes. Healing, reviving, teleporting, upgrades, spawning and world switches all run through the host's game, so unmodded players get all of it. Only God mode and Endless stamina require LateJoinPlus 1.2 on that player's PC.
How do I make someone a moderator? Make sure they have LateJoinPlus 1.1.0 or newer installed. While you're hosting, go to LJ+ → Players, click their name, hit Make moderator, and check the boxes for what you want them to be able to do. The game remembers them in future lobbies you host, and you can take their access away anytime, even when they're offline.
Can a moderator kick me or take over my lobby? No. Your game checks their permissions before running anything they click, and it never lets a moderator remove you, another moderator, or a player you've marked as protected.
Can I remove someone while stuck on a loading screen?
Yes. On loading screens, the host and moderators with kick permissions get a player panel with the mouse cursor unlocked. It puts the people holding up the load at the top, shows where they're stuck, and gives you Kick, Ban and Block buttons (click twice). After Lobby.WarnSlowPlayersSeconds (45 s), it warns you who the holdup is. If someone is stuck on the results screen, click Continue without them. You can turn this panel off with Display.LoadingScreenPlayers.
Can people outside my private call hear me? Not unless you hold down your talk-to-everyone key (Caps Lock by default). While you hold that key, both the lobby and your call can hear you.
Do I still need MorePlayers? No, LateJoinPlus handles player limits up to 20 on its own (under Max Players in the LJ+ menu). If you still have MorePlayers installed, LateJoinPlus disables it and takes over the cap, so you can uninstall it. If you use RoboUnion, it keeps its other features while LateJoinPlus manages the player limit.
Can I run this alongside LateJoinNow or another late-join mod?
You shouldn't need to. Having two late-join mods active makes them fight over the lobby, so if LateJoinPlus detects LateJoinNow, LateRepo, LateJoin or another late-join mod, it turns the other one off and handles joining itself. It's best to uninstall the other one. (If you really want to force it on anyway, set OtherLateJoinMods to false, though I don't recommend it.)
What if I have another moderation mod installed? LateJoinPlus turns it off while running so the two don't clash over kicks, bans, calls or the start countdown. You can safely uninstall the old mod.
What about SharePermissions? LateJoinPlus has its own moderators and calls, and switches SharePermissions off while it runs. It can still stop your game answering a host's moderator check, so please uninstall it if you use LateJoinPlus.
What about ShowMoreLobbyPlayers? LateJoinPlus fits big lobbies on the lobby screen itself: from 7 players the list goes into columns that stay on screen and above the buttons. Two mods moving the same rows fight, so LateJoinPlus turns ShowMoreLobbyPlayers off while running. You can safely uninstall it.
I used to have standalone Lobby Guard or Map Sync Fix installed. Both are built into LateJoinPlus now, so you can uninstall the standalone versions. If they're still installed, LateJoinPlus disables them and imports your old block list automatically.
I joined someone else's lobby mid-level and rooms are missing floors or walls. That means the host is using a different late-join mod that didn't send those rooms to you, and there's no way for your client to invent rooms the host never sent. LateJoinPlus will pop up a notice on screen when it sees this happen. Once you load into the next level, everything will work normally.
How do I report a bug?
In the game, open LJ+ → Overview → Problems? → Send a bug report, pick what went wrong, and optionally describe it (up to 500 characters; links are removed). You can preview everything before anything is sent, and pressing Send posts it to a public GitHub page (RicketyWrecked-reports) where anyone can read it and gives you a link to the report. It never includes chat, voice, other players' names or Steam IDs, your own name (unless you tick "Include my name"), your block list, history or notes, or any other file. For questions, use the Discord.
What does a bug report send? Included:
- LateJoinPlus and game versions
- Whether you're host or client, the level, the number of players, and your language
- Your mod list
- LateJoinPlus's settings (on/off switches and numbers only)
- LateJoinPlus's log lines and errors from that session
Never included:
- Chat or voice
- 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
- Any other file
Support
All my mods are free and always will be. If this one made your nights on R.E.P.O a bit smoother, a tip on Ko-fi helps me keep fixing bugs and building new stuff. Thanks!
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. The source code is not shared and is not available on request. See the included LICENSE file, which also has the MIT notice for the parts of the Admin panel that build on RepoAdminMenu.
Credits
Made by RicketyWrecked. Not affiliated with the R.E.P.O developers.
The Admin panel builds on RepoAdminMenu by Brent Profera (proferabg), used under the MIT License; its notice is in the LICENSE file.
Special thanks to Mama_Panda0729 💛, who tested the 1.1.0 update across lobby after lobby, hunting down bugs and pitching ideas. Moderators, calls and the loading-screen panel turned out the way they did thanks to her.
Bug reports: Discord. The Discord is strictly for bug reports (please include your BepInEx/LogOutput.log); requests for the source code or permission to reuse any part of the mod will be declined.
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.


