lukecripwalker-SmoothShip icon

SmoothShip

Fewer freezes in modded lobbies: saves write the save file once instead of once per value, and the forced memory cleanups some mods run on every unload become one.

Last updated 41 minutes ago
Total downloads 1
Total rating 0 
Categories Mods Client-side Server-side AI Generated
Dependency string lukecripwalker-SmoothShip-0.1.0
Dependants 0 other packages depend on this package

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

Smooth Ship

Cuts freezes that big modpacks cause, without changing gameplay.

What it does

  • Lighter saving: the game and many mods save each value by reading the whole save file, decrypting it, encrypting it again and writing it back. Smooth Ship holds the save file in memory while the game saves and writes it once at the end. If anything opens the save file directly in the middle of a save, Smooth Ship writes its copy first and lets the rest of that save go to disk as usual, so nothing is lost.
  • One cleanup instead of several: LethalLevelLoader runs two asset unloads and a forced full memory cleanup each time one of its bundles unloads, once per bundle. Smooth Ship waits a moment and runs a single asset unload for all of them (Unity frees memory as part of it). After DawnLib unloads an interior, it runs an extra forced cleanup on top of the asset unload; Smooth Ship drops that extra one.

Each part switches off by itself when the mod it patches isn't installed or has changed.

Config

  • BatchSaves: lighter saving (on).
  • VerifySaves: after each save, read the file back and check every value (off; for testing).
  • MergeCleanups: one cleanup instead of several (on).
  • CleanupDelay: seconds to wait for more unloads before the cleanup (2).
  • LogTimes: log how long each save and cleanup took (off).

Install

Client-side. The lighter saving only does something for the host, who writes the save file; the cleanups help everyone.