improve desync logging

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Post Reply
Lennartos
Inserter
Inserter
Posts: 24
Joined: Mon Jun 27, 2016 10:13 pm
Contact:

improve desync logging

Post by Lennartos »

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.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: improve desync logging

Post by ssilk »

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.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Lennartos
Inserter
Inserter
Posts: 24
Joined: Mon Jun 27, 2016 10:13 pm
Contact:

Re: improve desync logging

Post by Lennartos »

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?

Rseding91
Factorio Staff
Factorio Staff
Posts: 13219
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: improve desync logging

Post by Rseding91 »

Lennartos wrote:1) improve checksum calcs so you can trace which mod / script caused the desync?
Literally isn't possible to know who caused it without trial and error (which requires human intervention).
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?
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.
If you want to get ahold of me I'm almost always on Discord.

Lennartos
Inserter
Inserter
Posts: 24
Joined: Mon Jun 27, 2016 10:13 pm
Contact:

Re: improve desync logging

Post by Lennartos »

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?

Post Reply

Return to “Ideas and Suggestions”