Pool KSP Instances with CKAN

,

III- Aller plus Loin ?

Inception

So, I can already see the clever ones wondering if it’s possible to create clones of clones. The answer is NOT REALLY. While it is technically possible, any mods added to the first clone will be entirely copied to the second-level clone. All Junction Points are systematically linked to the original instance. It would technically be possible to create these links manually via the command line, but managing mods through CKAN would then be much more complicated: an update to a mod in a lower instance would not be reflected in the ./CKAN directories of the higher instance, and it would not know that the mod has been updated. This would need to be managed manually. Perhaps this will be made possible in a future version…

Nevertheless, we can imagine an implementation like this:

Level 1 (5,46Gb)
KSP1125STOCK
Level 2 (5,81Gb)
KSP_N1BaseGame
Level 3
User Instances
Savings
KSP 1.12.5 StockCommunity Fixes
MJ, KER, RCS Build Air
TWP Forked
Parallax, EVE, Scatterer
Deferred, TUFX
Restock & Restock+
Waterfall
ZTheme
(inclus Kopernicus)
(JNSQ)
(KSRSS Main)
(KSRSS Test Mods)
22,54Gb

Implementation

How to proceed then? It should be done as follows:

  • Prepare level 2 with the desired mods
  • Clone the level 2 instance to create level 3
  • For each directory in GameData, delete it and replace it with a junction using the command
mklink /J mod ..\..\KSP_ORIGIN\GameData\mod

It would be nice to have a ready-to-use script that does this job for us, wouldn’t it?

DISCLAIMER

What is described following this notice is to be used at your own risk. I do not guarantee the robustness of the code or the integrity of your machine in case of misuse of these instructions. I have only tested it on my own setup.

Here’s an example to place in the GameData of the final instance.

Need to know more? You can reach out to the community on our Discord!

4o

Pages: 1 2 3

Only Light Matters