Open pdc4444 opened 1 month ago
+1 to this issue, apparently the check exists because of desync issues. Here's a forum thread from the Sins 2 forums that provides a bit more information: https://forums.sinsofasolarempire2.com/529788/
I've contacted the Sins 2 developers as well, and got the following response:
we do not support multiplayer between different architectures sorry (will go out of sync)
And I can confirm, this affects both joining and hosting lobbies.
Just thought I'd provide a bit more information on this issue, as I'm also affected.
Looking at the error log posted in said forum (https://pastebin.com/MNw9tLe6), the desync happens due to a different "random_stream" value. Maybe the game is relying on the random number generator being exactly the same on both machines and there's some kind of one-off error in Wine that results in different random numbers?
But the dev's answer also sounds phishy. Windows and Linux with Wine aren't two different architectures. The architecture is exactly the same - amd64. The fact that they decided to display it as "amd64-wine" doesn't make it a different architecture.
Hello,
I successfully played an entire game (more than 2hours) with a windows gamer and one AI. I used proton experimental and hosted the game, and my friend modified its settings.json to override the game_client platform_architecture to AMD64-WINE.
I made comments on steam community hub: https://steamcommunity.com/app/1575940/discussions/1/7026264603287932608/#c7026264603290039319
I Hope this can help.
The issue here is that Wine's reimplementations of the Microsoft's Visual C runtime does not copy the behavior perfectly, so with some games like this ones where each players runs the whole simulation and sync only commands, these very small behavioral differences can cause missmatches.
Therefore : only wine players is ok, only windows is ok, but any mix cause desync sooner or later.
The devs probably tested and witnessed this and decided to isolate them.
The solution to install the official Microsoft's DLL from the redist package solves the issue, because by doing that, everyone have uses the same implementation : the Microsoft's one.
@zFERDQFREZrzfq is correct (I added the sandboxing for this reason)
Hello, I'm the author of SOAS forum post cited here, and using the Steam discussion link I was able to play multiplayer between Windows and Linux. Basically is needed run:
protontricks 1575940 winecfg
or winetricks
Go to 'Staging' then checks the 'Hide wine version from applications' option. Also is needed to run the script on Steam discussion's thread, that remove some "vc_redist" libs and reinstall correctly version from this links (VC Redist x64), (VC Redist x86).
After to made this changes I tried to join with my friend and the games runs perfectly and desync issue was gone.
Compatibility Report
System Information
I confirm:
https://gist.github.com/pdc4444/9c0efe29cd83115a5c497bae6c047d2c
Symptoms
I cannot join a multiplayer game with my friend who was hosting a game via windows. I'm not sure if a Linux host would allow a Proton / Linux client to join, but from the dialog observed it looks like Sins has a processor architecture check which requires a match between server (game hoster) and client (game joiner).
Reproduction
1.) Have a buddy host a Sins of a solar empire II game who is playing via a Native Windows install 2.) Attempt to join your buddy's game on your linux pc running Sins of a Solar Empire II through proton 3.) Observe the error dialog