Jump to content

Two questions about 0.20 folder structure


Recommended Posts

One regarding ships, the other regarding plugins:

1. How should we be packaging .craft files that we want to distribute with our packs. If we put a /Ships/ folder in our mod folder, will the game find them there?

2. How are plugin collisions handled? If somebody makes a part that depends on the Lazor system (for example), and distributes a dll with their pack, and the user already has that plugin in another mod folder somewhere, what happens? Does the game have a way of checking versions and uses the most recent version of the dll? Or does it use each dll in a mod folder only for the parts within the same folder?

Link to comment
Share on other sites

Nobody knows, huh?

Well, I've experimented with ships a bit, and it doesn't appear that putting a /Ships/ folder in a /GameData/Modpack/ folder does anything. That's too bad. It would have been nice if we could have packaged everything in a self-contained directory, instead of having to make a release with a /Ships/ folder and then a /GameData/Packname/ folder and tell the user to install it in their KSP directory (which is going to cause nightmares for mac users, I think, because of the stupid way OSX defaults to replacing folders instead of merging them).

I haven't messed around with plugins yet, so that question is still open

Link to comment
Share on other sites

i was perplexed by this too. i tried to get the craft to be mod-local such as GameData/*modname*/Ships/*VAB or SPH*/*.craft, and several variations, but nothing worked. ultimately i just packeged my mod to match the ksp folder structure all the way to the ksp root folder, and encased that in a master directory with the readme.


ArchiveRoot/
|-readme.txt
|-KSP_Root/
|-GameData
|-ModName
|-Ships
|-VAB
|-*.craft
|-SPH
|-*.craft

then in my readme i said something like 'dump the contents of KSP_Root into your KSP dir'. of course theoretically if you disregarded that and dumped the ArchiveRoot into your GameData folder, the mod should still work, just not the craft files. dont know what would happen if you took a mod intended for the new system and stuck it in the legacy folders, thats whats got me worried.

thats what i did, im not sure what you are supposed to do. this seems like a way to make everything a mess if you ask me. chances are if you uninstall your mod you end up with a bunch of dead craft that dont work that you cant get rid of in game. mods, including example ships should only have one entry point into the game's directory structure.

not sure about #2. i have a feeling that mods will use the local instance of the plugin, even if there is a newer version of that plugin in some other folder. i wouldnt worry about it unless it causes a mod to not work, or makes the game unstable. ive been intentionally avoiding making any new plugins or using other plugins in my mods for a few versions now. there are some modules in mumech and other plugins that id like to use, but im not going to start doing any coding or using dlls till beta.

Edited by Nuke
Link to comment
Share on other sites

I'd advise against including top level like KSP_Root - it makes it very labour intensive to install multiple mods at once as you have to manually remove the extra folder from each one rather than just doing a mass extract and installing the whole lot in 10 seconds.

Also, readme files should either be named something mod specific or in a mod specific folder for much the same reason. If you install two mods with top level readme.txt files at once then one is going to get overwritten before you have a chance to read it.

Link to comment
Share on other sites

i suppose, if i had only one entry point to worry about, id package my archive so that it could be extracted directly to that entry point. but needing to have example craft in another folder in the ksp directory and a readme.txt somewhere kinda makes that problematic. i figure the first thing you should see when you open the archive is the readme file (because it tells you what to do with the thing), but then i dont want those littering the ksp root folder and i dont want it hidden a few levels deep either, because that makes it hard to find (and likely to be ignored).

'extract archive to game folder' is easy to follow i suppose (its been the mantra of mod readme files for decades). but we have 2 ways of installing mods, legacy and new, and the only way to resolve that ambiguity is with the readme file in an easy to find location in the archive. you could apply the same mantra to both ways, but i like to let people know which way i am using so as not to confuse them. at some point the spaceport and the game will be unified, and we will have very strict guidelines for mod archives (because they will be installed automatically). for now im going to do the thing which makes the most sense for me.

i could probibly remove the ksp root folder in subsequent releases, then the instructions become 'copy GameData and Ships to your ksp folder' which is ok i guess.

Edited by Nuke
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...