Jump to content

KSP should require a Standardized Mod Versioning File


Oddible

Recommended Posts

It would be a significant improvement for end-users as well as the mod community (particularly where there are dependencies involved) if all mods were forced to include a standardized file that included:

1) The version of the mod in a standardized format

2) The version of KSP that the mod was developed to work with

3) The date the mod version was released

4?) Mod Dependencies

This file should be required by KSP and hooks should be available to query the mod list and grab this information for any particular mod.

This would dramatically improve the Spaceport and by consistently reporting mod information and allow third party mod-updating programs to facilitate notification of new releases and automatic update.

Link to comment
Share on other sites

Forcing anything aint gonna happen, and versions for KSP are complicated and many mods have soft dependencies like "this mod uses modulemanager to apply partmodules so it won't work right without module manager but the plugin will operate fine", this has been brought up many times before and I agree that having a version label that is installed along with the mod is a good idea, but only from a usability perspective.

Link to comment
Share on other sites

When the API changes, all mods using those calls need to be updated - do you call that being 'forced'? Why apply such a negative label to it. Adding an API usage requirement of a versioning file is smart coding for mods and should have been in the very first version of KSP that offered mod support... and should be in every game or program that allows third party development. It is an oversight that should be corrected sooner rather than later. It is a trivial addition and any non-technical player could add the file to an old mod that is no longer supported to get it working again.

Link to comment
Share on other sites

2) The version of KSP that the mod was developed to work with

Err... okay I don't know why that isn't there (Typically they'll have it in the title so I didn't realize it wasn't there until now). [On Spaceport, that is]

When the API changes, all mods using those calls need to be updated. It is a trivial addition and any non-technical player could add the file to an old mod that is no longer supported to get it working again.

Do you just mean "Recompiled against the latest library of XX.dll" because I thought C# was all about Run-Time Identification, so that sort of stuff doesn't matter.

Or are you trying to imply that we catalog each and every interface that we hook into to make our mods work... and come to a "Noob Consensus" what to use? That is like people using WWW to load images when the binary_reader can do exactly that without the problems of WWW. The community made the wrong choice, and I don't know if they ever fixed that one.

Look, people don't "Mod" KSP in the way they "Mod" other games. There is no "quick fix" to broken plugins, and cataloging takes more time than it is worth. What works in one version is gone in the next. One plugin that adds in something for others to use (say, Module Manager) suddenly gets abandoned and breaks every plugin that depended on it. This is just how it is.

Link to comment
Share on other sites

Agreed with Greys. You did say in the first post, quoted to make sure you don't change it on us:

It would be a significant improvement for end-users as well as the mod community (particularly where there are dependencies involved) if all mods were forced to include a standardized file that included:

So yeah, you started this on a negative note and with a tone edging towards controlling how mods are set up; you brought this on yourself.

As to the actual subject, why should any of this data required to make the mod run in-game? Yeah, it's a small hurdle for an experienced modder who knows he has to do this, but why should it be forced? It brings no benefit to me by making this required but it does add another thing to check on and possibly screw up when setting up mods for release. It'll also add another thing for new modders to have to deal with when setting up their first plugin; it's a non-obvious hassle for someone with no experience to deal with, and they might just give up when they can't figure out why their small little mod can't be made to work in their own install, depriving the community of mods. Finally, I find the attitude of, "The Greater Good, so modders should be forced to do X," a little irritating, especially since you won't have to put any effort into setting this up and dealing with all the unforeseen consequences (they will exist, don't dismiss it as "trivial" to set up, or you're actively contributing to making sure there are consequences), but I will.

Link to comment
Share on other sites

some of us modders are stubborn and dont like to be told how to work our magic. we would sooner see the world burn than change our ways.

that said if someone were to hypothetically develop the ultimate package manager that makes mods stupid-easy to install and also came with dev tools for quickly making packages to the correct format. its possible that such a thing could become a defacto standard that everyone uses just because it makes everyone's life easier. such a thing would have to cover all the bases though. it would need to install dependencies, manage updates, then resolve compatibility conflicts and all the other things that can go wrong with an automated installer. so its a pretty big task on its own. even then you would still get rebels who like to do things their way and ignore it completely, or worse have competing tools that do the same job but dont work interchangeably. the only way i see this working is if squad or other community leaders took the reigns.

Link to comment
Share on other sites

I think there's a middle ground to be had.

Some of the proposed features for the community mod repository fall along these lines, but it would represent a more organic approach. Rather than forcing mods to adopt an untested format, we can instead have modders opt into a format that's enforced only by the repository. This way, boycotting the repository is a valid option for protesting the requirements, and that creates incentive for the repository to create a scheme which is acceptable for everyone. Old mods may never adopt the scheme, and that comes at their peril as tools begin to take advantage of packaged metadata.

I'll leave specific designs for the repository thread, since there are a lot of ways this could work.

Link to comment
Share on other sites

Had to register just to reply to this thread. I'm not a modder myself but as a user of the KSP program it's very tedious work just to find the right mods you want by itself (Spaceport is a clusterf***) only to have to go through 15+ zip files to install manually. which i know is a cut and paste for the most part. I only play occasionally, so keeping up with every updated mod is a exercise in futility. I basically have to do a clean install every time or I have tons of issues. Maybe I'm not doing it right. As modder shouldn't you be catering to the users of your mods making them more available to the users otherwise why even put your mod out there. How much work would it actually take to package it for a program like KSPMM?

With KSP's release on Steam they already have a very effective repository system in place AKA Workshop. Squad just needs to implement it in game. Which is likely not an easy task granted. That just works for the steam users though. Nexus (i think) and Curse both have repository systems in place as well but they function more like KSPMM. I think the problem really comes down to Squad either not wanting to or not able to implement this anytime soon due to a small dev team.

Link to comment
Share on other sites

that said if someone were to hypothetically develop the ultimate package manager that makes mods stupid-easy to install and also came with dev tools for quickly making packages to the correct format. its possible that such a thing could become a defacto standard that everyone uses just because it makes everyone's life easier.

As a negative example, for Bohemia Interactive games there is this bloated abomination called PlayWithSIX. But the bloat and terrible performance make it very sh***y IMO. I'd say it is the SpacePort of ARMA which moreover comes as an extra app. This is something KSP does not need :)

OT: I think the problem lies with Spaceport. The forum has all the information, except for standardized versioning but who needs that.

Link to comment
Share on other sites

-snip-snap-

Meh solution at best, and I'll have to side with Majir on this. I do believe that mods should adapt a standard naming format.

 ModNameHere V1.1 X.XX.X+ (Last date updated)

...but making the game force the mods themselves to have the correct dependancies in order to work would not only be annoying for the modders, but could cause problems down the road if the dependancies change.

Link to comment
Share on other sites

Personally, I would love some sort of mod management built into the launcher interface. At least enough to list installed mods and check compatibility with the version of KSP, better if it can enable/disable mods selectively, better still if it includes install/update/uninstall functionality for mods.

Link to comment
Share on other sites

As a negative example, for Bohemia Interactive games there is this bloated abomination called PlayWithSIX. But the bloat and terrible performance make it very sh***y IMO. I'd say it is the SpacePort of ARMA which moreover comes as an extra app. This is something KSP does not need :)

OT: I think the problem lies with Spaceport. The forum has all the information, except for standardized versioning but who needs that.

thats why its hypothetical. i dont see it ever working. it would have to be a work of unattainable perfection, and even then it would be hard to get a large fraction of the community to use it. as a modder (a very oldskool modder at that) i am content to work without any unnecessary applications (i rather dispised being forced into unity), same as when im in mod user mode. only my readme file may stay users from their otherwise inevitable doom.

i totally agree that the spaceport is broke, i believe i have released 4 version of my mod. 2 were uploaded to my google drive, one was successfully uploaded to the space port and another was up and was downloadable but its stats were not being tracked nor was it showing up in search results. of course thats what majiir's thread is about. this one seems to be more about packaging (though i admit the problems are somewhat interrelated).

Link to comment
Share on other sites

Guys, friendly reminder that hiding your curses with a bunch of asterisks is not permitted more than cursing. Be creative (no green pls) and find other words that suit your needs :)

Further posts that aren't wary of this warning here may find themselves worthy of a warning. The ball is in your court.

Link to comment
Share on other sites

Guys guys guys, you have taken a very simple proposed idea, trivial for everyone to implement, and turned it into some kind of monster. What I am proposing is that KSP require that all mods contain one additional text file in their distributions that contains 3 trivial pieces of information:

1) The version of the mod in a standardized format

2) The version of KSP that the mod was developed to work with

3) The date the mod version was released

That's all! Very minimal, literally anyone with zero technical training could do it for you. But it would drastically improve indexing of mods and allow mod update utils for end-users. I'm proposing that Squad FORCE mods to have this file in order to function properly - not sure why everyone is getting bent over being forced to add a trivial indexing file - Squad 'forces' you to do all sorts of things to make your mods work - like using correct spelling and capitalization of intrinsics (!?!?!?). I think that folks must be misunderstanding what the original proposal was because this is pretty minimal stuff here guys and in no way deserving of the outrage that seems to be present here.

Link to comment
Share on other sites

As already stated... there is no reason to force sth like that. If you want to index mod, feel free to build up and maintain such an index yourself. Its not that hard to do so, might require half an hour per day to get current versions for unknown checksums.

Sure, your request looks rather simple. But there are an infinite number of possible "simple requests" that would pile up. What about a version history? I would like a contact address for legal issues. You could always come up with just one additional simple request that shouldn't be a problem at all. Thats why any request will looked critical upon, especially if there isn't an immediate benefit. And there isn't really any for this one... no one is indexing mods or allowing auto updates anyway. But if you actually already provide a tool that does sth like that, a request like this would be sth totally different.

Link to comment
Share on other sites

Why? Modding is "Do it yourself". You barely ask Squad to implement feature X so you can make mod Y. And yes, thats usually not easy. But asking modders sth *edit:* something like this seems to be against the philosophy in the first palce^^

As for an auto update feature in a mod-managers... i don't think you have to track more than maybe two dozen mods to provide a real benefit to most of your users. Thats definitively sth someone can do manually yourself, if he is serious about getting sth like that started.

Edited by Faark
Link to comment
Share on other sites

As for an auto update feature in a mod-managers... i don't think you have to track more than maybe two dozen mods to provide a real benefit to most of your users. Thats definitively sth someone can do manually yourself, if he is serious about getting sth like that started.

This is it in a nutshell. Modding isn't supported by SQUAD in regards to having a dependency like that to be implemented.

Link to comment
Share on other sites

Guys guys guys, you have taken a very simple proposed idea, trivial for everyone to implement, and turned it into some kind of monster. What I am proposing is that KSP require that all mods contain one additional text file in their distributions that contains 3 trivial pieces of information:

1) The version of the mod in a standardized format

2) The version of KSP that the mod was developed to work with

3) The date the mod version was released

This very simple thing has been proposed before, and mod developers were almost unanimously against it because it was "extra work".

Link to comment
Share on other sites

This may seem trivial, but let's take a deeper look at each of those items.

  • The version of the mod in a standardized format. There's no standard format for mod versions, so you'd have to create oneâ€â€and that alone will be controversial. Even if you could get everyone to agree to a format, there will be some mods that don't currently use it, and they'll have to switch over. This effectively creates a version epoch for those mods. You could probably construct a versioning scheme that's loose enough to cover most or all existing cases, but it's then doubtful that you gain anything through standardization. In any case, this is a complicated task that should not be taken lightly.
  • The version of KSP that the mod was developed to work with. This is fairly easy to specify (although you could get into an argument over whether to specify with major/minor/revision versions or build numbers). However, I have to wonder what it would be used for. Are you suggesting that something like CompatibilityChecker become stock? I've written before on why a single version cannot accurately capture compatibility details for a mod, so I see only limited utility for mod managers and the like.
  • The date the mod version was released. Okay, this one's hard to punch holes in.

...but there are some more problems that apply to all three. In Kethane and KAS, I already include all of the above metadata. The current version is defined in the AssemblyInformationalVersion attribute, the compatible KSP version is defined in CompatibilityChecker, and the release date is automatically part of the plugin's metadata. If KSP requires me to package a metadata file, I now have to update all of that information in two places. This may surprise you, but packaging a Kethane release can often take a full hour, and it's easy to forget steps. Adding duplicate metadata into the mix is just a recipe for errors.

Rather than putting forth an idea and then insisting it's reasonable, I suggest you try to uncover exactly why modders are resistant to it. Then, you can produce a proposal that's more likely to be accepted.

Link to comment
Share on other sites

Guys guys guys, you have taken a very simple proposed idea, trivial for everyone to implement, and turned it into some kind of monster. What I am proposing is that KSP require that all mods contain one additional text file in their distributions that contains 3 trivial pieces of information:

1) The version of the mod in a standardized format

2) The version of KSP that the mod was developed to work with

3) The date the mod version was released

That's all! Very minimal, literally anyone with zero technical training could do it for you. But it would drastically improve indexing of mods and allow mod update utils for end-users. I'm proposing that Squad FORCE mods to have this file in order to function properly - not sure why everyone is getting bent over being forced to add a trivial indexing file - Squad 'forces' you to do all sorts of things to make your mods work - like using correct spelling and capitalization of intrinsics (!?!?!?). I think that folks must be misunderstanding what the original proposal was because this is pretty minimal stuff here guys and in no way deserving of the outrage that seems to be present here.

these three things should all be in a mod's readme file anyway. its not my fault if users dont read it.

Link to comment
Share on other sites

This type of info is already used and required by a large number of moddable games in some form, either by third party mod loader/manager or the game itself. AssemblyInformationalVersion and other Attribute derivatives would serve this purpose on their own for plugins, but parts-only mods don't have that capability. That might not even matter, though.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...