Skip to content

Instantly share code, notes, and snippets.

@jrbergen
Last active April 27, 2025 04:01
Show Gist options
  • Save jrbergen/0ce746676c4fbcc2becd6054d1bba2ed to your computer and use it in GitHub Desktop.
Save jrbergen/0ce746676c4fbcc2becd6054d1bba2ed to your computer and use it in GitHub Desktop.
Instructions to resolve Company Of Heroes 2 Sync-Error for Proton (Tested on 5.0-10)

Instructions to resolve Company Of Heroes 2 Sync-Error for Proton (Tested on 5.0-10 and 6.3-2)

In support of this comment on Proton's CoH2 issues thread: Company of Heroes 2 (231430) #3875

Based on original solution by @Cytomax55 in the same thread.

Edit Feb 2023: this may also work for CoH3 (the paths are different of course). I haven't tested this for CoH 3 yet and hope either Proton / Relic will make this fix unnecessary. See also @sfxworks's comment.

Instructions for automatic fix with a script by TechT10n

  1. You may want to disable cloud-sync for CoH2 on steam as it can cause issues. Thanks @Commando-Brando
  2. Open your terminal, and run*:
curl https://gist.githubusercontent.com/TechT10n/79b853003f2e9841a18e8b6decd0fd3e/raw/coh2_multiplayer_fix.sh | bash

If this doesn't work (because for example your Steam path is different from the default), you may have to copy the script from that link and alter the part where the path is specified, and then run it locally (see also this comment).

If that still doesn't work for some reason, you can follow the manual steps below:

*Note that this runs a remote shell script directly; it is always a good idea to check the script's contents before running it (just open the URL to the gist in a browser) to make sure it doesn't do anything weird. I don't have any malicious intent and I have no reason to think TechT10n has either, but it is good practice regardless.

Fallback instructions to perform the workaround manually

Note: some users have reported that reinstalling and clearing the Steam cache is unnecessary; you can try to skip step 1 to 4 and start at step 5, but your mileage may vary.

Additionally, this fix does not always seem to work; I have no clue as to why it does work for some and doesn't for others, or why it seems to stop working sometimes even with the same system/config. It should be deterministic 🤷‍♂️.

  1. You may want to disable cloud-sync for CoH2 on steam as it can cause issues. Thanks @Commando-Brando

  2. Uninstall/delete CoH2:

    • (1a) Uninstall CoH 2 on steam.
    • (1b) Delete remaining files here: rm -rf "~/.steam/steam/steamapps/common/Company of Heroes 2"
    • (1c) Delete compatibility data for CoH2: rm -rf ~/.steam/steam/steamapps/compatdata/231430/
  3. Clear download cache in Steam -> settings -> "downloads" tab (requires Steam login afterwards; ⚠️make sure you know your Steam credentials beforehand!⚠️.

  4. Reinstall CoH2 on Steam.

  5. Launch CoH 2 -> at this stage game would still give 'Sync Error' in multiplayer games either immediately after loading the map or when first enemy is encountered with proton 5.0-10, 5.13-6, 6.3-6, experimental, 6.14-GE-2.

  6. Download vc_redist.x64.exe at ✅https://www.microsoft.com/en-us/download/details.aspx?id=48145 from the microsoft website. Note that another link, namely ❌https://aka.ms/vs/16/release/vc_redist.x64.exe did NOT WORK, as it was missing the required DLL at the time this report was submitted.

  7. make separate directory to extract vc_redist.x64.exe to. E.g. mkdir /tmp/vcredist && cp /PATH/TO/DOWNLOAD/vc_redist.x64.exe /tmp/vcredist/vc_redist.x64.exe.

  8. cd to the download directory and extract vc_redist.x64.exe using cabextract to the directory you chose as such: cabextract vc_redist.x64.exe -d /tmp/vcredist. If this did not result in ucrtbase.dll being extracted, use cabextract again to extract a10 specifically.

  9. Copy or move ONLY ucrtbase.dll to ~/.steam/steam/steamapps/compatdata/231430/pfx/drive_c/windows/system32/ (cp /tmp/vcredist/ucrtbase.dll ~/.steam/steam/steamapps/compatdata/231430/pfx/drive_c/windows/system32/) . May require sudo privileges.

  10. Launch Company of Heroes 2 in Steam using Proton 5.0-10. I have only played 1 match, but given that the sync-error would occur immediately or on the first enemy sighting before, I suspect this resolved the sync-error issue. Not yet tested on 6.3-2.

Another note: tested on Steam native client, Manjaro w/ kernel 5.10.59

@shIxx01
Copy link

shIxx01 commented Jan 9, 2025

I still get desync error:

  • Manjaro (Arch)
  • default steam path
  • Proton 9,0,3

The script shows sucessfull at the end. still desync
output:
bash: Zeile 31: cabextract: Kommando nicht gefunden. bash: Zeile 32: cabextract: Kommando nicht gefunden. cp: der Aufruf von stat für 'tmp/ucrtbase.dll' ist nicht möglich: Datei oder Verzeichnis nicht gefunden cp: der Aufruf von stat für 'tmp/ucrtbase.dll' ist nicht möglich: Datei oder Verzeichnis nicht gefunden Success: ucrtbase.dll was copied to /home/tom/.steam/steam/steamapps/compatdata/231430/pfx/drive_c/windows/system32\n
than I copied the dll from one poste above in /.steam/steam/steamapps/compatdata/231430/pfx/drive_c/windows/system32/
still desync

@shIxx01
Copy link

shIxx01 commented Jan 9, 2025

OK, Yeah, I got it work. I noticed this line "cabextract: command not found"
after run this sudo pacman -Syu && sudo pacman -S cabextract wget from post above, everything works like a charm.
Thank you all for your effort

@YougotTRUMPD
Copy link

FIXED running Debian 12 with Nvidia
I tried all of the above with no luck so I searched for a way to force the ucrtbase.dll to load.
I added "WINEDLLOVERRIDES="dinput8=n,b" %command%" to launch options and followed the guide here: https://cookieplmonster.github.io/setup-instructions/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment