Record, rewind, merge and loop your parallel-sekuential adventures in a single player main timeline.
Time-rewind mission recording for KSP1. Record missions sequentially, return to an earlier time, and watch them play out in parallel alongside you while you fly new ones.
- Launch a mission and fly it normally
- Recording starts automatically when your vessel leaves the pad
- Merge your recorded mission to the single player main timeline
- Rewind to any launch
- Launch another mission - your recorded flight replays alongside you - you can even loop it in the background!
- Vessel spawns at its final recorded position with the original crew when playback finishes
Recorded vessels are full visual replicas - original part meshes, textures, engine flames, staging, and parachutes all play back at the correct times.
Time travel paradoxes are avoided by enforcing causality: events are always processed in time-axis order, and the timeline is strictly additive - recordings and game state changes can only be appended, never deleted or retroactively modified. This means the world state at any point in time is fully determined by the ordered sequence of committed events before it.
- Automatic recording on launch and EVA from pad
- Visual replay with original part meshes, textures, and engine FX
- Looped playback - fly missions and loop their recordings - add as many rockets, spaceships or aircraft in the sky as you want - great for in-game video recordings!
- Mission loops - group a recording tree into a mission and loop the whole mission as a unit, not just one recording at a time (in flight, the Space Center, and the Tracking Station). Loop it faster than its length and it overlaps into several staggered replays; orbital and Mun / Minmus missions relaunch at the right window so the replay lines up with the live sky. Each looped or overlapping replay appears on its own orbit in Map view and the Tracking Station, matching flight.
- Logistics network - fly a cargo route once, Parsek records it, then that recording becomes a reusable supply route that replays automatically between bases. The route replays the recorded run on a looped mission and delivers the same cargo to the destination each cycle, charging stock-realistic funds for KSC-origin routes in Career.
- Vessel persistence - recorded vessels spawn with crew, or get recovered for funds
- Crew management - reserved crew get temporary replacements so your roster stays full
- Orbital recording - time warp segments use analytical Keplerian orbits with attitude preservation (SAS-locked orientations like retrograde, normal, radial hold correctly throughout the orbit)
- Part events - staging, decoupling, parachutes, engines, solar panels, antennas, lights, landing gear, cargo bays, fairings, RCS, and inventory deployables replay on the ghost; docking / undocking are recorded as chain boundaries
- Resource tracking - game actions related to funds, science, and reputation deltas are recorded and applied at the correct time
- Rewind to launch - go back to any earlier point in your timeline; resources reset to baseline, ghost playback re-applies everything at the correct time
- Rewind to separation - go back to any past staging, undock, or EVA event and fly the sibling vessel you did not originally fly - take a spent booster back down for a self-landing recovery, fly the other half of an undock, or save a poor EVA kerbal that had to jump out; the previously-committed flight plays as a ghost while the new attempt commits additively alongside it
- Multi-vessel recording - undocking, EVA, and docking are tracked automatically; all vessels in a mission record as a single tree
- Career mode integration - milestones track tech research, part purchases, facility upgrades, and contracts; resource budgeting prevents paradoxes when rewinding
- Recordings manager - browse, sort, loop, and delete individual recordings
- External recording files - authoritative trajectory/snapshot sidecars keep saves lightweight, with default-on readable mirror files for storage debugging
The Parsek window is available from the toolbar button in Flight and Map view.
| Mod | Integration |
|---|---|
| PersistentRotation | When detected, Parsek records vessel angular velocity at time warp boundaries. Ghost vessels spin during orbital playback, matching what the player saw with PersistentRotation active. Without it, ghosts hold their SAS-locked attitude (the correct behavior for stock KSP, which freezes rotation on rails). |
| KSP Community Fixes | Fully compatible. KCF's FlightIntegratorPerf patch replaces the body of VesselPrecalculate.CalculatePhysicsStats for performance; Parsek's recording postfix on the same method composes cleanly on top, so recordings still capture every physics frame. Players running long missions with high part counts benefit from KCF's perf gains and its stock-bug fixes (packed-parts rotation, time-warp orbit drift, memory-leak cleanup). |
| Waterfall | Fully compatible, including config packs like Stock Waterfall Effects. The vessel you fly gets the full Waterfall plumes and sounds. Ghosts keep Parsek's lightweight stock-style particle plumes: the config packs delete the stock effect definitions ghosts are built from, so Parsek rebuilds ghost engine and RCS effects from each part's original config on disk. Recordings work across Waterfall installs and uninstalls. |
| ReStock / ReStock+ | Fully compatible, alone or combined with Waterfall config packs. Ghosts keep ReStock's engine plumes and RCS puffs in every configuration: when a Waterfall pack deletes ReStock's effect definitions, Parsek recovers them from ReStock's own patch files on disk, and Parsek's stock-specific plume tweaks step aside on ReStock-modeled parts. ReStock's special effect rigs are adapted for ghosts: depth-mask meshes are skipped (instead of punching see-through holes in claws, jets, intakes, and antennas), smoke trails aim along each engine's exhaust axis, world-space smoke gets a minimum flow so static ghosts do not pool it at the nozzle, and far-mounted smoke sources (Twin-Boar) are re-anchored to the nozzle. With ReStock+ installed, the parts showroom adds rows for ReStock+ engines, RCS blocks, antennas, the service bay, and fairings. |
| Better Time Warp | Fully compatible. The mod's higher warp rates simply hide ghost effects and meshes a little sooner (the right behavior at speed) — recording, playback, and time-jump all read time warp by rate value or level index, so nothing assumes the stock ceiling. Because Better Time Warp also relaxes KSP's per-body warp altitude limits, Parsek snapshots each body's stock limits at load (before the mod overrides them) so trajectory splits on airless bodies keep their correct approach altitude. |
Requires KSP 1.12.x.
Dependencies (install these first):
| Dependency | Author | License | Link |
|---|---|---|---|
| Module Manager 4.2.3+ | sarbian | CC-BY-SA 3.0 | GitHub |
| HarmonyKSP 2.2.1+ | KSPModdingLibs (pardeike) | MIT | GitHub |
| ClickThroughBlocker 2.1.10+ | linuxgurugamer | LGPL-3.0 | GitHub |
| ToolbarControl 0.1.9+ | linuxgurugamer | LGPL-3.0 | GitHub |
Copy the Parsek folder into GameData/.
cd Source/Parsek
dotnet build
Requires .NET SDK and KSP assemblies in Kerbal Space Program/KSP_x64_Data/Managed/.
Parsek's infrastructure - looped playback, vessel snapshots, game state tracking, resource budgeting - forms a natural foundation to build on. The first of these has already shipped (Supply routes, above, grew out of the logistics-network idea); the rest are not planned features, just ideas that the architecture makes possible:
- Multiplayer-like experience - share recording files with other players and watch their missions play out as ghosts in your game, turning single-player KSP into a shared timeline
- Space race - competing space programs on Kerbin racing to objectives, with ghost replays of rival missions playing out alongside yours - multiplayer or pre-recorded
See the roadmap for what's planned and what's possible.
Parsek is currently in active development and has not reached a stable release. During this period, features, recording formats, game logic, and save data structures may change without notice. While I make reasonable efforts to provide migration paths (e.g., automatic format upgrades), no guarantees of backwards compatibility are made during the beta phase.
After the first official stable release, I will do my best to preserve backwards compatibility for existing recordings and save data, and will document any breaking changes in the release notes.
MIT
Parsek was inspired by and learned from the KSP modding community. The following mods and their authors shaped our approach to vessel recording, playback, spawning, and UI integration:
- FMRS (linuxgurugamer / dtobi) - time-revert patterns for stage recovery
- Persistent Trails (JPLRepo) - trajectory recording and adaptive sampling
- PersistentRotation (MarkusA380) - orbital rotation persistence, angular velocity handling during time warp
- KSP Community Fixes (gotmachine / KSPModdingLibs) - Harmony patching patterns, performance techniques
- VesselMover (jrodrigv / BDArmory team) - vessel positioning and geographic coordinate handling
- StageRecovery (linuxgurugamer / magico13) - GameEvents + polling hybrid for event detection
- Kerbal Alarm Clock (TriggerAu) - time-based event scheduling
- ClickThroughBlocker (linuxgurugamer) - UI click-through prevention
- ToolbarControl (linuxgurugamer) - toolbar integration
- Camera Focus Changer (linuxgurugamer) - camera pivot techniques for ghost vessel tracking
- Dark Multiplayer (godarklight) - subspace selection patterns for selective vessel spawn UI
- CommNetManager (DBooots / KSP-TaxiService) - understanding CommNet internals for ghost relay node registration
- RemoteTech (RemoteTechnologiesGroup) - CommNet replacement detection, graceful degradation patterns
- Module Manager (sarbian) - essential config patching
- Harmony (HarmonyKSP) (KSPModdingLibs / pardeike) - runtime method patching
- Better Time Warp (linuxgurugamer) - time warp rate table internals and per-body altitude-limit handling
Special thanks to linuxgurugamer for maintaining so many essential KSP mods, and to the KSP modding community for making this kind of project possible.
