https://bugs.winehq.org/show_bug.cgi?id=48696
Bug ID: 48696 Summary: MechWarrior 5: Mercenaries - Multiplayer doesn't connect Product: Wine Version: 5.3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: smcnam@gmail.com Distribution: ---
Created attachment 66569 --> https://bugs.winehq.org/attachment.cgi?id=66569 winedebug log
Reporting for this game: https://appdb.winehq.org/objectManager.php?sClass=version&iId=38689
This is a game that is launched through the Epic Games Launcher. In the past, multiplayer worked, but MW5 released a game update that broke it. I have tried with multiple Internet connections to rule out local issues, and flushed my iptables configuration. There is definitely something about the network connectivity for multiplayer that Wine doesn't support.
Attached log with WINEDEBUG=warn+all,+timestamp
Based on some packet captures, it appears they are hosting a Coturn STUN server (version 4.5.1.1) on Amazon EC2 to do the session joining without anyone needing to forward ports. Not sure if they only use this for VoIP, or for the game also.
Wireshark packet capture available upon request. Most of it is encrypted, but it does appear that the TURN/STUN negotiation fails, possibly due to Wine not emulating the networking code correctly.
Steps to reproduce:
1. Install Epic Games Launcher in a wineprefix following the workarounds from the Epic Games Launcher appdb entry
2. Install MechWarrior 5 following the workarounds from the MechWarrior 5 appdb entry -- recommend installing both DXVK and media foundation as dependencies
3. Launch MechWarrior 5 (required: modern GPU and drivers that can drive DXVK reliably; AMD Vega/Navi + recent open source Mesa or Nvidia Pascal/Turing + Nvidia binaries seem to work well)
4. Using two players, or two separate instances of MW5 and one person, have the people add each other as "Friends" in the game interface.
5. Have one person click on Co-Op, then Instant Action, then Confirm (just accept the default scenario). The person who clicks on Co-Op is the HOST.
6. On the screen where the player's mech is displayed and there are three empty bays for other mechs to be added, the HOST will go to their Friends list (top left corner) and invite the other person to join the game.
7. The person who got invited must accept the invite from their friends list.
8. Expected behavior: the invitee loads into the match. Actual behavior: "Connecting to server" message is displayed for about 30 seconds, then the invitee is given a black screen or brief loading screen, then kicked back to the main menu.
It is recommended for the HOST to be running native Windows with a configuration known to work with MW5 co-op multiplayer. Native Windows users also fail to join a game that is hosted by a Wine user, but in order to successfully reproduce this bug with only one of the two players having an issue, one of the two should be running on a working client on native Windows. Of course, eventually if the bug is fixed, a Wine user can be both the host and the invitee.