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.
LethalWebsocketEvents
Streams in-game events over WebSocket for Streamerbot integration. Deaths, monsters, items, rounds.
| Last updated | a month ago |
| Total downloads | 60 |
| Total rating | 0 |
| Categories | Mods Tools Server-side |
| Dependency string | luckofthelefty-LethalWebsocketEvents-1.0.3 |
| Dependants | 0 other packages depend on this package |
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.2100dotnet_lethal_company-WebSocketSharp_netstandard
NuGet WebSocketSharp-netstandard package re-bundled for convenient consumption and dependency management.
Preferred version: 1.0.100dotnet_lethal_company-Newtonsoft_Json
NuGet Newtonsoft.Json package re-bundled for convenient consumption and dependency management.
Preferred version: 13.0.400README
LethalWebsocketEvents
A BepInEx mod for Lethal Company that streams in-game events over WebSocket for Streamerbot integration.
Forked from ZehsTeam/Lethal-Company-StreamOverlays — stripped down to focus purely on discrete event broadcasting rather than overlay stats.
How It Works
The mod runs a WebSocket server (default port 8765) that broadcasts JSON events as they happen in-game. Connect Streamerbot (or any WebSocket client) to trigger custom alerts, sounds, scene changes, and more.
WebSocket URL: ws://localhost:8765/events
Event Format
All events follow this structure:
{
"event": "player_death",
"timestamp": "2026-02-24T15:30:00.0000000Z",
"data": {
"player": "Nick",
"causeOfDeath": "Mauling"
}
}
Supported Events
Player Events
| Event | Description | Data Fields |
|---|---|---|
player_death |
A player died | player, causeOfDeath, playerId |
player_damage |
A player took damage | player, damage, health, critical |
player_healed |
A player was healed | player, health |
player_joined |
A player connected | player, playerCount |
player_left |
A player disconnected | player, playerCount |
player_emote |
A player performed an emote | player, emoteId |
Round Events
| Event | Description | Data Fields |
|---|---|---|
round_start |
Game started (ship departing) | moon, weather |
round_end |
Round ended | — |
ship_landed |
Ship landed on moon | moon |
ship_leaving |
Ship is leaving the moon | — |
day_changed |
Day/level info updated | moon, weather |
moon_changed |
Route changed to new moon | moon, weather |
quota_fulfilled |
Profit quota met | newQuota, quotaIndex |
players_revived |
Dead players revived (new day) | — |
vote_to_leave |
Someone voted to leave early | — |
Enemy Events
| Event | Description | Data Fields |
|---|---|---|
enemy_spawned |
An enemy spawned | enemyType, location (indoor/outdoor) |
enemy_killed |
An enemy was killed | enemyType |
enemy_state_changed |
Enemy changed behavior state | enemyType, stateIndex |
enemy_hit |
An enemy was hit | enemyType, force, player |
Item Events
| Event | Description | Data Fields |
|---|---|---|
item_grabbed |
A player picked up an item | player, item, scrapValue |
item_dropped |
A player dropped an item | player, inShip |
apparatus_pulled |
Apparatus disconnected | player |
Facility Events
| Event | Description | Data Fields |
|---|---|---|
landmine_exploded |
A landmine exploded | — |
turret_mode_changed |
Turret changed mode | mode, modeIndex |
teleporter_used |
Teleporter activated | isInverse |
Monster-Specific Events
| Event | Description | Data Fields |
|---|---|---|
bracken_grab |
Bracken grabbed a player | player |
jester_kill |
Jester killed a player | player |
ghost_girl_haunt |
Ghost Girl haunting a player | player |
coilhead_moving |
Coilhead started moving | — |
coilhead_stopped |
Coilhead stopped | — |
masked_mimic |
Masked mimicking a player | player |
nutcracker_shot |
Nutcracker fired | — |
giant_grab |
Forest Giant grabbed a player | player |
snare_flea_cling |
Snare Flea clung to a player | player |
spider_web_trip |
Player tripped a spider web | player |
blob_kill |
Blob killed a player | player |
thumper_hit |
Thumper hit a player | player |
eyeless_dog_kill |
Eyeless Dog killed a player | player |
baboon_hawk_stab |
Baboon Hawk stabbed a player | player |
Connection Events
| Event | Description | Data Fields |
|---|---|---|
connected |
Client connected to WebSocket | modVersion, modName |
Cause of Death Values
The causeOfDeath field in player_death events can be:
Unknown, Bludgeoning, Gravity, Blast, Strangulation, Suffocation, Mauling, Gunshots, Crushing, Drowning, Abandoned, Electrocution, Kicking, Burning, Stabbing, Fan
Configuration
Config file is created at:
%localappdata%\..\LocalLow\ZeekerssRBLX\Lethal Company\LethalWebsocketEvents\global.cfg
| Setting | Default | Description |
|---|---|---|
Server.AutoStart |
true |
Start WebSocket server on game launch |
Server.WebSocketPort |
8765 |
WebSocket server port |
General.ExtendedLogging |
false |
Log all broadcasted events to BepInEx console |
Filter.LocalPlayerOnly |
false |
Only fire player-specific events for the local player |
Filter.PlayerName |
(empty) | Only fire player-specific events for this player name |
Streamerbot Setup
- In Streamerbot, go to Servers/Clients > WebSocket Clients
- Add a new client:
ws://localhost:8765/events - Create actions triggered by the
eventfield in received messages - Example: On
player_deathwherecauseOfDeath=Mauling→ play jumpscare sound
Installation
- Install BepInEx 5 for Lethal Company
- Place
com.github.luckofthelefty.LethalWebsocketEvents.dllinBepInEx/plugins/ - Launch the game
Building
dotnet restore
dotnet build
Output DLL: LethalWebsocketEvents/bin/Debug/netstandard2.1/com.github.luckofthelefty.LethalWebsocketEvents.dll
Support
This mod is provided as-is. Support is limited to none. Feel free to fork and modify for your own use.
Credits
Based on StreamOverlays by Zehs.
License
MIT