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.
QuickRunReload
Host-only manual or optional automatic reload of the current landing from a pre-landing checkpoint.
By qup0ix
| Last updated | 2 weeks ago |
| Total downloads | 58 |
| Total rating | 0 |
| Categories | Mods BepInEx Server-side Tweaks & Quality Of Life AI Generated |
| Dependency string | qup0ix-QuickRunReload-1.2.0 |
| 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.2305README
QuickRunReload
QuickRunReload creates a checkpoint of the active campaign save immediately before every landing. After a full crew wipe, the host can press F8, submit a configurable chat command, or optionally use automatic restart to restore that checkpoint, cleanly shut down the failed network session, and automatically host the same save again.
This is a run retry, not a campaign reset. It does not create a Day 1 save.
What is restored
- day, quota and deadline;
- group credits;
- ship upgrades and unlockables;
- ship items and furniture saved before landing;
- the exact active save slot/name;
- per-save
.moddatasidecars that already exist beside the main save.
Usage
- Host a saved game normally.
- Start a landing. The checkpoint is made before
StartOfRound.StartGame()changes the round. - After everybody dies, press F8 or open chat and submit
/restart. Both work while the host is dead/spectating. - The host returns to the main menu briefly and QuickRunReload automatically hosts the restored save.
The hotkey is configurable in BepInEx/config/qup0ix.QuickRunReload.cfg. The safety option RequireAllPlayersDead defaults to true.
The chat settings are:
[Chat]
EnableChatCommand = true
ChatCommand = /restart
HideCommandMessage = true
ChatCommand may be changed to any non-empty exact message, such as /rr, /again, or /resetpls. Matching ignores case and surrounding whitespace, but does not accept arguments or partial matches. Only the host can request a reload. With HideCommandMessage = true, the exact command is consumed locally and is not sent as ordinary chat. With it set to false, a living host uses the normal game chat path; vanilla does not broadcast chat from a dead player.
Automatic restart
QuickRunReload can optionally restart the current landing automatically when every active player in the session is dead.
This does not wait for the vanilla wipe/game-over sequence. The host polls the existing player list four times per second, confirms that no active connected living players remain, waits for the configured delay, and uses the same safe reload path as the hotkey and chat command.
[AutoRestart]
EnableAutoRestart = false
AutoRestartDelay = 3
Only the host performs the reload. Empty slots, players who have not joined, disconnected players, and inactive technical slots are ignored. A negative delay is treated as zero.
If a revive or respawn mod makes any active player alive again before the delay expires, the pending automatic restart is cancelled. A later full wipe starts a new timer. Automatic restart is disabled by default so updating does not change existing behavior unexpectedly.
Because Lethal Company's supported cleanup/reload path destroys the old network host, remote players are disconnected during the retry. They can rejoin the newly created Steam lobby/invite; after joining they receive the restored campaign state from the host. No client installation is required for the checkpoint logic itself, though all players still need the same content/network mods required by the lobby.
Save safety
The backup is stored under BepInEx/config/QuickRunReload/checkpoint. On a hotkey, chat, or automatic request, the mod restores it before disconnecting and Harmony-suppresses the unconditional GameNetworkManager.SaveGame() inside Disconnect(). It restores the backup once more immediately before GameNetworkManager.StartHost() loads the slot.
If automatic hosting times out, the restored save remains on disk and can be hosted manually. The checkpoint folder is intentionally retained for recovery.
Compatibility
- LobbyControl: no hard dependency. Re-hosting uses the vanilla
GameNetworkManager.StartHost()andMenuManager.StartHosting()path, so normal lobby patches can run again. If LobbyControl autosave is disabled, QuickRunReload temporarily permits exactly the pre-landing checkpoint write and then restores that setting. - Save Before Landing: compatible and redundant; QuickRunReload also calls the game's real
SaveGame()before copying the file. - MoreCompany: no direct game/player-count patches are made. The old lobby is recreated, so clients must rejoin.
- LateCompany: no hard dependency. It can help players rejoin the recreated lobby.
- Revive/respawn mods: the automatic countdown is cancelled whenever at least one active connected player becomes alive again.
- BetterChat/other chat mods: no hard dependency. QuickRunReload only prefixes the vanilla submit/open handlers, leaves all non-command messages untouched, and consumes only a full configured-command match when hiding is enabled.
LobbyControl currently declares LateCompany itself incompatible; that is an incompatibility between those two mods, not a QuickRunReload patch collision.
QuickRunReload patches StartOfRound.StartGame() (checkpoint), GameNetworkManager.SaveGame() (temporary suppression), and the vanilla HUDManager.EnableChat_performed/SubmitChat_performed handlers for the host command.
Installed-build target used for 1.2.0
- Lethal Company Steam build ID
22825947 - Unity
2022.3.62f2 - BepInEx
5.4.23.5 - HarmonyX
2.9.0 - target framework
netstandard2.1
Build
The project references the game's real assemblies through GameDir and the active profile's BepInEx assemblies through BepInExDir. Override either MSBuild property if the locations differ:
dotnet build -c Release -p:GameDir="C:\Program Files (x86)\Steam\steamapps\common\Lethal Company" -p:BepInExDir="C:\path\to\profile\BepInEx\core"
Do not ship the referenced game, Unity, BepInEx, or Harmony DLLs in the package.