Ctrlc-LethalGuardPlus icon

LethalGuardPlus

Host-side anticheat for Lethal Company. Blocks the voice chat (Dissonance) crash attack that floods the host with fake players. Only the host needs it.

By Ctrlc
Last updated a day ago
Total downloads 201
Total rating 1 
Categories Mods Client-side Server-side AI Generated
Dependency string Ctrlc-LethalGuardPlus-1.0.2
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

LethalGuard+

Anticheat for Lethal Company hosts. Bad packets are dropped at the host, so every player in your lobby is protected, even if they don't have the mod.

Modules

Module Protects against
Voice Voice chat (Dissonance) crash attack

More modules are coming in future versions.


Voice module

The attack

A player joins your lobby and, through the game's voice chat system (Dissonance), creates dozens of fake voice players with huge names and absurd audio settings, then floods packets. Every fake player makes your game allocate a giant audio buffer. Within seconds your RAM is gone: the game crashes with OutOfMemory, and sometimes Windows Explorer goes down with it.

The root cause is in Dissonance: the host trusts whatever player ID, name and codec settings a client puts in its packets, and allocates memory from a size the client chooses.

What it does

As host (the important part): every voice packet from a client is checked before the game processes it or relays it to the other players. Packets that break the rules are dropped:

  • player names longer than a normal name
  • invalid codec settings (giant FrameSize, unknown codec, invalid sample rate)
  • a client claiming to be another player (fake player ID / name)
  • voice or text sent on behalf of another player
  • relay packets carrying anything other than voice or text
  • packets lying about their own length
  • more packets per second than a normal player sends

As client (in someone else's lobby): your own game is protected. Codec settings of joining voice players are sanitized and voice frames from suspicious players are dropped. You can't protect the host or other players from here; the attack packets go to the host, not through you.

Normal players are not affected: legit voice chat stays under every limit.


Installation

Install with r2modman / Thunderstore Mod Manager. Only the host needs it to protect the lobby. Installing it as a client protects your own game.

Config

BepInEx/config/lethalguardplus.cfg

Section Setting Default Meaning
General KickOffender false Host only. Kick a player who sends an attack packet. Rate limit violations only drop packets, they never kick.
General HideModdedTag true Host only. List your lobby as a normal lobby so players see it without ticking the modded filter. Set false if you also run gameplay mods every player must have.
Voice BlockPackets true Drop rule-breaking voice packets. false only logs them (the attack will work).
Voice MaxNameLength 64 Max voice player name length.
Voice MaxFrameSize 5760 Max codec frame size (Opus maximum).
Voice MaxPacketsPerSecond 200 Host: max voice packets per second per connection.
Voice MaxVoiceFramesPerSecond 150 Client: max voice frames per second per player.

Log

Every blocked packet is written to BepInEx/LethalGuardPlus.log with the player's Steam ID and name. Repeats are summarized every 5 seconds so the log doesn't explode during an attack.

[18:29:55.829] [HOST] CLIENTSTATE-NAME | clientId=1 steamId=7656119... name="..." | name is 990 characters (limit 64)
[18:29:55.831] [HOST] SPOOFED-VOICE | clientId=1 steamId=7656119... name="..." | VoiceData on behalf of another player

Türkçe

Lethal Company host'ları için anticheat. Kötü paketler host'ta düşürüldüğü için sadece host'un yüklemesi yeterli, lobideki herkes korunur.

Ses modülü: Sesli sohbet (Dissonance) üzerinden yapılan, host'un belleğini doldurup oyunu çökerten saldırıyı engeller. Client olarak yüklersen kendi oyunun korunur.

Engellenen her paket BepInEx/LethalGuardPlus.log dosyasına saldırganın Steam ID'siyle yazılır. Yeni modüller sonraki sürümlerde gelecek.