Latest Posts

Topic: Diverging score graphs in multiplayer

PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2021-12-14, 08:47

Looking at the savegames, it seems to me there is massive divergence:

On the host, orange has far fewer land and buildings than on the client. On the other hand, grey has far more land on the host than on the client.


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2021-12-21, 20:36

I've opened a bug report: https://github.com/widelands/widelands/issues/5166


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2022-02-25, 12:53

As far as I see, widelands multiplayer is still unplayable.

Yesterday, a game was started on two AMD Ryzen machines, both running Debian GNU/Linux testing. Without looking out for divergence, after about half an hour, we noticed that the game had diverged substantially, with some buildings that were upgraded on the client not upgraded on the server, and some roads of the client missing on the server.


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2022-02-26, 11:12

Hi,
it was guessed that this may be due to some AI influences. So just to sort things out, would you be able to check whether games diverge as well if NO AI Player is involved?


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2022-02-26, 15:27

When I first reported the issue a few months ago, it looked like it was about the AI, since the divergence happened there. But int he game two days ago, while they were AI players, AFAIR the divergence happened before the players made contact with the AI. The building upgrades and roads that were on the client, but missing on the server were done by the human player on the client.


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2022-02-26, 15:35

We use an MD5 checksum to check for desyncs.

How does this checksum work? Should it print an error message when the game desynchronizes?


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2022-02-26, 17:26

PkK wrote:

When I first reported the issue a few months ago, it looked like it was about the AI, since the divergence happened there. But int he game two days ago, while they were AI players, AFAIR the divergence happened before the players made contact with the AI. The building upgrades and roads that were on the client, but missing on the server were done by the human player on the client.

Would it be possible to provide both replays (from host and client)


Top Quote
PkK

Topic Opener
Joined: 2012-01-06, 12:19
Posts: 236
Ranking
Widelands-Forum-Junkie
Posted at: 2022-02-26, 19:39

hessenfarmer wrote:

Would it be possible to provide both replays (from host and client)

http://www.colecovision.eu/stuff/widelands-desync/


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2022-02-27, 13:09

thanks for the replays.
I let them run for exactly 1 hour and compared the results. they were diverged in various effects.
- building upgrades were different between both replays
- ware deliveries were diverged so completeness of buildings was different.
- constructionsite settings were different. (orange player's reduction of logs input for his farm constructionsites were not present on the client)
- AI (I checked only purple) faced similar problems.

I guess due to some event the serials sent diverged. So actions were ordered on different items on each machine.
one possible cause which was the earliest diversion recognizable was the blueplayer upgrading its arena to colloseum directly after having built the constructionsite. Maybe this new feature does not get communicated over the network.

Just to exclude any interference with AI would it be possible to redo some similar match with all AI slots closed. (if you wish I may play the opponent, just write me a PM to fix a playtime)
One last question? was this a local game or a game over our metaserver?


Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2022-02-27, 13:48

Enhancing of buildings shouldn't be the reason, I checked and it always uses playercommands. However I'm going to create a log of all commands sent and received in these replays, then we'll see at which point they diverge…


Top Quote