Jump to content

KSP2 is Spamming the Windows Registry Over Weeks/Months Until the Game Will Stop Working Permanently


Anth

Recommended Posts

1 hour ago, Buzz313th said:

Outa curiosity..   Who in their right mind is so fond of KSP2 right now, they will risk running a game that is spamming the registry and then on top of it, run some random person's code to delete blocks of reg data?

 

Unreal.

To be fair, the "random person's code" is completely open source and you can read it to figure out exactly what it does. In a sense, it's safer to run than the game

Link to comment
Share on other sites

Storing anything at all in the windows registry is somewhat bad practice, but using it for large amounts of runtime data, AND not even deleting it afterwards or managing it correctly. Wow. That is some grade A+ premium bad practice spaghetti I would get second hand embarrassment from seeing in a 24 hour gamejam codebase. My only hope is that whichever developer wrote this was either extremely sleep deprived or didn't read the documentation for the PlayerPrefs API and just guessed what it did from function names alone. Even then something called "PlayerPrefs" should be a red flag if you're aiming to store anything other than player preferences.

 

I am both confused and utterly shocked someone wrote this in a production videogame.

Link to comment
Share on other sites

2 hours ago, MechBFP said:

I would argue that using the registry for this type of data isn’t the place it should be in the first place since I don’t see how it is relevant to the overall application instead of a particular save. 

If this is still planned to ever be a cross-platform title, trying to store anything at all to the Windows registry should probably cause a post-build automated test to fail. Mono has a registry emulation capability (CKAN used to use it), but why go that route if you don't have to?

Edited by HebaruSan
Link to comment
Share on other sites

3 hours ago, Kerbart said:

Your argument has merit, but what stands is that they were exceptionally careless in checking what was written to the registry. Your sleuthing suggets an instance ID which sounds to me as something very volatile and changing — how could they use that? Was this simply a typo? And what else did they get wrong? It's not an exact vote of confidence for the code.

The code never was meant to be in the final build, best I can tell from more sleuthing, its for an editor tool to allow them to move PqsObjects in playmode, and then load them back after playmode has stopped, which likely does not change the instance ID in the same editing session

Link to comment
Share on other sites

2 hours ago, cheese3660 said:

The code never was meant to be in the final build, best I can tell from more sleuthing, its for an editor tool to allow them to move PqsObjects in playmode, and then load them back after playmode has stopped, which likely does not change the instance ID in the same editing session

Let's assume that it's indeed a leftover from an internal tool. That uses the registry to store some session values instead of storing the in a dictionary. And somehow that code made it into production.

The notion that we did this knowingly is preposterous. How could we? We absolutely don't know what we're doing

Link to comment
Share on other sites

As a game developer I wanted to chime in to explain what I think is happening here. I’m mostly a UE5 dev so I did some quick looking at the log and documentation.

There’s a core module in unity called “PlayerPrefs” at a glance it’s meant to save data between sessions. UWP apps save into appdata which is a common practice. Unfortunately this is a standalone windows application so it saves it’s data into the registry.

Whoever wrote the code to save objects positions between sessions did not fully understand what “PlayerPrefs” does.

How this should of been handled is by writing their own save function that safely stores these things in a .txt or .json file in appdata.

In whoever’s defense this mistake was probably in relation to working quickly and assuming Unity wouldn’t have a core system writing to the registry.

Link to comment
Share on other sites

Absolutely unacceptable. The game should had never been released, even in early access, until the base game was stable. New features, thermals, parts, etc should not be even a considered priority when the foundation of the game is already held together with sticks and tape....

Link to comment
Share on other sites

31 minutes ago, Guest Jelify said:

UWP apps save into appdata which is a common practice. Unfortunately this is a standalone windows application so it saves it’s data into the registry.

I don’t think this is a hard-and-fast rule that non-UWP apps must use the registry, though? Off the top of my head, the Total War games save their preference data into AppData (with other data still kept in the registry) and they’re definitely not UWP apps.

Link to comment
Share on other sites

ME: Creates tool to help people with the registry since some people wont want to touch it.

Some random guy: 

11 hours ago, Buzz313th said:

LOL, is this the guy T2 and IG sent to do damage control for shoddy coding?  Why not, he already does it on his You Tube Channel.

Unreal and absolutely pathetic.   You are actually enabling this company to continue in bad faith business practice.  Anyone who doesn't see it is in denial. 

Link to comment
Share on other sites

7 minutes ago, Lupi said:

Does.... do they think you're ShadowZone the youtuber? 

evidently so?????

I did think this is ShadowZone..   

 

Oops..

I guess I should take my lumps now..

Edited by Buzz313th
Link to comment
Share on other sites

Just now, Buzz313th said:

I do and I did think this is ShadowZone..   

 

Buddy. there can be more than one person on the internet with "shadow" in their name, if you're gonna go after someone you may wanna make sure you have the right guy. i know at least two different Lupi's on the internet, if not more, and that's nowhere near as common of a permutation of latin as "shadow" is just a straight up English word.

 

You have every right and reason to be upset at the fact this bug exists, but biting at other folks' ankles and being two  rings of a circus in the process ain't gonna help make your case.

Link to comment
Share on other sites

52 minutes ago, Buzz313th said:

It's not your job to fix IG's Mistake.  It's IG's/T2's job to do so.  And by doing so, you end up alleviating them of a portion of the burden. 

There’s two  issues:

  • The game spamming the registry
  • the registry filled with up to hundreds of megabytes of PQS junk

While they first one can be addressed by not playing the game until it gets fixed, that doesn’t fix the second one and that is a system issue most would want to see fixed rather sooner tan later. Given the quality of the work produced so far I’m not even sure I want  Itercept to have a “cleanup the registry” routine running when you start the game because, well… it’s Intercept code.

But even if I trust them with a large scale system registry update, do I want to wait with that until, say, Thanksgiving? I’d rather do it now

Personally I’d rather do it myself than running “some random code downloaded from the internet”  but I’m also quite proficient in registry surgery. For those that don’t it’s nice to  have options.

Edited by Kerbart
Link to comment
Share on other sites

  • Community Manager

Update 9/26: Fix should come in the coming days.

 

Hi all,

The team is aware of this issue and we have a fix. It's currently being tested and we're aiming for a hotfix since we see this as critical.

I'll share more details on a timeline when I have one.

Dakota

Link to comment
Share on other sites

27 minutes ago, Kerbart said:

There’s two  issues:

  • The game spamming the registry
  • the registry filled with up to hundreds of megabytes of PQS junk

While they first one can be addressed by not playing the game until it gets fixed, that doesn’t fix the second one and that is a system issue most would want to see fixed rather sooner tan later. Given the quality of the work produced so far I’m not even sure I want  Itercept to have a “cleanup the registry” routine running when you start the game because, well… it’s Intercept code.

But even if I trust them with a large scale system registry update, do I want to wait with that until, say, Thanksgiving? I’d rather do it now

Personally I’d rather do it myself than running “some random code downloaded from the internet”  but I’m also quite proficient in registry surgery. For those that don’t it’s nice to  have options.

I have two gaming computers, one which at one point had KSP2 installed and is in the process of being mothballed as the 2nd machine is new and never had the game installed.  Last night I went in to the older machine, checked to make sure that KSP2 was uninstalled and deleted the entire "Intercept Games" registry key via regedit.  It had enough entries in it that it literally took over five minutes to scroll from the first entry to the last.  I would not feel comfortable running IG's registry fix, nor am I comfortable running any code from IG or T2 in the future.  Given this stance, I probably won't be missing anything in the future considering the "Writing On The Wall" is a good indicator that this title will never be completed to the expectations that were presented to the consumers.

Link to comment
Share on other sites

1 hour ago, Dakota said:

Hallo ihr alle

Das Team ist sich dieses Problems bewusst und wir haben eine Lösung. Es wird derzeit getestet und wir streben einen Hotfix an, da wir dies als kritisch ansehen.

Ich werde weitere Details auf einer Zeitleiste mitteilen, sobald ich eine habe.

Dakota

 I requested a refund after 1.8 hours of KSP2.

These 1.8 hours left 369 PQS Object State entries in my registry. I expect it to be resolved in a reasonable time.

Will we also get a bug fix?

mfg Wahnbert

Link to comment
Share on other sites

36 minutes ago, Wahnfried said:

 I requested a refund after 1.8 hours of KSP2.

These 1.8 hours left 369 PQS Object State entries in my registry. I expect it to be resolved in a reasonable time.

Will we also get a bug fix?

mfg Wahnbert

Considering that’s a steam thing and not a ksp thing, you should go talk to them. 

Link to comment
Share on other sites

21 hours ago, GGG-GoodGuyGreg said:

How is this called a game ready to be released is beyond me.

Well, some devs are fine with having early access very early on, others not so much. Remember, if you use the long time that it’s been in development against it, you may be forgetting development troubles, such as developers being poached, COVID could’ve disrupted them more than they let on, and even more possible troubles.

This is one of the results when they aren’t given enough time.

21 hours ago, Buzz313th said:

Outa curiosity..   Who in their right mind is so fond of KSP2 right now, they will risk running a game that is spamming the registry and then on top of it, run some random person's code to delete blocks of reg data?

Me. It’s open source, so you can literally read what it does before running it, if you’re that scared of random code.

 

I know this isn’t really the place to discuss the state of the game like people and now I are, so here’s a little bit related to the post:

Good job on catching this bug, though it’s definitely not why I reset my pc the other day, that was unrelated issues that could’ve possibly been affected by this.

Link to comment
Share on other sites

2 hours ago, Dakota said:

Hi all,

The team is aware of this issue and we have a fix. It's currently being tested and we're aiming for a hotfix since we see this as critical.

I'll share more details on a timeline when I have one.

Dakota

Better make sure it cleans ALL the entries, and when we uninstall the game, it cleans the registry of everything but the product code/serial number entries.  Some of us with health issues don't have the energy to go through editing all this stuff out ourselves (I'm waiting for a lung transplant).

Link to comment
Share on other sites

×
×
  • Create New...