BETA of the next LethalGuard+ update. Host-only anticheat. Stops lobby crashes, fake ship takeoffs, free purchases, credit wipes, chat spoofing and more. Blocks the attack, not the player. Nobody else needs it, no setup.
Bans and the known attacker list are more reliable in Steam lobbies.
Small chat fix when the ship starts.
0.1.0
Installed together with LethalGuardPlus: the Beta turns the older version off (both running at once could mute innocent players) and shows one chat line saying so. Keep both installed: once the main package has this update, the Beta turns itself off instead.
Version notice (host): when a player joins, the host sends that player one network message with the LethalGuard+ name and version, nothing else. It is invisible: players without a mod that reads it never see it, and the host does not listen for anything new.
Kick levels (host): KickLevel chooses which blocked requests also kick the player: Off, Recommended (default, only requests a normal game can never send), Risky, VeryRisky, Unsafe. Blocking is the same at every level; only kicking changes. Recommended is the suggested setting.
Host chat notices: one short line per player and problem in plain English (for example Bob — chat spam blocked (3×)), then a summary instead of a line for every request. The [LG+] tag is orange for a blocked request, red when a player is removed or banned and grey for command replies; the rule name is shown dimmed at the end for bug reports. Chat stays visible a bit longer (6 s) when a notice arrives. Notices are only shown on the host's screen. NoticeLevel chooses how sure a rule must be before it shows a notice (Off hides them).
Config is now three sections: General, Modules (turn single protections off), Advanced. Old settings are reset to defaults, except HideModdedTag=false, which is kept.
Advanced: TrustedPlayers (SteamIDs that are never kicked automatically; requests are still blocked), NeverKickRules and AlwaysKickRules (rule names, comma separated), voice/network/chat limits, LogSamples.
Bug reports: send BepInEx/LethalGuardPlus.log. It now starts every session with the mod version, settings and the list of installed mods, keeps only the last sessions and stops growing at about 2 MB per session.
Voice fixes (host): the voice limit is now averaged over 5 seconds, so frames that pile up after a game freeze no longer briefly mute innocent players. Players could also be muted for the whole session when the host PC had been running for more than ~25 days without a restart; fixed. Packets from a player who is still connecting or just leaving are dropped quietly instead of being reported as spoofed voice.
Network message shield (host): drops message floods, oversized RPCs and RPCs sent to objects that do not exist.
Spawn protection (host): a gift box or mask can only be used once, players cannot delete living enemies, fake deaths for other players or make monsters kill other players.
Chat protection (host): players cannot chat as someone else, huge text and formatting tags are removed, chat spam is limited, and lines that try to look like game/server messages are marked with the sender's name (other mods' chat messages still show). Invisible mod messages (a whole <size=0>…</size> line, for example Minimap's version check) are no longer passed on: nobody reads them, and each one pushed a visible message out of everyone's chat. The host gets one private line when a player has Minimap (allowed, just so the host knows).
Early leave vote (host): only dead players can vote, once per round. A cheater could make the ship leave instantly while everyone was alive.
Bans (host): a player who sends a request no normal game can send (acting as another player, fake ids) is kicked and cannot rejoin the lobby. Bans use the player's real Steam account, so faking a Steam ID on join no longer gets around a kick. Host chat commands: /kick <name>, /ban <name or SteamID> [| reason], /unban <name, SteamID or last>, /bans, /recent. /ban also works on a player who already left (by name; /recent lists who left this lobby). Every ban line in chat shows how to undo it (/unban last). A first offence is only a lobby ban. AutoBanDuration (Session, OneDay, OneWeek or Permanent; default Session) applies only if the same Steam account is caught again in another lobby within 30 days. Timed bans end by themselves. Bans are stored in BepInEx/config/LethalGuardPlus.bans.txt. Known lobby attackers are blocked by a built-in list (can be turned off).
Credit protection (host): a cheater can no longer buy items, furniture, vehicles or routes for free, or wipe the group's credits with a fake purchase. Purchases with invalid ids are dropped. Prices changed by other mods are only logged.
Furniture: players cannot put furniture into storage in someone else's name.
Full lobby (host): two players joining the last free slot at the same time can no longer break the lobby or get the host's character.
Terminal (host): only a living player standing at the terminal can start using it, so nobody can lock it from across the map. Terminal sound spam and broken terminal sounds are dropped.
Ship controls (host): spamming the ship doors, lights, magnet, teleporter button or alarm horn is limited, and dead players cannot use them. Normal use is not affected.
Items (host): a player cannot delete a game item from their hands or inventory for everyone. Requests for inventory slots that do not exist are dropped (they caused errors on every player's game). Keys, shotgun shells and items added by other mods still work.
Optional item teleport protection (host, ItemTeleportGuard, off by default): blocks picking up items from across the map, dropping items you are not holding, throwing a held item far away or out of the map, and putting far away items into a belt bag. It can break item, selling or belt bag mods, so turn it on only if you need it.
Known issue: a player can still kick someone out of the terminal from far away. Locking the terminal is blocked.
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.