Jump to content

Why some updates Break Mods


Recommended Posts

Some updates (like the update from 1.0.5 to 1.1) implement heavy API changes. In this case the biggest change was the User Interface and the mods that interacted with the UI had to be changed.. The more they interacted with the UI the "harder" they broke..

Update 1.0.4 to 1.0.5 did not alter anything / much of the current AI and only added new stuff (if even that) and thus the existing mods worked fine

Link to comment
Share on other sites

To pick an example at random:

Imagine a mod that stages for you after x amount of seconds. (MJ's "autostage" maybe).

In 1.1 the way the game stages changes, so when the mod asks the game to stage, it doesn't behave the way the mod is expecting. So the mod needs to be updated so it expects the "new" way of doing things. If the way the mod interacts with the game hasn't been messed with, then the chances are your mod will work.

1.1 changed ALOT of things. As I understand it, it even changed the way KSP interacts with plugins (or unity anyway) - so every mod broke.

Also, quite a few mods did break with 1.0.5.

 

Link to comment
Share on other sites

The short answer is:  "Because that's how software works."

Slightly longer answer:

Think of a computer program (a game like KSP, or anything else) as a very, very complicated machine with thousands of moving parts.  All those parts have to fit together perfectly so that they can work as a group.

It's easy to break such a machine.  For example, if one piece of it is broken (a bent axle, a stripped gear), then that can make the whole machine grind to a halt.

However, the important thing to realize is that you can break the machine even if no individual piece is actually broken.  All you need to break it is to have a part that's not compatible with the other parts, even if the part itself is fine.  For example, a particular spot in the machine needs a gear of a certain size.  If you try to put in a gear of the wrong size, then the machine's broken, even if the gear doesn't have anything wrong with it.

So... let's say you're the engineer of such a machine.  It's set up, it's working.  Now you want to change it.  This is a lengthy process, because if you change one piece of the machine, you have to also change all the other parts of the machine that talk with that part, and then adjust the parts that work with them, and so forth.  For example:  You take out one gear and put in a gear of a different size.  If that's all you did, it would break everything.  So you have to change all the gears that mesh with that gear, so that the sizes match up.

But that's okay, right?  You're the engineer, you can make all the fixes together, so that when you release the new version of your machine, everything works together.

That's what it's like to release an update to a piece of software.  Without mods.

When you add mods into the mix, it gets harder.  Because running mods is like adding on new parts to the machine.  Except that now, you're not the master engineer who can update everything to work together.  You only own the center "core" of the machine-- it's got all these additional components bolted on to the outside.  When you change the way your machine works, you're going to break things unless you update everything at once... and you can't update everything because you don't actually own everything.

So all you can do is what Squad does:  go ahead and update, and if mods break, they break.  Let the mod authors do the necessary fixes afterwards to make it all hang together.

Link to comment
Share on other sites

You say "The mod is broken"

I say "You're right, it's broken"

The computer says "What is an 'it's'?"

 

Computers are very literal, they can't read between the lines like you and I.  If even the slightest little bit of an API call changes, then the mod calling it must be rewritten because the computer will not assume it knows what you mean.  The more API calls that are made in any given mod, the more likely one of them changed.  So bigger complex mods often break, but they don't have to, it just depends on what got changed.  For example, the 40 line mod I have linked in my signature has never broken, not even 1.1 broke it.  It has never really been broken.  I just have to recompile it.  It is so small, it uses so little API calls, the ones it uses have never changed.

Link to comment
Share on other sites

 Here's another possibility to consider: some mods check against the version of KSP that's currently running. Sometimes, the mod author might cause the mod to stop functioning if it detects an incompatibility.  Not because something has actually broken, but because of the high possibility that something has.  Then red flags get thrown up everywhere and everything grinds to a halt. 

Link to comment
Share on other sites

On 22.05.2016 at 11:38 AM, Gauga159 said:

Why do (Some) Updates Break mods and other Don't? Like yeah Unity 4 vs Unity 5 Change WILL Break mods but Other updates don't Like 1.0.4 to 1.0.5.

Because life is an interesting thing, complicated as hell :)

The serious and simple answer: because mods rely on functions that the game provides to them. 1.0.4 to 1.0.5 was a minor update with nothing special changed. But 1.1 was a major update that changed most of the functions that mods were using. Like a single part purchase button in R&D that you've used to press before update: it was there but now it's gone. I bet you felt broken that day too :)

Edited by Ser
Link to comment
Share on other sites

My mod on 1.0.5 was working fine then 1.1 went live my mods texture went white so I had to update it. A mod breaks when the developer stops updating/supporting it and leaves the mod to slowly break.

Link to comment
Share on other sites

11 hours ago, Ser said:

Because life is an interesting thing, complicated as hell :)

The serious and simple answer: because mods rely on functions that the game provides to them. 1.0.4 to 1.0.5 was a minor update with nothing special changed. But 1.1 was a major update that changed most of the functions that mods were using. Like a single part purchase button in R&D that you've used to press before update: it was there but now it's gone. I bet you felt broken that day too :)

I don't think mod developers do that, if there is, it's very few that do.  Some put version checks in the mods in order to warn you but I don't know of a single one that actually disables its functionality.

Link to comment
Share on other sites

40 minutes ago, Alshain said:

I don't think mod developers do that, if there is, it's very few that do.  Some put version checks in the mods in order to warn you but I don't know of a single one that actually disables its functionality.

Hi Alshain, maybe you meant to quote this?  It sounds more like what you're responding to:

On 5/22/2016 at 11:02 AM, pincushionman said:

Here's another possibility to consider: some mods check against the version of KSP that's currently running. Sometimes, the mod author might cause the mod to stop functioning if it detects an incompatibility.  Not because something has actually broken, but because of the high possibility that something has.

...I agree that it's more the exception than the rule, but it does happen.  The really notable example that springs to mind is Kopernicus, which is the basis of pretty much every planet pack in existence.  It's deliberately locked to one particular version of KSP.

 

 

Link to comment
Share on other sites

7 minutes ago, Snark said:

Hi Alshain, maybe you meant to quote this?  It sounds more like what you're responding to:

...I agree that it's more the exception than the rule, but it does happen.  The really notable example that springs to mind is Kopernicus, which is the basis of pretty much every planet pack in existence.  It's deliberately locked to one particular version of KSP.

 

 

Yeah, there is some issue with the forum software that is misquoting and mis-attributing quotes.  It's weird, you click the button and it's almost random.

Link to comment
Share on other sites

3 hours ago, Alshain said:

I don't think mod developers do that, if there is, it's very few that do.  Some put version checks in the mods in order to warn you but I don't know of a single one that actually disables its functionality.

I was thinking of The Great x64 Debacle of '15, and, specifically, FAR. Was that not done using the version number, somehow?

Link to comment
Share on other sites

4 minutes ago, pincushionman said:

I was thinking of The Great x64 Debacle of '15, and, specifically, FAR. Was that not done using the version number, somehow?

Oh, that.  Well they didn't disable it for a version number, they disabled it for an unstable platform.  That's a little bit different.  No mods I'm aware of will purposefully disable themselves if used on a version number later than the one they were designed for.  They could, but I don't think any modder does.

Link to comment
Share on other sites

3 minutes ago, Alshain said:

I don't even know what that is, but ok.  But as I said, if they do, it's very few of them.

That one's a biggie-- it's the basis of pretty much every mod in existence that alters the solar system. It's the ModuleManager of planet packs.

The fact that it version-locks means that every planet mod also becomes, in effect, version-locks.

Link to comment
Share on other sites

2 minutes ago, Snark said:

That one's a biggie-- it's the basis of pretty much every mod in existence that alters the solar system. It's the ModuleManager of planet packs.

Oh, like OPM?  I've seen the OPM thread, and it's quite beautiful, but I've never played with anything but the stock solar system (mostly due to memory cap reasons, and the fact that 1.1 doesn't work).

Edited by Alshain
Link to comment
Share on other sites

6 minutes ago, Alshain said:

Oh, like OPM?  I've seen the OPM thread, and it's quite beautiful, but I've never played with anything but the stock solar system.

Yes, exactly. That's perhaps the best known example. Two of my own mods need Kopernicus (they tinker with biomes). Though it's a bit of a stretch to speak of them in the same breath as OPM-- they're just kiddie stuff, OPM is the real deal.

If you've never tried it, OPM is well worth the effort. Not just gorgeous, but really thoughtfully designed as well, and manages to provide original challenges without being gimmicky. Best of all, it's innocuous to add to an existing game: it leaves the stock solar system alone, just adds new stuff on the outer fringes. (Well, except for moving Eeloo to be a moon of the Saturn analog.)

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...