Hi there
After fighting desyncs ( esssentially hours of trial and error to repeat it and then disable the next mod - until fixed) for quite a while after the 14.15 update i finally found the mod that caused it.
Would it be possible to either:
1) improve checksum calcs so you can trace which mod / script caused the desync?
2) export the desync files in the report to a readable format like json ( or create a readable diff, which shows what was changed ) so one can look at it manually and see whats actually different?
I think that will ease bughunting a lot now that we have a update all mods button, which means we don't know which one broke.
improve desync logging
Moderator: ickputzdirwech
Re: improve desync logging
Just a question: I mean it is clear, that the first source of desyncs are mods. So the first I would do is to turn off all mods and then turn them on/off, until I found the mods.
Such logs are useful, but it's also possible to find the source of error without log.
Such logs are useful, but it's also possible to find the source of error without log.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Re: improve desync logging
Disabling and enabling mods, rinse and repeat is the essence of trial and error.
And yes i just went through such a ordeal...
Desyncs that happen quickly are relatively easy to track once you figure out how to trigger them.
But until then, they appear irregulary, and once they start you often need to reset the server, which fixes the issue.
So it takes many many hours till days to find the cause, or you THINK you found it since it affected the speed it appears on.
Thats why im asking if its possible to improve this to allow some more >useful logging< in the desync report than gives a better picture on what exactly happened / which mod to disable without wasting the precious time i wanted to play in.
This is the suggestion and idea thread is it not?
And yes i just went through such a ordeal...
Desyncs that happen quickly are relatively easy to track once you figure out how to trigger them.
But until then, they appear irregulary, and once they start you often need to reset the server, which fixes the issue.
So it takes many many hours till days to find the cause, or you THINK you found it since it affected the speed it appears on.
Thats why im asking if its possible to improve this to allow some more >useful logging< in the desync report than gives a better picture on what exactly happened / which mod to disable without wasting the precious time i wanted to play in.
This is the suggestion and idea thread is it not?
Re: improve desync logging
Literally isn't possible to know who caused it without trial and error (which requires human intervention).Lennartos wrote:1) improve checksum calcs so you can trace which mod / script caused the desync?
That would make the desync report a few gigabytes on average. It already contains human-readable tags if you use any binary diff tool like Beyond Compare.Lennartos wrote:2) export the desync files in the report to a readable format like json ( or create a readable diff, which shows what was changed ) so one can look at it manually and see whats actually different?
If you want to get ahold of me I'm almost always on Discord.
Re: improve desync logging
Ok, well nothing that can be done about that then..
As you already have a time indicator for each script type ( which mod) - you already know whats being executed each time, i was hoping that one could store temp checksums for the last tick only which could be used in the desync report.
But like always it depends on the implementation of the code, for example if you exectute the scripts one at a time for the affected entitites, then it would just be a simple array with n=scipttypes of checksum snapshots.
Since what entity isn't really that interesting - only what script is really interesting.
As for the Diff, i tried - but honestly 99% is pure black box for me.
the order of tags is changed in several places, binary values changed dozens of places.. its not really helpful unless there is a manual for how to use it.. what does the stuff mean - whats important and whats not...
which i have looked for, but not seen yet.
Is there a explanation on how to use the desync report anywhere?
As you already have a time indicator for each script type ( which mod) - you already know whats being executed each time, i was hoping that one could store temp checksums for the last tick only which could be used in the desync report.
But like always it depends on the implementation of the code, for example if you exectute the scripts one at a time for the affected entitites, then it would just be a simple array with n=scipttypes of checksum snapshots.
Since what entity isn't really that interesting - only what script is really interesting.
As for the Diff, i tried - but honestly 99% is pure black box for me.
the order of tags is changed in several places, binary values changed dozens of places.. its not really helpful unless there is a manual for how to use it.. what does the stuff mean - whats important and whats not...
which i have looked for, but not seen yet.
Is there a explanation on how to use the desync report anywhere?