ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.93k stars 1.05k forks source link

Hyper Jam (556050) #2333

Open Baguettedood opened 5 years ago

Baguettedood commented 5 years ago

Compatibility Report

System Information

I confirm:

Issue 1: "Fatal Error!"

Issue 1: Missing mfplay.dll causes game to crash with "Fatal Error!" since it can not play startup movies.

Reproduction: Open the game. You will see "Fatal Error!" appear before you even reach the main menu.

Log (Zipped for size): steam-556050-fatalerrormfplay.zip

Notable lines from game's own debug log:

[2019.02.13-08.43.02:054][  0]LogWmfMedia: Failed to load mfplay.dll
[2019.02.13-08.43.02:054][  0]LogWmfMedia: Failed to load required Windows Media Foundation libraries
[2019.02.13-08.43.02:055][  0]LogWindowsMoviePlayer: Could not load mfplay.dll. Library not found.
[2019.02.13-08.43.02:056][  0]LogWebMMoviePlayer: Error: Movie '⯩䠀솁ࢀ' not found.

(Disclamer I dunno why the movie's filename is replaced with random unicode)

Workaround: Find your way to steamapps/common/Hyper Jam/HyperJam/Content/ and rename "Movies" to something else, such as "Movies2". The game will then ignore the startup movies when you launch it.

Explanation: Hyper Jam uses Unreal Engine 4.21 which makes mfplay.dll mandatory or else it will crash. Previous versions of Unreal Engine would instead fail more gracefully and skip the startup movies.

Issue 2: "Could not complete latency tests"

(Note: This should no longer happen as of Hyper Jam Patch 1.7.0.)

Issue 2: Online multiplayer shows error message: "Could not complete latency tests"

Reproduction: Open the game -> Press Online -> Quick Match -> Select Character -> Ready To Start.

Log (Also zipped for size): steam-556050-latencytestfail.zip

Notable line from game's own debug log:

LogMatchmaking: Warning: ICMP Ping to ap-southeast-1 failed. Error reason: InternalError

Notable line from steam-556050.log:

err:winediag:IcmpCreateFile Failed to use ICMP (network ping), this requires special permissions.

Workaround (Note this workaround seems to break the Steam Overlay and Steam Controller support for all games using this Proton version):

  1. Navigate a terminal to the appropriate dist/bin folder for your Proton version (For Proton 3.16-6 it was steamapps/common/Proton 3.16 Beta/dist/bin/)
  2. Backup the files wine-preloader and wine64-preloader in case you want to undo the changes.
  3. In the terminal, execute the following commands:
    su
    setcap cap_net_raw+epi wine-preloader
    setcap cap_net_raw+epi wine64-preloader
  4. Multiplayer should become functional the next time you launch the game.

Explanation: The game sends ICMP messages to regional servers to test connection and latency. Wine/Proton doesn't have permission to do this by default. The above commands give this Proton version permission to do it.

Other less-pressing issues:

Baguettedood commented 5 years ago

Apparently the workaround for fixing multiplayer breaks the Steam Overlay and Steam Controller support. Possibly other things too. Keep this in mind.

Baguettedood commented 5 years ago

The latency tests seem to work fine now in Hyper Jam Patch 1.7.0 The patch notes state that it "Added some fallback latency tests in case the standard tests fail" which affected a few non-Wine users.