Release 3.3.0 beta 1
Re: Release 3.3.0 beta 1
In the first log, it says that one client called gameRand() somewhere, while the other client didn't. If it's reproducible, it's possible to add a syncDebugBacktrace call to log where it was called from (might slow the game down, not sure).
In the second log, it says the clients disagreed on the checksumDangerMap, which means they were using different danger maps for pathfinding for some reason. Not sure what can cause that, but it's a bad thing (especially in games with AI players which actually use the danger maps).
The "Invalid signature" probably just means a lot of lag. Researching impossible topic is probably just a side-effect of having gone out of synch some time ago. Bad droid ID usually means a droid was killed while trying to give it to another player.
In the second log, it says the clients disagreed on the checksumDangerMap, which means they were using different danger maps for pathfinding for some reason. Not sure what can cause that, but it's a bad thing (especially in games with AI players which actually use the danger maps).
The "Invalid signature" probably just means a lot of lag. Researching impossible topic is probably just a side-effect of having gone out of synch some time ago. Bad droid ID usually means a droid was killed while trying to give it to another player.
- Berserk Cyborg
- Code contributor
- Posts: 938
- Joined: 26 Sep 2016, 19:56
Re: Release 3.3.0 beta 1
These danger maps seem to be underwhelming in their ability to document dangerous areas. A simple enumRange() has proven to be far more accurate at telling if some location is safe or not from immediately dangerous stuff (weapon droids, defenses, etc).
I just now looked at this a little bit more and tiles are supposed to be blocked if they are not safe... but, come to think of it, I've never seen any AI units path to avoid these tiles.
Re: Release 3.3.0 beta 1
I'm wondering if these are cases where a player has played more than one match in a row (while keeping the application open). I may have once come across a case where it seemed like a later match did not load data properly? (Or loaded data was corrupted?) Closing the game entirely and re-opening it to start a fresh match fixed the issue, of course. And I haven't yet been able to reproduce it deliberately.
(But that may also be something different, or just a weird unlucky bit flip. It was a while ago.)
(But that may also be something different, or just a weird unlucky bit flip. It was a while ago.)
Re: Release 3.3.0 beta 1
The construction units of any AI avoid danger tiles by him self, it's work automaticly, like the army of any AI shot to garbage by him self, without JS-order to do that. It's not AI JS code, but wz-engine rule this behavior.
- Berserk Cyborg
- Code contributor
- Posts: 938
- Joined: 26 Sep 2016, 19:56
Re: Release 3.3.0 beta 1
I never noticed that before. I know it's not part of the JS side, it's just my past attempts of using safeDest() made me think the danger maps didn't work right.
Re: Release 3.3.0 beta 1
D'oh. Pretty much makes walls useless. Sounds like a blocker.Berserk Cyborg wrote: ↑15 Mar 2019, 03:06 visGetBlockingWall() needs to be reimplemented to fix that issue.
f965d77200f1caf57a9be5deb284683792c1280c
/facepalm ...Grinch stole Warzone contra principia negantem non est disputandum
Super busy, don't expect a timely reply back.
Super busy, don't expect a timely reply back.
Re: Release 3.3.0 beta 1
I have more and more reports about desync "[fpathSetBlockingMap] blockingMap(6702,0,2,0) = 9D019DA8 2F2D5AE5" on some map playing with bots, can somehow paste bunch of code for more verbose debug output, to find out what a reson of this ?Cyp wrote: ↑18 Mar 2019, 20:08 In the second log, it says the clients disagreed on the checksumDangerMap, which means they were using different danger maps for pathfinding for some reason. Not sure what can cause that, but it's a bad thing (especially in games with AI players which actually use the danger maps).
Also i notice this map have some errors:
Code: Select all
error |07:55:34: [loadSaveStructure:4984] Structure ECM1PylonMk1, x coord too near the edge of the map. id - 17
error |07:55:34: [loadSaveStructure:4990] Structure ECM1PylonMk1, y coord too near the edge of the map. id - 288
error |07:55:34: [loadSaveStructure:4990] Structure ECM1PylonMk1, y coord too near the edge of the map. id - 63
error |07:55:34: [loadSaveStructure:4984] Structure ECM1PylonMk1, x coord too near the edge of the map. id - 480
Re: Release 3.3.0 beta 1
Are there particular maps on which this seems to happen? (Are there any maps on which you *can't* reproduce this?)
What bots / AIs are you using?
(I'm particularly curious if you can provide game settings - map, number of players, slots in which there are humans / bots, which bots, difficulty, etc - that can be used to reproduce this.)
Re: Release 3.3.0 beta 1
map 8c-Stone-Jungle-2x2-3.3.0.wzpastdue wrote: ↑25 Mar 2019, 17:23Are there particular maps on which this seems to happen? (Are there any maps on which you *can't* reproduce this?)
What bots / AIs are you using?
(I'm particularly curious if you can provide game settings - map, number of players, slots in which there are humans / bots, which bots, difficulty, etc - that can be used to reproduce this.)
0,1 -- human
2,3 -- AI bonecrasher
max base, shared research, max power. human vs AI
- Attachments
-
- 8c-Stone-Jungle-2x2-3_3_0.wz
- (125.64 KiB) Downloaded 770 times
vaut ΣΑ [GN], ru streamer.
Tournaments channel: https://www.youtube.com/channel/UCzusNa-54ydodtSz2TdHFww
Tournaments channel: https://www.youtube.com/channel/UCzusNa-54ydodtSz2TdHFww
Re: Release 3.3.0 beta 1
This attached map contain uncompatible with 3.3.0 version rules.js, but i have reports of desync playing on clean version of this map, without rules.js inside (without mapmod).
I'm still investigating this desync.
I'm still investigating this desync.
Re: Release 3.3.0 beta 1
Can you also say, was this linux vs linux or linux vs windows or what combination it was?
It could be a compiler issue, gcc vs MSVC, but, unsure yet, need more info.
/facepalm ...Grinch stole Warzone contra principia negantem non est disputandum
Super busy, don't expect a timely reply back.
Super busy, don't expect a timely reply back.
Re: Release 3.3.0 beta 1
i testing on local machine, running 2 copy of game and connect to localhost, just put in slot any AI standart nullbot or bonecrusher - it causes desync. im testing on linux.
For now this issue only for one custom map. Little later i test this map on 3.2.3 version to see what happen.
Re: Release 3.3.0 beta 1
The real problem is not the game but the mapmods
Re: Release 3.3.0 beta 1
There is no mapmods, just clean map.
I think problem somewhere in map objects, like trees and other debris, but not sure for now.
Also, desync appear in 3.2.3 too.
This is definitely not a 3.3.0 issue, but the map itself. But now I'm just curious what in the map can cause this.
Re: Release 3.3.0 beta 1
error |05:12:45: [loadSaveStructure:4984] Structure ECM1PylonMk1, x coord too near the edge of the map. id - 17
error |05:12:45: [loadSaveStructure:4990] Structure ECM1PylonMk1, y coord too near the edge of the map. id - 288
error |05:12:45: [loadSaveStructure:4990] Structure ECM1PylonMk1, y coord too near the edge of the map. id - 63
error |05:12:45: [loadSaveStructure:4984] Structure ECM1PylonMk1, x coord too near the edge of the map. id - 480
And its a mapmod the map is badly made.
I think editing rules.js is a mod
error |05:12:45: [loadSaveStructure:4990] Structure ECM1PylonMk1, y coord too near the edge of the map. id - 288
error |05:12:45: [loadSaveStructure:4990] Structure ECM1PylonMk1, y coord too near the edge of the map. id - 63
error |05:12:45: [loadSaveStructure:4984] Structure ECM1PylonMk1, x coord too near the edge of the map. id - 480
And its a mapmod the map is badly made.
I think editing rules.js is a mod
all this mods and bad maps.