1.02 [fc5e]-1.1.0 [ed47] Multiplayer desync after tech research

  • We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Battlenelf

Corporal
7 Badges
May 18, 2016
30
40
  • Magicka
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • BATTLETECH
  • Stellaris - Path to Destruction bundle
Description: I play in multiplayer (steam) with my friend. He is server, i am a client. Each time i researching amoebas/crystals/mining drones etc technologies i immediatly got desynced (pause not working, time not go, 3 days difference between players). Desync happens only with this techs and only in multiplayer, all other techs works fine. Desync happens when i click on choice button in research results, if i dont close the window, game works fine! We tried many variations, but after loading new save file i got research results window again and then - desync.
How we "fixed" the problem - i'm loading latest save file in multiplayer (alone), research technology, close window, waiting some days, then saving. After that i send my save file to friend and he creates mp game from my save. Why i'm not creating the game myself - because for some reasons game freezes at 0% while save transfer, but this is another problem.

This happens 3 times already, but all in early-mid game. Now (save file) we played almost 100 years and game works fine (because i cant complete void clouds tech for other reasons).
Friend dont have this problem (mb because he is server).
I dont found any error logs, they are all empty.

My suggestions - something with synchronization research results, when bonuses applies to my empire. Or with transfering this data to the server.

Game speed - normal, standard galaxy (600 stars, 17 empires etc). All other games in mp works fine (not the internet issue). Game language - russian. Game download region - same (Moscow).

PC specs - Windows 7 x64, i5 2400 (3.1 Ghz), 8 GB RAM, AMD Gigabyte 6870 1 GB, Seagate 750 Gb 7200, 1920x1080, borderless window.
Internet - ADSL 8 Mbit down/1 Mbit up.

p.s. already sent this to support, but finally found place to post in forums.
p.p.s. sorry for my english ;)

UPD - new desync with this save, happens immediatly after trying to save new battleship preset.
 

Attachments

  • 2298.10.01.sav
    1,3 MB · Views: 2
  • settings.txt
    691 bytes · Views: 3
Last edited:
  • 3
Reactions:
Upvote 0
I have encountered the exact same issue. To the letter. Additionally, I had my friend's leader die and then he had a rebellion which he accidentally granted independence. That one act caused a desync.
 
Yesterday we start a new game with 1.03 version, same desync after crystal tech research. Also was 2 desyncs after wrecks research (i got +20% to crystal armor plates tech). But after that game works fine.
 
Similar issues like your battleship design desyncs I have encountered with Defence Stations. The moment I either max out all the slots, or put tier 3 armor onto it will desync.
 
Just to clarify, desyncs are usually caused by:
1) non-deterministic random;
2) missing action data;
3) internal issues with floating points (Company of Heroes 2 doesn't have cross-platform multiplayer because calculations go differently on Windows and Mac/Linux and cause lots of desyncs);

RTS engines are usually deterministic, i.e. they don't transfer the game state (snapshots) between players like FPS games do. Instead every client has the full game state on the game start or connect (save is transferred because of that) and then every player simulates the universe totally by itself, only receiving and sending actions between host and other players. Each tick a game snapshot checksum is generated and compared with other players checksums, if it's not the same then the game desyncs. If some action hasn't been sent to the host, the events unfold differently and the checksum changes. If the random generator don't behave identically on all clients (granted, it was initialized with the same seed), some random results also become desynced (for me an anomaly was researched successfully, other players got another random number and decided that I failed). Basically, every player knows what everyone else is doing, the game just hides that information from you with fog of war.

Some games, like Factorio, then resend the full game state to all clients. It's annoying a bit but still acceptable. For some reason Clausewitz can't do that and just stops without any message. Desyncs should be visible and should fix themselves without rejoining manually. I know it requires an enormous lot of work to get rid of them completely.

RTS: it's like ten people (for ten players) sitting each in an isolated room, they get some tasks from the outside world (equations) and they should solve them absolutely identically without being able to talk to each other and then compare the results. If someone fails then all the work stops. If the solution involves a die roll, all the dies of all ten people should result in the same number. If you have to round up a decimal fraction, it should be done identically. When someone wants to change an equation, he should tell it to the manager outside and the manager should include the change to everyone's tasks. Fail any of these conditions and the game stalls.

FPS: you tell the manager what you want to do and receive the visible part of the battlefield. You still can't talk directly to others but you don't need to calculate anything. Actually, the engine still tries to predict the future a bit so the gameplay is smooth, but really you just tell what keys you press and where your mouse moves and then receive the outcome. You don't have the full game state, only what concerns you personally. However, the more active objects you have, the bigger the snapshot becomes and making an RTS with thousands of units on such an engine would be hard. Everything will freeze and stutter and it would require a lot of bandwidth.
 
I also had a reproducible desync after saving the defending platform design. Ships can be edited fine though. Haven't tried yet the 1.1.0 so just saying.
 
Today was playing a multiplayer as a client. After researching hyperspace roots mapping, all fog of war dissapeard and everybody got kicked. Maybe it was the other issue, but the game got bugged and we couldn't finish this game.