Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desync issue in space exploration version 0.6.81 #226

Closed
Spacedestructor opened this issue Aug 3, 2022 · 9 comments
Closed

Desync issue in space exploration version 0.6.81 #226

Spacedestructor opened this issue Aug 3, 2022 · 9 comments

Comments

@Spacedestructor
Copy link

I have updated with my friend yesterday space exploration as usual since we like to keep all our mod sup to date and after updating to 0.6.81 we started to get desync issues, at the time we believed it doe to bad internet but today we rolled bck space exploration to version. 0.6.80 with no other changes to the mod list and no desyncs occured. i have the desync report linked since the save file is too large to directly attach (the link contains both desync reports before the trouble shooting and fater in case this should be relevant) but i just wanted to point out that the desync didnt happen at some point during the game but imideatly within the first 5 seconds after successful connecting. it warried a little im time it took to trigger but always around 3 to 4 seconds after factorio multiplayer manager changed status to represent a successful completion of the connecting attempt.

Also just to get this out of the way since im sure it will come up, no this is not related to the fact that we play on my version of the space exploration modpack, that you commented on before on the mod portal. i made sure to confirm it is directly tied to only space exploration it self.

@Wiwiweb
Copy link

Wiwiweb commented Aug 3, 2022

Thanks, I reproduced the desync using your save file and 2 clients.
I'll look into this...

@Wiwiweb
Copy link

Wiwiweb commented Aug 3, 2022

Related to Belt Balancer somehow. I disabled all mods except SE (+ dependencies) and Belt Balancer:

SE 0.6.81 + Belt Balancer = desync
SE 0.6.80 + Belt Balancer = no problem
SE 0.6.81 = no problem

@Spacedestructor
Copy link
Author

good to know, for now we are staying on version 0.6.80 since there is no need why we have to update but i hope either you guys or the person who made the belt balancer mod figures out a solution to resolve this. would be rather unfortunate otherwise as our whole base and way we build things is based partial on belt balancer.

@InappropriatePenguin
Copy link

Another data point that would suggest it's "belt"-related. I used Hornwitser's script to compare the first reference and desynced savefiles and here was its output:

Unzipping desync-report-2022-08-02_15-39-42.zip

level_with_tags.dat differs
---------------------------
diffing <b'transport-belt-serialiser'> 302973/302973 tokens, this may take a long time

replace   ref[9654:9655] -> des[9654:9655]
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96489> pos=209517882
	<line> pos=209517909
	  <transport-line-item> pos=209517964
ref: b'@\x00\x00\x00>E}\x00l\x01\x00\x01'
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96489> pos=209517882
	<line> pos=209517909
	  <transport-line-item> pos=209517964
des: b'B\x00\x00\x00>E}\x00l\x01\x00\x01'

replace   ref[9672:9673] -> des[9672:9673]
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96489> pos=209517882
	<line> pos=209517909
	  <transport-line-gaps> pos=209518295
ref: b'\xf1\x1b\x00\x00 \x00\x00\x00'
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96489> pos=209517882
	<line> pos=209517909
	  <transport-line-gaps> pos=209518295
des: b'\xef\x1b\x00\x00 \x00\x00\x00'

replace   ref[9678:9679] -> des[9678:9679]
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96489> pos=209517882
	<line> pos=209517909
	  <first-gap-index> pos=209518397
ref: b'\x01\x00\x00\x00'
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96489> pos=209517882
	<line> pos=209517909
	  <first-gap-index> pos=209518397
des: b'\x00\x00\x00\x00'

replace   ref[9714:9718] -> des[9714:9718]
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96489> pos=209518935
	<line> pos=209518962
	  <transport-line-item> pos=209519017
ref: b'\xb0\x04\x00\x00\xc9D}\x00l\x01\x00\x01</transport-line-item><transport-line-item>@\x00\x00\x00\x93E}\x00l\x01\x00\x01'
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96489> pos=209518935
	<line> pos=209518962
	  <transport-line-item> pos=209519017
des: b'\xaf\x04\x00\x00\xc9D}\x00l\x01\x00\x01</transport-line-item><transport-line-item>B\x00\x00\x00\x93E}\x00l\x01\x00\x01'

replace   ref[9732:9733] -> des[9732:9733]
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96489> pos=209518935
	<line> pos=209518962
	  <transport-line-gaps> pos=209519348
ref: b'A\x17\x00\x00`\x00\x00\x00'
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96489> pos=209518935
	<line> pos=209518962
	  <transport-line-gaps> pos=209519348
des: b'@\x17\x00\x00`\x00\x00\x00'

replace   ref[10104:10105] -> des[10104:10105]
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96509> pos=209525685
	<line> pos=209525712
	  <transport-line-item> pos=209525767
ref: b'P\x00\x00\x00\x92G}\x00x\x01\x00\x01'
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96509> pos=209525685
	<line> pos=209525712
	  <transport-line-item> pos=209525767
des: b'R\x00\x00\x00\x92G}\x00x\x01\x00\x01'

replace   ref[10119:10120] -> des[10119:10120]
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96509> pos=209525685
	<line> pos=209525712
	  <transport-line-gaps> pos=209526043
ref: b'\xe1\x04\x00\x00\xa0\t\x00\x00'
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96509> pos=209525685
	<line> pos=209525712
	  <transport-line-gaps> pos=209526043
des: b'\xdf\x04\x00\x00\xa0\t\x00\x00'

replace   ref[10161:10165] -> des[10161:10165]
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96509> pos=209526683
	<line> pos=209526710
	  <transport-line-item> pos=209526765
ref: b'\xa0\x00\x00\x00;G}\x00x\x01\x00\x01</transport-line-item><transport-line-item>P\x02\x00\x00\x9eG}\x00x\x01\x00\x01'
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96509> pos=209526683
	<line> pos=209526710
	  <transport-line-item> pos=209526765
des: b'\x9f\x00\x00\x00;G}\x00x\x01\x00\x01</transport-line-item><transport-line-item>R\x02\x00\x00\x9eG}\x00x\x01\x00\x01'

replace   ref[10179:10180] -> des[10179:10180]
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96509> pos=209526683
	<line> pos=209526710
	  <transport-line-gaps> pos=209527096
ref: b'A\x04\x00\x00 \t\x00\x00'
<transport-belt-serialiser active-groups=128 active-lines=172> pos=209352135
  <transport-line belt=96509> pos=209526683
	<line> pos=209526710
	  <transport-line-gaps> pos=209527096
des: b'@\x04\x00\x00 \t\x00\x00'

@Wiwiweb
Copy link

Wiwiweb commented Aug 4, 2022

On second thought I'm not sure it's exactly SE 0.6.81+Belt Balancer. My reproduction is inconsistent. I think it depends on when the 2nd player joins for the first time. If you desync on the first join, you'll always desync, if you don't, you'll never desync.

@Wiwiweb
Copy link

Wiwiweb commented Aug 4, 2022

I was able to reproduce the desync with SE 0.6.80.

I'm tempted to say that this is a Belt Balancer issue, and your friend got lucky on the timing of the join when you restarted your server after downgrading SE.

If my theory is correct then you'd be able to reproduce this with just Belt Balancer, but I can't test it because that crashes Belt Balancer. Plus the base would stop working and you probably wouldn't be able to reproduce whatever exactly is causing the desync.

@Spacedestructor
Copy link
Author

so if i understand this correctly i should bring this to the belt balancer author and ask them to have a look at there mod.

@Wiwiweb
Copy link

Wiwiweb commented Aug 4, 2022

Yes. 👍

@Spacedestructor
Copy link
Author

Done, i have let them known and referenced this issue so they can get any information they ma need. thanks for the help anyways, originally i was suspecting advanced fluid handling to be the culprit as it was added the same day the issues appeared.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants