You are viewing a potentially older version of this package. View all versions.
Solon-LCBridgeOverlay-1.4.0 icon

LCBridgeOverlay

In-game GDLP HUD overlay: quota, moon, live monsters (with state icons) & traps, BCME events, plus a built-in WebSocket bridge for the OBS/HTML overlay. Built for the GDLP modpack.

Date uploaded 3 weeks ago
Version 1.4.0
Download link Solon-LCBridgeOverlay-1.4.0.zip
Downloads 55
Dependency string Solon-LCBridgeOverlay-1.4.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

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

Preferred version: 5.4.2305

README

LCBridgeOverlay

In-game GDLP overlay for Lethal Company (v81 / BepInEx 5). An in-helmet HUD panel — quota, moon, weather, interior, loot, day/deaths, live monsters and traps on the sides, BCME events, and a run-victory banner — rendered natively inside the game and tilted to match the helmet HUD.

⚠️ This mod is built for the GDLP modpack. It is a companion to a specific set of mods and expects them to be present. Outside the GDLP pack it may look wrong, show empty fields, or not appear at all. Use it standalone at your own risk — it is not a general-purpose overlay.

ℹ️ Since 1.3.0 the LCBridge collector is built in. You no longer need the separate LCBridge mod. If you still have it installed, remove it — otherwise both fight for port 8181 and the OBS/HTML overlay may get no data.


English

What it is

LCBridgeOverlay draws the same information as the GDLP HTML stream overlay, but directly inside the game (Unity uGUI, screen-space). It gathers the game state itself — the old LCBridge collector is now baked in — and at the same time re-broadcasts that state over a built-in WebSocket (ws://localhost:8181), so the OBS/HTML overlay keeps working exactly as before. One mod now does both jobs.

Requirements

  • BepInEx 5.4.21+
  • The GDLP modpack (this overlay is tuned for it).
  • Do not also run the standalone LCBridge mod — its job is included here now; running both causes a port 8181 conflict.
  • (Optional) Zehs-StreamOverlays — only if you use the browser/OBS HTML overlay, which reads quota/day from it and the rest from this mod's built-in bridge.

Optional (soft) integrations

Everything below is optional — if a mod is missing, the related info is simply skipped, no errors:

  • BrutalCompanyMinusExtraReborn (BCME) — event plate with BCME colours.
  • BrutalCompanyMinus RUS + XUnity.AutoTranslator (RTLC) — Russian event names (pulled from the translator's dictionary).
  • WeatherTweaks — combined weather (Stormy + Rainy + ...).
  • LethalLevelLoader — custom interior names.
  • MoreCompany — crew size.
  • MonstersGordion — monsters shown on the Company moon (71-Gordion).
  • ToilHead — Coil-Head / Manticoil with turret get their own icons.

Features

  • Right-side HUD panel, tilted and (optionally) given a perspective/keystone effect to sit like the helmet HUD.
  • Two styles: Legacy (red pixel-grunge from the original HTML) and Game (chat-like, blue corner brackets).
  • Eye indicator (top of the panel): the "bridge alive" light — grey until the first tick, closes like an eyelid when you leave the ship.
  • Timer with milliseconds; auto-starts on a raid, pauses on loading/menus, resets on a new save. Manual keys too.
  • Location: moon, coloured weather, interior type (Facility/Mansion/Mineshaft/custom), item counts inside/outside, beehives, Old Bird warning.
  • Quota: Q1–Q3 tabs, fill bar, loot / quota, on-planet scrap value.
  • Day & deaths, crew.
  • Monster icons on the sides — left = outside, right = inside; variants of one monster stack into a deck; count badge in the corner.
  • Live state icons — many monsters change icon by state, by priority (angry/attack > aggression > transformed > special > passive): Hoarding Bug (angry), Jester (popped), Child Eater (adult), Nutcracker (attacking), Snare Flea (ceiling), Coil-Head (sway stops while looked at), ToilHead (turret + fires tracers).
  • Slayer / kamikaze variants get a blood-splatter overlay on the icon (not a flat red tint).
  • Scan gating (optional): with RequireScanToShow, monsters only appear after you scan them. Ghost Girl shows only to the player she's haunting.
  • Traps (turrets/mines/spikes) below the panel; during a "turret" BCME event the turrets fire tracers.
  • BCME event mini-plate that drops in after landing — shows on clients too (not only the host).
  • Victory banner after the 3rd quota, with full run analytics from the bridge.
  • Ticker with a running summary.
  • CRT scanlines and worn frame edges, subtle.
  • Camera sway — the panel subtly tilts/drifts with the camera, in sympathy with mods like Camera Overhaul (and a gentle sway in vanilla). Tunable via CameraSway / CameraSwayStrength.
  • Idle fade: the panel dims if you don't move the camera for a while.
  • Spectator-friendly: the overlay stays visible while you're dead/spectating.
  • Pause-aware: on Esc the panel dims into the background so it doesn't compete with the menu.

Controls

  • I — show/hide (only on the ship, unless AlwaysVisible).
  • O — pause/resume the timer (reset key configurable).

Config (BepInEx/config/gdlp.lcbridgeoverlay.cfg)

Key options (widgets & behaviour apply live; style/language/scanlines need a restart):

Section Key Default Notes
General Enabled true master switch
General Style Game Legacy or Game
General AlwaysVisible false visible off-ship too
General Language auto auto (ru if RTLC/RUS installed, else en), en, ru
General Scale / RightOffsetPx 1.0 / 20 size / right margin
General PerspectiveStrength 0 keystone effect; try 0.16
General FadeWhenIdle / IdleFadeSeconds / IdleMinOpacity true / 4 / 0.32 idle dimming
General CameraSway / CameraSwayStrength true / 1.0 panel sways with the camera (Camera Overhaul synergy); 0 = off
Widgets Show* (Panel, Timer, Location, Quota, DayDeaths, Monsters, Traps, BrutalEvent, VictoryBanner, Ticker) true per-widget toggles
Behavior AutoTimer true auto start/pause timer
Behavior ShowAllEvents false all BCME events vs first only
Behavior ScaleMonstersByCount false experimental: no counts, bigger/shakier by count
Behavior RequireScanToShow false monsters appear only after you scan them
Behavior Scanlines true CRT lines
WebSocket Port 8181 built-in bridge port the HTML/OBS overlay reads

Install

Put LCBridgeOverlay.dll in BepInEx/plugins/ (r2modman profile). If you previously used the separate LCBridge mod, delete it — it's now built in. On Thunderstore, install through the GDLP modpack.

Known limitations

  • The perspective effect is experimental; if the panel looks distorted set PerspectiveStrength = 0 (the flat tilt remains).
  • Genuinely near-black monster renders (rare) come out as faint silhouettes.
  • Monster/trap icons are baked into the DLL; adding new ones needs a rebuild.

Credits

  • Solon — LCBridge & this overlay (part of GDLP).
  • Monster/trap art — Lethal Company wiki renders, keyed for transparency.
  • Built on BepInEx / HarmonyX / Unity uGUI / TextMeshPro.

License

Personal/modpack use. Ask before redistributing outside GDLP.


Русский

Что это

LCBridgeOverlay показывает ту же информацию, что и HTML-оверлей GDLP, но прямо в игре (Unity uGUI). Он сам собирает состояние игры — сборщик из LCBridge теперь встроен — и одновременно раздаёт эти данные по встроенному WebSocket (ws://localhost:8181), так что HTML-оверлей для OBS работает как раньше. Теперь всё делает один мод.

⚠️ Мод сделан для модпака GDLP. Это компаньон к конкретному набору модов и ждёт, что они установлены. Вне сборки GDLP он может выглядеть неправильно, показывать пустые поля или вовсе не появиться. Использование отдельно — на свой риск, это не универсальный оверлей.

ℹ️ С версии 1.3.0 сборщик LCBridge встроен. Отдельный мод LCBridge больше не нужен. Если он ещё установлен — удали его, иначе оба займут порт 8181 и HTML-оверлей может остаться без данных.

Требования

  • BepInEx 5.4.21+
  • Модпак GDLP (оверлей заточен под него).
  • Не держи одновременно старый мод LCBridge — его работа теперь здесь; вдвоём они конфликтуют за порт 8181.
  • (Опц.) Zehs-StreamOverlays — только если пользуешься HTML-оверлеем для OBS: он берёт квоту/день оттуда, а остальное — из встроенного моста этого мода.

Необязательные интеграции (мягкие)

Всё ниже опционально — если мода нет, соответствующая инфа просто пропускается, без ошибок:

  • BrutalCompanyMinusExtraReborn (BCME) — плашка ивента в цветах BCME.
  • BrutalCompanyMinus RUS + XUnity.AutoTranslator (RTLC) — русские названия ивентов (берутся из словаря переводчика).
  • WeatherTweaks — комбинированная погода.
  • LethalLevelLoader — имена кастомных интерьеров.
  • MoreCompany — размер экипажа.
  • MonstersGordion — монстры на луне компании (71-Gordion).
  • ToilHead — Coil-Head / Manticoil с турелью получают свои иконки.

Возможности

  • Панель у правого края, с наклоном и (опционально) перспективой — «как часть шлема».
  • Два стиля: Legacy (красный пиксельный из HTML) и Game (как чат, синие уголковые скобки).
  • Глаз-индикатор сверху: горит серым до первого тика моста, закрывается веком при уходе с корабля.
  • Таймер с миллисекундами; авто-старт на смене, пауза на загрузках/в меню, сброс на новом сейве. Есть и ручные клавиши.
  • Локация: луна, цветная погода, тип интерьера, число предметов внутри/снаружи, ульи, предупреждение Old Bird.
  • Квота: табы Q1–Q3, полоса выполнения, лут/квота, сумма лута на планете.
  • День и смерти, экипаж.
  • Иконки монстров по бортам — слева улица, справа комплекс; варианты монстра складываются в колоду; счётчик в углу.
  • Иконки состояний — многие монстры меняют иконку по состоянию, по приоритету (зол/атака > агрессия > трансформация > особое > пассив): жук (зол), джестер (вылез), ребёнок-людоед (взрослый), наткрекер (атакует), потолочная личинка (на потолке), койл (перестаёт качаться под взглядом), ToilHead (турель + стреляет трассерами).
  • Slayer/камикадзе — вместо перекраски в красный на иконку накладываются кровавые пятна по силуэту.
  • Сканирование (опц.): с RequireScanToShow монстр появляется только после скана. Девочка-призрак видна только своей жертве.
  • Ловушки (турели/мины/шипы) снизу; при «турельном» ивенте BCME турели стреляют трассерами.
  • Мини-плашка ивента BCME, выпадает после посадки — видна и у клиентов, не только у хоста.
  • Баннер победы после 3-й квоты с полной аналитикой забега.
  • Бегущая строка со сводкой.
  • CRT-полосы и потёртости рамок, едва заметные.
  • Покачивание за камерой — панель слегка наклоняется/плывёт вслед за камерой, в синергии с модами вроде Camera Overhaul (и мягко качается без них). Настройки CameraSway / CameraSwayStrength.
  • Затухание в бездействии: панель тускнеет, если долго не двигать камерой.
  • Спектатор: оверлей остаётся видимым, пока ты мёртв и наблюдаешь.
  • Учёт паузы: при Esc панель уходит в фон (приглушается), чтобы не мешать меню.

Управление

  • I — показать/скрыть (только на корабле, если не включён AlwaysVisible).
  • O — пауза/запуск таймера (клавиша сброса настраивается).

Конфиг (BepInEx/config/gdlp.lcbridgeoverlay.cfg)

Переключатели виджетов и поведения применяются на лету; стиль/язык/полосы — с перезапуском. Основное:

Секция Ключ По умолч. Примечание
General Enabled true общий выключатель
General Style Game Legacy или Game
General AlwaysVisible false видно и вне корабля
General Language auto auto (ru, если стоит RTLC/RUS, иначе en), en, ru
General Scale / RightOffsetPx 1.0 / 20 масштаб / отступ справа
General PerspectiveStrength 0 эффект перспективы; попробуй 0.16
General FadeWhenIdle / IdleFadeSeconds / IdleMinOpacity true / 4 / 0.32 приглушение в бездействии
General CameraSway / CameraSwayStrength true / 1.0 панель качается за камерой (синергия с Camera Overhaul); 0 — выкл
Widgets Show* (Panel, Timer, Location, Quota, DayDeaths, Monsters, Traps, BrutalEvent, VictoryBanner, Ticker) true тумблеры виджетов
Behavior AutoTimer true авто старт/пауза таймера
Behavior ShowAllEvents false все ивенты BCME или только первый
Behavior ScaleMonstersByCount false эксперимент: без цифр, размер/тряска по кол-ву
Behavior RequireScanToShow false монстр виден только после сканирования
Behavior Scanlines true CRT-полосы
WebSocket Port 8181 порт встроенного моста для HTML/OBS-оверлея

Установка

Положи LCBridgeOverlay.dll в BepInEx/plugins/ (профиль r2modman). Если раньше ставил отдельный LCBridgeудали его, он теперь встроен. На Thunderstore — ставится через модпак GDLP.

Известные ограничения

  • Перспектива экспериментальная; если панель кривит — поставь PerspectiveStrength = 0 (наклон останется).
  • Совсем чёрные рендеры монстров (редко) выходят бледными силуэтами.
  • Иконки монстров/ловушек зашиты в DLL; добавление новых требует пересборки.

Авторы

  • Solon — LCBridge и этот оверлей (часть GDLP).
  • Арт монстров/ловушек — рендеры с вики Lethal Company, вычищены под прозрачность.
  • Сделано на BepInEx / HarmonyX / Unity uGUI / TextMeshPro.

Лицензия

Для личного использования / модпака. Перед распространением вне GDLP — спроси.

CHANGELOG

Changelog — LCBridgeOverlay

1.5.1

  • Damage flash now works. HitEnemy is virtual and 21 enemies override it, so patching the base method alone missed almost every monster. All overrides are patched, and the flash is triggered directly instead of travelling through the one-second bridge tick.
  • End-of-day countdown fixed and restyled. It used to read 0 permanently (a normalised threshold was subtracted from day units), so it also sat on screen all day. It is now a centre-screen number over the last ten seconds, counted locally so no digit is skipped, and each second grows and fades as it flies toward you.
  • Weather is now part of the loot multiplier. The weather contribution was never counted: it is an instance property on the current weather, not a static field. It is read through the weather mod's current-weather API and honours that mod's own "use scrap multipliers" setting. The multiplier row is always shown while enabled, so x1 is visible too.
  • Same monster inside and outside now fades independently — both rails previously shared one distance.
  • Quota marks are a single centred line of five that recolours on each pass instead of growing new rows, and the analytics banner closes when the lever is pulled so the panel returns to its normal size.
  • Door radar triggers reliably: the "at a door" range was 6 m and almost never matched; it is now 14 m measured from the door itself.
  • Re-entering a save resets the overlay; the apparatus icon sits on the interior line; apparatus art re-keyed; new eye indicator.

1.5.0

  • Quota marks & endless runs. Every completed set of 3 quotas adds a small mark under the quota block (15 per row, colour changes after the first row, counts up to 100), and the tab labels roll onward: Q1 Q2 Q3Q4 Q5 Q6 → … Run analytics now appear at the end of every set of three and are cumulative for the whole run.
  • Team-wide death counter (TeamDeaths, on by default) — counts every player's death, even ones you didn't witness. Optional DeathsOnlyOnLeave updates the counter only when the ship leaves a moon.
  • Monsters behind the door (DoorRadar) — standing at a main entrance or fire exit reveals what's on the other side, via a virtual radar at the paired door (radius configurable, default 22 m).
  • Auto-hide on game popups (HideOnPopups) — tips, quota-delivery and end-of-day screens hide the overlay, which then returns to its previous state.
  • Auto-hide on store ads (HideOnStoreAd) — during a discount ad the overlay hides and can't be toggled back until it ends.
  • Sold-loot total in the analytics — how much was actually sold to the company across the run.
  • Previous-run analytics after eject — the summary stays up on the new ship and resets only when someone pulls the lever (kept in memory for the session only).
  • Nearest variant only (NearestVariantOnly) — when a monster exists in several versions (e.g. plain and turret-equipped), only the one closest to you is shown.
  • Combined loot multiplier (ShowLootMultiplier) — weather and event scrap-value multipliers summed into a single number.
  • End-of-day countdown (ShowEndOfDayCountdown) — appears in the last 10 seconds.
  • Damage flash (DamageFlash) — a monster's icon briefly flashes red when it takes damage (separate from the slayer blood-splatter).
  • Apparatus icon next to the interior while the apparatus is still inside; it disappears once it's carried out.
  • New eye icon for the connection indicator.
  • Fixes: the outside-scrap count no longer misses loot that Brutal Company events spawn shortly after landing (the snapshot used to lock on the first non-zero value); BCME events now also read BCME's synced panel variable, so clients see them even when the announce RPC is missed.
  • Verified: the timer runs on the Company moon (Gordion) and stops in orbit.

1.4.1

  • Proximity fade (ProximityFade, default on) — the closer a monster or trap is to you, the more opaque its icon; distant ones fade toward transparent.
  • Trap rail now matches the monster rails — icons sit on the bottom border line (following the event plate, lowered so they don't overlap the event text) and fade by proximity.
  • Grabbable traps counted — BCME's GrabbableTurret/GrabbableLandmine (which destroy & replace the normal ones) now show up as turrets/mines instead of vanishing.
  • Scan gating uses the in-game bestiary (Terminal.scannedEnemyIDs) — once you've scanned a creature it shows, reliably.
  • Overlay hides during takeoff (while the game shows the center-screen info and the leave-lever is disabled), and stays visible on landing.
  • Green halo around icons removed — the keyed-out transparent border is colour-bled so bilinear downscaling can't smear green; Gunkfish/Stingray icon maps correctly.
  • README/manifest/LICENSE de-branded; docs updated.

1.4.0

  • New monster icon pack — all monster/trap icons replaced with higher-quality green-screen renders, keyed and trimmed cleanly (incl. genuinely dark monsters like the Bracken).
  • Monster state icons. Many monsters now switch icon by their live state, chosen by priority (angry/attacking > aggression > transformed > special > passive):
    • Hoarding Bug — passive / angry
    • Jester — folded / popped (angry)
    • Child Eater (Cave Dweller) — child / adult
    • Nutcracker — passive / attacking
    • Snare Flea — floor / ceiling (ceiling takes priority)
    • Coil-Head — sway stops while any player looks at it (frozen)
    • ToilHead — plain head / turret, and it fires tracers when its turret shoots
  • Slayer / kamikaze variants now get a blood-splatter overlay baked onto the icon silhouette, instead of a flat red recolour.
  • RequireScanToShow (config, default off) — monsters only appear in the overlay after you've scanned them.
  • Ghost Girl only shows in the HUD of the player she's haunting.
  • Camera Overhaul synergy — the panel subtly tilts/drifts with the camera (reads the camera's real roll, so it works with any camera-motion mod, and gives a gentle sway in vanilla). Config: CameraSway, CameraSwayStrength.
  • Multiplayer fixes: BCME events now show on clients too (captured from BCME's synced tip), not just the host; and the overlay stays visible while you're spectating (dead).
  • Detection runs on a ~0.5 s timer (not per-frame) and is all soft/reflection — missing mods never break the overlay.
  • Fixes:
    • Overlay now fills in instantly on landing (event + interior + monsters in one packet) — forced refresh on ship-landed and on level-generated, instead of trailing in over a second.
    • Auto-timer no longer keeps ticking on orbit / during loads — it runs only while actually landed on a moon.
    • Toggle-key rebinding works — symbol keys like \ are accepted (were silently falling back to I), and the key applies live from config without a restart.

1.3.0

  • LCBridge is now built in. The overlay collects the game state itself and hosts the WebSocket bridge (ws://localhost:8181) that the OBS/HTML overlay reads — so the separate LCBridge mod is no longer needed (remove it to avoid a port conflict). One mod, no inter-mod dependency.
  • Data path is now in-process (no self-connecting WebSocket client); the eye indicator tracks the bridge "heartbeat".
  • Manual RU translation of BCME event names (~270 events) — replaces the auto-translator, which couldn't handle BCME's internal event IDs.
  • Full language consistency: everything now follows the language setting (EN or RU) — death causes are no longer hard-coded, and the victory stamp/title localise properly. No more mixed EN/RU.
  • ScaleMonstersByCount now scales trap icons by count too, not just monsters.
  • New icon: Lasso Man (no longer hidden); redone HD icons for Feiopar, Giant Sapsucker, Gunkfish, Red Locust.
  • Fixes: the victory banner now tilts/warps with the rest of the panel; the Q1/Q2/Q3 tabs stay inside their frames when the panel grows (victory screen); the overlay now dims into the background while the pause (Esc) menu is open, so it no longer competes with the menu (LC's menu is camera-space, so a Screen-Space-Overlay panel can't render strictly behind it).
  • Config [WebSocket] simplified to a single Port (the built-in bridge port).

1.2.0

  • Helmet-HUD tilt (always on) + optional perspective / keystone effect (PerspectiveStrength).
  • Eye indicator moved to the header, centered next to the timer; closes like an eyelid when leaving the ship.
  • CRT scanlines + worn (grunge) frame edges.
  • Idle fade with configurable delay and opacity (FadeWhenIdle, IdleFadeSeconds, IdleMinOpacity).
  • Pause-aware: panel stays on the game plane under the Esc menu (no longer hidden).
  • Timer shows milliseconds (fixed-width, no more flicker on ms updates).
  • Monster rails: icons under the same angle/perspective, top-aligned (outside = inside), count badge in the corner; stable order (no per-second re-pop); experimental ScaleMonstersByCount.
  • MonstersGordion support (via LCBridge) — monsters on the Company moon.
  • BCME RUS / XUnity.AutoTranslator integration — translated event names.
  • Removed redundant UseLegacyStyle (use Style) and the TiltAngle config (tilt is now a fixed base).
  • New icons: Masked, ToilHead (coil+turret); Barber name alias fix (ClaySurgeon).

1.1.0

  • Monster/trap icons on the side rails (baked into the DLL), turret-fire tracers.
  • Victory banner with run analytics; ticker.
  • Blue-bracket "Game" style vs red "Legacy" style.
  • Custom eye sprite as the connection indicator.
  • RTLC / Russian language support.

1.0.0

  • First in-game overlay: panel at the right edge, reads LCBridge WebSocket, widgets with per-widget toggles, timer, location/quota/day/deaths, BCME event plate.