Terminal that can kill
The terminal glitches: mines detonate and turrets go berserk instead of disabling, and closing ship & security doors crush anyone in the doorway.TERMINAL THAT CAN KILL
Language / Язык: English · Русский
TERMINAL THAT CAN KILL
Author: Solo00n
The ship and facility doors slam shut on anyone in the doorway, and the terminal stops disabling traps — it detonates mines and drives turrets berserk instead.
WHAT IT DOES
- Deadly ship door — the hangar door crushes any player or monster standing in the opening when it closes (on the surface only).
- Deadly facility doors — the big terminal-code security doors crush whoever is in the opening when they slam shut.
- Remote mine detonation — entering a mine code blows it up instead of disabling it; a critical error chain-detonates nearby mines.
- Turret rampage — entering a turret code sends it berserk (spins and fires at everyone); a critical error extends the rampage.
- Hijacked traps — a trap can flip to your side: an allied turret behaves like a normal turret but cannot see players, and hunts monsters instead, and an allied mine can no longer be set off by the team and waits for a monster instead.
- Turret head flip — after leaving berserk a turret smoothly turns its head 180° and rests facing the opposite way.
- Barber-style death — door kills reuse the Barber (Clay Surgeon) death: the body is launched up and ragdolls.
- Fully configurable — every mechanic can be tuned or turned off.
HOW IT WORKS
- The kill zone is a thin oriented slab sitting in the doorway plane, not a proximity sphere — only someone standing in the opening is caught.
- Ship door: detected via
doorPower < 1plus theShipDoorCloseanimator state; the doorway is at a fixed world position (the ship never moves). - Facility doors: detected on the
SetDoorOpenopen→closed transition and processed frame by frame. - Traps use the vanilla synced RPCs (
ExplodeMineServerRpc,EnterBerserkModeServerRpc) — no custom network objects. - Trap power is never forced, so power mods such as DefendFacility stay in charge of whether a trap is on; this mod only changes who it targets. Its mini turret is treated as the crew's own and is allied from the start.
MULTIPLAYER (HOST-AUTHORITATIVE)
Both the host and all clients must install the mod. It changes shared game rules, not one player's private state.
Players: each client only kills its own local player;KillPlayersyncs that death to everyone, so exactly one authoritative kill happens.
Monsters: only the host iterates and kills enemies (the host owns enemy AI), which syncs to clients.
Traps: mine and turret effects fire through the game's own server RPCs, so all clients see the same result.
Hijacks: the client that typed the code decides, then announces it on a vanilla RPC carrying a marker only this mod sends; everyone else obeys that marker and never rolls again, so no one can disagree — still no custom networking.
REQUIREMENTS
- BepInEx 5.4.21+ (
BepInEx-BepInExPack-5.4.2100) - Lethal Company V81
INSTALLATION
- Mod manager (r2modman / Thunderstore Mod Manager): search for the mod and click Install.
- Manual: install the BepInEx pack, then drop
Solon.TerminalThatCanKill.dllintoBepInEx/plugins/.
CONFIGURATION
File: BepInEx/config/Solon.TerminalThatCanKill.cfg (created on first launch).
| Key | Default | Description |
|---|---|---|
Enabled | true | Master switch for the deadly-doors mechanic. |
KillPlayers | true | Kill players caught in a closing doorway. |
KillMonsters | false | Kill ship-capable monsters caught in a closing doorway. |
AffectedDoors | Both | ShipDoor / TerminalDoors / Both. |
SafeZoneSeconds | 5 | Grace period after landing during which doors do not kill. |
DamageMode | InstantKill | InstantKill or DamageOverTime. |
EnableRemoteControl | true | Detonate/rampage traps instead of disabling them. |
MineErrorChance | 0.15 | Chance a mine command detonates the mine instead of disarming it. |
TurretErrorChance | 0.15 | Chance a turret command sends it berserk instead of disabling it. |
TurretFlipOnBerserkExit | true | Turret head turns 180° after leaving berserk. |
EnableAlliedTraps | true | Allow a trap command to hijack the trap to your side. |
AlliedChance | 0.25 | Chance a trap command hijacks the trap instead. Rolled per command. |
AlliedDuration | 0 | Seconds a hijacked trap stays allied. 0 = permanent. |
MiniTurretAlwaysAllied | true | DefendFacility's mini turret is allied from the start and never needs hacking. |
VerboseLogging | false | Per-event diagnostics in the log, including the offset used to tune the kill zone. |
Advanced tuning (zone sizeDoorwayThickness/Width/Height, close timings,PlayerDeathAnimationId, chain radius, rampage duration) lives in theDoors.AdvancedandRemoteControl.Advancedsections; hijack tuning lives inAlliedTraps.
COMPATIBILITY
- Works on vanilla and modded moons (LethalLevelLoader) — doors are found dynamically, no hard-coded scenes.
- Fair AI replaces the turret AI; the mod detects it and hands the turrets over, enforcing the hijack inside Fair AI's own pipeline so an allied turret never targets or damages players.
- No custom network objects; relies on vanilla RPCs — low conflict risk with other terminal mods.
- If another mod also patches the terminal code function, set
EnableRemoteControl = falseto avoid overlap.
BUILD
dotnet build LethalDoors.csproj -c Release
Output: bin/Release/Solon.TerminalThatCanKill.dll. Game assemblies are referenced via the LethalCompany.GameLibs.Steam NuGet package as compile-only (PrivateAssets="all") — no game files are distributed.
CREDITS
- Solo00n — author.
- Built on BepInEx and HarmonyX.
- Inspiration: Lethal Doors by saint_kendrick (ship-door approach), RemoteMineDetonation by jacksonb-cs (terminal detonation idea) and AlliedDefenses by Remilulz91 (the idea of turning traps against the monsters). Implementation here is written from the game's own code, not taken from those mods.
- Licensed under MIT.
TERMINAL THAT CAN KILL
Автор: Solo00n
Двери корабля и комплекса захлопываются насмерть на том, кто стоит в проёме, а терминал больше не отключает ловушки — вместо этого он детонирует мины и сводит турели с ума.
ЧТО ДЕЛАЕТ МОД
- Смертельная дверь корабля — рампа раздавливает игрока или монстра в проёме при закрытии (только на поверхности).
- Смертельные двери комплекса — большие двери с кодом раздавливают того, кто стоит в проёме при захлопывании.
- Удалённая детонация мин — ввод кода мины взрывает её вместо отключения; при критической ошибке детонируют соседние мины.
- Бешенство турели — ввод кода турели вводит её в берсерк (крутится и стреляет по всем); ошибка продлевает раж.
- Захваченные ловушки — с некоторым шансом ловушка переходит на вашу сторону: союзная турель работает как обычная, но не видит игроков — и охотится на монстров, а союзная мина больше не срабатывает на команду и ждёт монстра.
- Разворот головы турели — после берсерка турель плавно поворачивает голову на 180° и остаётся смотреть в другую сторону.
- Смерть как у Barber — смерть от двери повторяет смерть от Barber (Clay Surgeon): тело подбрасывает вверх.
- Полная настройка — любую механику можно подстроить или выключить.
КАК ЭТО РАБОТАЕТ
- Зона поражения — тонкая ориентированная «плита» в плоскости проёма, а не сфера: убивает только того, кто стоит в проёме.
- Дверь корабля: определяется по
doorPower < 1плюс состоянию аниматораShipDoorClose; проём в фиксированной точке мира (корабль не двигается). - Двери комплекса: ловятся на переходе
SetDoorOpenоткрыта→закрыта и обрабатываются покадрово. - Ловушки используют ванильные синхронизированные RPC (
ExplodeMineServerRpc,EnterBerserkModeServerRpc) — без своих сетевых объектов. - Питание ловушек мод не трогает, поэтому моды питания вроде DefendFacility остаются главными в вопросе «включена ли ловушка»; этот мод меняет только цель. Её мини-турель считается своей и союзна с самого начала.
МУЛЬТИПЛЕЕР (HOST-AUTHORITATIVE)
Мод должен стоять и у хоста, и у всех клиентов. Он меняет общие правила игры, а не приватное состояние одного игрока.
Игроки: каждый клиент убивает только своего локального игрока;KillPlayerсинхронизирует смерть на всех — ровно одно авторитетное убийство.
Монстры: перебирает и убивает врагов только хост (владеет ИИ), что синхронизируется клиентам.
Ловушки: эффекты мин и турелей идут через серверные RPC самой игры, поэтому итог одинаков у всех.
Захват: решает клиент, который ввёл код, и объявляет об этом ванильным RPC с меткой, которую шлёт только этот мод; остальные подчиняются метке и не перебрасывают — разойтись невозможно, и своей сети по-прежнему не нужно.
ЗАВИСИМОСТИ
- BepInEx 5.4.21+ (
BepInEx-BepInExPack-5.4.2100) - Lethal Company V81
УСТАНОВКА
- Через менеджер (r2modman / Thunderstore Mod Manager): найти мод и нажать Install.
- Вручную: установить BepInEx-пак, затем положить
Solon.TerminalThatCanKill.dllвBepInEx/plugins/.
НАСТРОЙКА
Файл: BepInEx/config/Solon.TerminalThatCanKill.cfg (создаётся при первом запуске).
| Ключ | По умолчанию | Описание |
|---|---|---|
Enabled | true | Главный выключатель механики смертельных дверей. |
KillPlayers | true | Убивать игроков в закрывающемся проёме. |
KillMonsters | false | Убивать монстров (способных войти в корабль) в проёме. |
AffectedDoors | Both | ShipDoor / TerminalDoors / Both. |
SafeZoneSeconds | 5 | Безопасный период после посадки, пока двери не убивают. |
DamageMode | InstantKill | InstantKill или DamageOverTime. |
EnableRemoteControl | true | Детонация/раж ловушек вместо отключения. |
MineErrorChance | 0.15 | Шанс, что команда подорвёт мину, а не обезвредит её. |
TurretErrorChance | 0.15 | Шанс, что команда отправит турель в берсерк, а не выключит её. |
TurretFlipOnBerserkExit | true | Разворот головы турели на 180° после берсерка. |
EnableAlliedTraps | true | Разрешить захват ловушки на свою сторону. |
AlliedChance | 0.25 | Шанс, что команда захватит ловушку. Бросается на каждую команду. |
AlliedDuration | 0 | Сколько секунд ловушка союзная. 0 = навсегда. |
MiniTurretAlwaysAllied | true | Мини-турель DefendFacility союзная сразу и не требует взлома. |
VerboseLogging | false | Подробные логи, включая смещение для настройки зоны убийства. |
Тонкая настройка (размеры зоныDoorwayThickness/Width/Height, тайминги закрытия,PlayerDeathAnimationId, радиус цепи, длительность ража) — в разделахDoors.AdvancedиRemoteControl.Advanced; настройки захвата — вAlliedTraps.
СОВМЕСТИМОСТЬ
- Работает на ванильных и модовых лунах (LethalLevelLoader) — двери находятся динамически, без хардкода сцен.
- Fair AI полностью заменяет ИИ турелей; мод определяет его и отдаёт турели ему, встраивая взлом уже внутрь его логики — союзная турель не целится в игроков и не наносит им урона.
- Не создаёт своих сетевых объектов, опирается на ванильные RPC — низкий риск конфликтов.
- Если другой мод тоже патчит функцию кода терминала — поставьте
EnableRemoteControl = false.
СБОРКА
dotnet build LethalDoors.csproj -c Release
Результат: bin/Release/Solon.TerminalThatCanKill.dll. Сборки игры подключены через NuGet-пакет LethalCompany.GameLibs.Steam только для компиляции (PrivateAssets="all") — файлы игры не распространяются.
БЛАГОДАРНОСТИ
- Solo00n — автор.
- Построено на BepInEx и HarmonyX.
- Идеи: Lethal Doors от saint_kendrick (подход к двери корабля), RemoteMineDetonation от jacksonb-cs (детонация из терминала) и AlliedDefenses от Remilulz91 (идея обращать ловушки против монстров). Реализация здесь написана по коду самой игры, а не взята из этих модов.
- Лицензия MIT.
