CommanderMechavala-MechFix icon

MechFix

Acelera la carga de lunas en modpacks pesados de Lethal Company. DunGen genera por frames: MechFix libera frames durante la carga y recorta el spam de log que se los comia.

Last updated 20 hours ago
Total downloads 18
Total rating 0 
Categories Bug Fixes
Dependency string CommanderMechavala-MechFix-0.7.1
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

MechFix

Acelera la carga de lunas en modpacks pesados de Lethal Company v81.

El hallazgo

DunGen genera el dungeon por frames. Reparte el trabajo en porciones y hace una por frame. Eso significa que el tiempo de carga no depende solo de cuánto trabajo hay: depende de cuántos frames por segundo consigue el juego mientras trabaja.

Medido con el cronómetro propio de MechFix, 12 aterrizajes reales:

Luna / Interior Duración FPS durante la carga
Rockwell / Raven Manor 85.3 s ~2.5
Riptide / junkrooms 78.4 s ~6.0
Syndication / Spelunkers Caverns 36.3 s ~10.0
Lithium / CIDOM Metro 31.9 s ~11.5
Amantia / Mineshaft 27.3 s ~16.0
Praetor / CIDOM Metro 16.6 s ~22.0
Condemned / Sub Systems 7.7 s ~16.9

La duración es inversamente proporcional a los FPS. El mismo interior (CIDOM Metro) tardó 16.6 s a 22 fps y 31.9 s a 11.5 fps.

Cada frame que se gana durante la carga es tiempo de espera que se pierde. Todo lo que MechFix hace sale de ahí.

Qué hace

Libera frames mientras se genera el dungeon

Se aplica al empezar la generación y se revierte exactamente al terminar. Fuera de ese intervalo el juego queda idéntico.

Medida Qué libera Por defecto
Baja el nivel de calidad gráfica sombras, texturas, LOD, anisotrópico y partículas de una vez ✅ activo
Apaga las sombras el costo de render más grande y más fácil de quitar ✅ activo
Destapa el límite de frames (vSync) los frames rápidos ya no esperan al refresco de pantalla ✅ activo
Difiere la sincronización de físicas instanciar cientos de props deja de resincronizar el mundo físico cada vez ⚠️ apagado

El último viene apagado a propósito: es el más potente y el único con riesgo real, porque cambia la semántica de las consultas de física. Si lo activás, probalo antes de jugar en serio.

Quita trabajo por frame

En una sesión medida de 16 aterrizajes el log tenía 37 169 líneas, y unas 20 000 eran spam por frame que nadie lee: el pipeline de micrófono de Dissonance (procesando audio jugando solo), la IA del Bracken (Debug.Log que quedó en el código vanilla), warnings de colliders. Cada línea paga stack trace + escritura sincrónica a disco, en el hilo principal.

Medida Alcance
Sin stack traces en Log/LogWarning 92 % de las líneas
Bloqueo en origen de 12 patrones 39 % de las líneas

Resultado medido tras activarlo: Dissonance pasó de 5 157 líneas a 97, y el log bajó de 2 323 a 1 173 líneas por aterrizaje.

En partidas con amigos

Los ajustes gráficos son locales de cada jugador, y en Lethal Company cada cliente genera su propio dungeon. Por eso MechFix no necesita sincronizar nada por red: si cada jugador lo tiene instalado, a cada uno se le acelera su propia carga.

Instalalo en todos los PCs. Si solo lo tiene el anfitrión, solo el anfitrión carga más rápido, y los demás lo esperan igual.

Qué NO toca

  • La jugabilidad. No cambia el tamaño de los dungeons, ni la generación, ni el pathfinding, ni el loot. Los ajustes gráficos vuelven a como estaban al terminar de cargar.
  • Los errores conservan su stack trace. Son los únicos que se leen.
  • Detected a frame skip no se bloquea. Es la única métrica fiable de stalls que hay en el log. Bloquearla sería cegarse para que el log se vea limpio.

Cómo leer el log

findstr /C:"MechFix 0.3.0"  LogOutput.log    :: confirma que cargó el build correcto
findstr /C:"GENERACION"     LogOutput.log    :: duración, frames y fps de cada carga
findstr /C:"boost"          LogOutput.log    :: qué se aplicó y qué se restauró
findstr /C:"niveles de cal" LogOutput.log    :: qué niveles de calidad define tu juego

La línea de fin de generación trae todo junto:

<<< GENERACION #3 TERMINA  (+17.20s desde el inicio)  [frames=306 fps=17.8 peor frame=412ms]

Configuración

BepInEx/config/martinchavez.mechfix.cfg. Todo se puede apagar por separado.

qualityLevelDuringLoad acepta el nombre exacto de un nivel de calidad (por ejemplo Retro) si tu build lo define; vacío usa el más bajo disponible. MechFix escribe en el log los niveles que encontró, así que mirá ahí antes de poner un nombre.

Compatibilidad

Lethal Company v81, BepInEx 5.4.23. No requiere ningún mod de contenido. Los tipos del juego se resuelven por nombre en tiempo de ejecución: un método renombrado en una versión futura se reporta en el log en vez de impedir que el mod cargue.