20

I originally posted this guide on reddit, but wanted to repost it here as part of migrating away. Some games, including Halo MCC Coop and Company of Heros 3, will desync during multiplayer. This can be fixed by manually syncing two files.

Thanks to this comment by Fractal on ProtonDB for showing me the way.

The issue is non-matching ucrtbase.dll files between the two computers. There are two different copies of the file, both in the system32 and syswow64 folders (note: each copy is unique, you need to copy two separate files with the same name from different folders). It sounds like these files are supposed to be automatically synced for coop, but they aren't (possibly for legal reasons) and it causes problems with desync.

To fix it, you need to take copies of your friend's windows versions of the files, and copy them into the compdata folder for Halo on your deck. After that you should be able to play without desync.

The specific steps to follow are:

  1. On the windows machine, go to: C:\Windows\System32\ucrtbase.dll and copy the file.

  2. Send it to the linux machine. Some software (like Discord) can compress or straight up change the file. I found I could safely send the files through discord if I put them in a .zip file first. If in doubt (or if things don't work) you'll need to verify the checksums (md5/sha256 etc).

  3. On your linux system, replace the symlinked file in your steamapps folder. Once you're in your steamapps folder, the file will be located at: steamapps/compatdata/976730/pfx/drive_c/windows/system32/ucrtbase.dll The location on the steam folder can be different depending on how steam is installed, on steam deck you'll usually find it in the hidden folder .steam/steam inside your home folder. You'll need to enable the option to show hidden folders before it will show up, this option can be found in the menu in the upper right of the file explorer.

  4. Repeat the process, but this time get the file from C:\Windows\SysWOW64\ucrtbase.dll. Once you have it safely on the linux machine, put it in the steamapps folder at steamapps/compatdata/976730/pfx/drive_c/windows/syswow64/ucrtbase.dll

After this start both games in anti-cheat disabled mode, and coop should now work.

If the linux/steam deck version of the game won't start at all, it means something is wrong with the ucrtbase.dll files. They either got corrupted/changed during transfer, you mixed up which one was from the system32 folder and which was from the syswow64 folder, or you accidentally put the same file in both of those folders.

Either way, I'd recommend checking the checksums of the files on both machines to figure out which (or both) files got messed up in transfer.

Here's a guide on checksums for windows, it will require either 3rd party software or using the windows command line. On linux, KDE has checksums built into the file explorer, just right click on the file and hit properties. On other DE enviroments you can usually just run md5sum <file> or sha256sum <file>

top 1 comments
sorted by: hot top controversial new old
[-] domi@lemmy.secnd.me 3 points 1 year ago

Thanks! Stopped playing Halo coop a while ago because of this.

this post was submitted on 17 Jul 2023
20 points (100.0% liked)

Steam Deck

14405 readers
118 users here now

A place to discuss and support all things Steam Deck.

Replacement for r/steamdeck_linux.

As Lemmy doesn't have flairs yet, you can use these prefixes to indicate what type of post you have made, eg:
[Flair] My post title

The following is a list of suggested flairs:
[Discussion] - General discussion.
[Help] - A request for help or support.
[News] - News about the deck.
[PSA] - Sharing important information.
[Game] - News / info about a game on the deck.
[Update] - An update to a previous post.
[Meta] - Discussion about this community.

Some more Steam Deck specific flairs:
[Boot Screen] - Custom boot screens/videos.
[Selling] - If you are selling your deck.

These are not enforced, but they are encouraged.

Rules:

Link to our Matrix Space

founded 3 years ago
MODERATORS