the Sim Settlements forums!

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Possible Canary Use Case for Save File Corruption Detection

Lone_Wolf

Member
Messages
58
Running into save file corruption on an older play through that I decided to complete. The only way I can tell i am having an issue is when the game does a CTD. After that I may have to back to older saves, with no indication of how far back I may have to go, within the game load screen.

So the only indicator that I have of what saves are bad is in the filename. The second part of the filename is usually a unique id. related to a particular character. It is how the game knows which save files are associated with each Player Character. In the directory listing below you see valid saves and invalid saves (where the unique_id is all zeros). The bad thing here is that there is no way other than looking at the save file name to know if a particular save has become corrupted. Also those saves may behave initially as if they are good but whatever is causing the corruption will continue to do so until you get to the point were the save will not load or it may load then after 5 seconds CTD. At that point you could be hours into the game beyond your last good save.

So my question is could Canary be modified to detect if the Player Character Unique_id is all zeros?

LastWriteTime Length Name
------------- ------ ----
6/10/2020 11:36 PM 3086 Autosave1_41947BCF_4E6174652057617368696E67746F6E_Commonwealth_071411_20200611043639_82_2.f4se
6/10/2020 11:36 PM 35959514 Autosave1_41947BCF_4E6174652057617368696E67746F6E_Commonwealth_071411_20200611043639_82_2.fos
6/11/2020 10:52 AM 3096 Autosave2_00000000_4E6174652057617368696E67746F6E_Commonwealth_071743_20200611155234_83_2.f4se
6/11/2020 10:52 AM 35783197 Autosave2_00000000_4E6174652057617368696E67746F6E_Commonwealth_071743_20200611155234_83_2.fos
6/11/2020 10:56 AM 3096 Autosave3_00000000_4E6174652057617368696E67746F6E_MahkraFishpacking01_071747_20200611155627_83_2.f4se
6/11/2020 10:56 AM 35857592 Autosave3_00000000_4E6174652057617368696E67746F6E_MahkraFishpacking01_071747_20200611155627_83_2.fos
6/10/2020 11:22 PM 3056 Autosave3_41947BCF_4E6174652057617368696E67746F6E_Commonwealth_071416_20200611042233_82_2.f4se
6/10/2020 11:22 PM 35949281 Autosave3_41947BCF_4E6174652057617368696E67746F6E_Commonwealth_071416_20200611042233_82_2.fos
 
I am not sure if long term the goal is to turn canary into a generic save corruption tool or not. I would highly suspect the answer is not but only @kinggath will be able to answer that question.

CTD's are caused by scripts, mod incompatibilities and load order. I don't believe detecting this is fixing the core of the problem. The problem itself needs to be isolated using the existing mechanism and tools available to modders.
 
"CTD's are caused by scripts, mod incompatibilities and load order. I don't believe detecting this is fixing the core of the problem. The problem itself needs to be isolated using the existing mechanism and tools available to modders."

Agreed, but the issue here is silent and I did not get CTD's until hours into the game play. Which resulted in lost progress for that Character. Also i did look at the saves several time in Falrim but since I have no documentation on what to look for, and the mod owner for Falrim states not to remove all detached script instances because they can be valid. I don't know enough about the inter-workings of the game engine to figure out which ones are invalid.
 
"CTD's are caused by scripts, mod incompatibilities and load order. I don't believe detecting this is fixing the core of the problem. The problem itself needs to be isolated using the existing mechanism and tools available to modders."

Agreed, but the issue here is silent and I did not get CTD's until hours into the game play. Which resulted in lost progress for that Character. Also i did look at the saves several time in Falrim but since I have no documentation on what to look for, and the mod owner for Falrim states not to remove all detached script instances because they can be valid. I don't know enough about the inter-workings of the game engine to figure out which ones are invalid.
That's how CTD's work in general. The trick is prepping your build and load order before hand making sure you build patches for your specific setup etc. I highly suggest following steps like The Method for xEdit as well as reading as much as you can about a mod, including posts and change logs before adding it to your LO.
 
In any case my original question remains. Is this a possible use case scenario? Since detection of the unique_id for the player Character going to all zeros should be easy to detect in game.

Also I figured out what was wrong on another old Character and how to fix it. Since the game was updated and both the characters were old, and I was forced to update the relative hand full of mods I use, WSFW, WorkshopPlus, looksmenu, UPFO etc... I figured out how to do so in such a way as to prevent the corruption on one of the Characters (this one is my main and oldest Character). The other one I had to just delete since as I stated above I had no way of knowing how far back I need to go to find a valid save that did not have that issue, and did not feel like replaying everything under that character anyway. As the only reason I was messing with that particular Character was to look at some of the change done to the current sim settlements version.
 
Not positive that would actually be detectable in papyrus. MarkDF has been working on some more monitoring tools that might be useful.

Check out the alpha builds of Fallrim Tools, apparently it has a real-time monitoring system he's working on that might be able to detect something like that.
 
Top