Page 1 of 1

[0.17.62] Desync Report Character variation

Posted: Mon Aug 05, 2019 7:35 pm
by Muppet9010
When I look at a desync report I've noticed that for a non broken mod there is variation in the reference and desynced script.dat files. It looks to be a serialisation variation that I don't recall ever noticing in older Factorio versions (early 0.17 or maybe 0.16).
Not sure if it matters but the server is linux and the client is windows. Although I'd assume the serialisation is done entirely client side.

Its a table of tables (burners of burner_details) and in reference there is no key for the burners table, but in desync there is a key given.

reference (mp-save-02) has:

Code: Select all

mod-Burner-Leechÿ1™ do local _={burners={{entity={magic="802384732948701238470123",type=0x0p+0,entitytarget=0xd.6p+4},position={y=-0x3.68p+4,x=-0x3.88p+4},force={magic="802384732948701238470123",type=0x5p+0,forceid=0x1p+0},surface={magic="802384732948701238470123",type=0x1.9p+4,surfaceindex=0x1p+0}}}
desync has:

Code: Select all

mod-Burner-Leechÿu¶ do local _={burners={[0x1p+0]={entity={magic="802384732948701238470123",type=0x0p+0,entitytarget=0xd.6p+4},position={y=-0x3.68p+4,x=-0x3.88p+4},force={magic="802384732948701238470123",type=0x5p+0,forceid=0x1p+0},surface={magic="802384732948701238470123",type=0x1.9p+4,surfaceindex=0x1p+0}}}
in "desync" the extra serialisation is: {burners={[0x1p+0]={

Re: [0.17.62] Desync Report Character variation

Posted: Mon Aug 05, 2019 8:45 pm
by Klonan
Is there a question you are looking to be answered?

Also when checking for a desync, only the contents of `level-heuristic` is compared,
It is best to search for any root cause by checking the diff of level heuristic first

Re: [0.17.62] Desync Report Character variation

Posted: Mon Aug 05, 2019 10:10 pm
by Muppet9010
is the variation in serialisation expected/accepted or is it a bug?

Re: [0.17.62] Desync Report Character variation

Posted: Mon Aug 05, 2019 10:42 pm
by Rseding91
The script variations are almost always triggered by variations in the game logic. They never trigger the desync system so it's always in level-heuristic as Klonan says.