Jump to content

Help Managing Mods for KSP!


jeffreystjean

Recommended Posts

Hi,

I'm looking for a way to easily change which mods I have loaded for each save.

I've heard you can duplicate KSP and just launch the 'vanilla' version or open your "Modded KSP" folder and launch the game from there. The problem with this is - although KSP is a small game in itself - it's not very practical. Let's say I have my regular 'vanilla' save, I then duplicate the entire KSP folder and start adding mods. I decide to add Mod 'A' to the 'gameData' folder - so it's working fine. Then I want to add mod 'B' but I don't want this mod to apply to my sandbox game I have running with the mod 'A' version. So I duplicate the original KSP folder again - I now have three folders, each around 2gb. You can see how this can add up pretty quickly.

For my specific case and for the time being, I would only need two versions of the game (one for modded sandbox/modded career and one for modded career with the RemoteTech mod) so this workaround could be enough but if I would like better solution than that.

Does anyone know a way to solve this problem, such as a mod manager?

Thanks,

Jeff

Link to comment
Share on other sites

The easy way: CKAN can export a list of all currently installed mods. So just export lists for each save's set of mods.

The hard (but faster) way: Instead of installing mods into the gamedata directory install them elsewhere and use symlinks from gamedata to the actual location of the mods' directories. Then write a shell script for each save to create or delete the relevant symlinks and launch KSP. If you don't know what I'm talking about with this, do it the easy way.

Link to comment
Share on other sites

The easy way: The hard (but faster) way: Instead of installing mods into the gamedata directory install them elsewhere and use symlinks from gamedata to the actual location of the mods' directories. Then write a shell script for each save to create or delete the relevant symlinks and launch KSP. If you don't know what I'm talking about with this, do it the easy way.

I'm actually curious in learning this step, how difficult is it really? And how much management/upkeep would it take? Also how difficult is the shell script to write?

Link to comment
Share on other sites

The hard (but faster) way: Instead of installing mods into the gamedata directory install them elsewhere and use symlinks from gamedata to the actual location of the mods' directories. Then write a shell script for each save to create or delete the relevant symlinks and launch KSP. If you don't know what I'm talking about with this, do it the easy way.

I hesitate to post this because I haven't updated it in forever, but I wrote a Java program forever ago that does this for any number of different "instances". It has some quirks, and it has to be run as an administrator in Windows (because you need elevated privileges to make symlinks in Windows) which is annoyingly difficult to do for .jar files in Windows 8 and 10 (you have to either execute the .jar through the command prompt or write a tiny batch script to execute the .jar).

Here is a link to the thread that it's released in: http://forum.kerbalspaceprogram.com/threads/64987-All-OS-Java-0-2-18-DataSwitcher-Instance-Manager

If either of you tries it out, I'll very gladly provide support despite the fact that it hasn't been updated in a long while. If you nag me enough about it I can even add some new features ;)

Also, it's OS independent but will use symlinks by default on all of them.

Unfortunately you'll still have to duplicate the entire GameData folder. One of the things I was planning on adding, but obviously never got around to, was having a "Shared" folder where you could put things like the GameData/Squad folder and it would be used in all instances. That way even if you had 5 different instances, you'd only have to use up hard drive space for a single copy of the Squad folder.

Edited by magico13
Link to comment
Share on other sites

I hesitate to post this because I haven't updated it in forever, but I wrote a Java program forever ago that does this for any number of different "instances". It has some quirks, and it has to be run as an administrator in Windows (because you need elevated privileges to make symlinks in Windows) which is annoyingly difficult to do for .jar files in Windows 8 and 10 (you have to either execute the .jar through the command prompt or write a tiny batch script to execute the .jar).

Here is a link to the thread that it's released in: http://forum.kerbalspaceprogram.com/threads/64987-All-OS-Java-0-2-18-DataSwitcher-Instance-Manager

If either of you tries it out, I'll very gladly provide support despite the fact that it hasn't been updated in a long while. If you nag me enough about it I can even add some new features ;)

Also, it's OS independent but will use symlinks by default on all of them.

Unfortunately you'll still have to duplicate the entire GameData folder. One of the things I was planning on adding, but obviously never got around to, was having a "Shared" folder where you could put things like the GameData/Squad folder and it would be used in all instances. That way even if you had 5 different instances, you'd only have to use up hard drive space for a single copy of the Squad folder.

I'm trying it out right now and so far it looks promising. I'll let you know how it goes

- - - Updated - - -

How long does it usually take to switch between gameData folders because I'm going on 15 minutes with the status saying "Creating links" Did I do something wrong?

Link to comment
Share on other sites

How long does it usually take to switch between gameData folders because I'm going on 15 minutes with the status saying "Creating links" Did I do something wrong?

That shouldn't be taking that long. I didn't get a chance to test it on Mac, since I don't normally have one to test on, so it might be related to that. You did either import folders from the KSP install or manually placed some folders in the instance folder, correct? If not, then there isn't anything to be linked to which might be why it's doing that.

If you put further questions in the DataSwitcher thread I'll see them sooner, btw :)

I'm on a mac right now, but it doesn't have KSP installed (work computer). I can still try it out though and see if it works properly.

Edit: I just tried it out. It throws an error because of the hidden .DS_Store file that's in every directory on Macs for some reason. If you delete that file from the instance directory it will work. Unfortunately, the file is automatically recreated by the mac after a little while, but you can safely remove it when you want to switch instances. I'll have to add an exception so that file gets ignored, which I can't do until later tonight (~6 hours from now at the earliest)

Edited by magico13
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...