Skip to content

Instantly share code, notes, and snippets.

@Medstar117
Created September 10, 2022 20:52
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Medstar117/c9b17dcd8d8427b7cced25c072bc6f8e to your computer and use it in GitHub Desktop.
Save Medstar117/c9b17dcd8d8427b7cced25c072bc6f8e to your computer and use it in GitHub Desktop.
C&C Proton Cross-Play Compatibility Guide

Using the Latest Stable Proton 7.0-4 for Online Play

  • Credit: KWAGGA on Discord (KWAGGA#7048)
  • Adaptation: Medstar on Discord (Medstar#1550)

This guide provides information on how to get the later C&C games to work with a fairly recent version of Proton without encountering desyncs.

Until recently, Linux players were limited to Proton-tkg 5.14.r0.gb71d588d--a 2 year old release that doesn't perform near as well as the 7+ series releases of Proton. The limitation to this version was due to online multiplayer desyncs occurring on newer versions of Proton--the reason being unknown at the time.

The original assumption of the desyncs was due to either the implementation of newer XACT frameworks, FAudio (a better XAudio2 implementation), or a combination of the two. This is now verified to be incorrect.

Throughout the testing of over 30+ Proton releases, as well as numerous custom builds/projects, KWAGGA discovered the root cause to be none other than the newer Microsoft VCRuntime versions used in the newer Proton releases. In the newer VCRuntime releaes, Microsoft drastically changed the included math libraries, resulting in calculations that would not match up on users' ends while in a game, resulting in a desync (since the math calculations on each client would not match up).

This guide is split into two parts:

  • Part 1, which will cover how to set up your system using one of two methods
  • Part 2, which will cover how to enable online play with C&C:Online (and include Masterleaf's 1.02+ [R19F] map packs.

Part 1: Installation and Set Up

Method 1 (Quick & Easy; Recommended)

This method revolves around installing a pre-configured and Proton-ified Wine TKG 7.6-R12 release that already has the required fixes pre-enabled (one of them being Virtual Desktop Mode, which allows Alt-Tabbing without crashes).

  1. Exit Steam (completely shut it down).

  2. Download the .zip of the pre-configured Proton release either here or at this mirror. MD5 Checksum: fbb643566d1d6d369abcba1de6275d97

  3. Extract the folder's contents, then copy the "proton_tkg_7.6.r12.g51472395.release" folder to your .steam/root/compatibilitytools.d/ directory. where to move the folder

  4. If you have previously set up and ran your game, you must back up your game's profiles and remove the existing Proton-Wine compatibility folder from your game's directory. As an example, Kane's Wrath will be used.

    • Navigate to where your Steam Library is located (where your games get installed at).
    • Follow the path/folders to /steamapps/compatdata/. Inside copmpdata, you will see numerous folders containing the Proton-Wine profiles created for each Steam Play Proton title.
    • Each Steam Play Proton title is denoted by their respectful Steam AppID. In our case for Kane's Wrath, find the folder titled "24810". image of Kane's Wrath's AppID folder
  5. For Kane's Wrath, open the "24810" folder and navigate to /24810/pfx/drive_c/users/steamuser/AppData/Roaming/

    • In this folder, back up your "Command & Conquer 3 Kane's Wrath" folder if you want to preserve your maps, saved games, and online profiles. Kane's Wrath's data folder
  6. After backing up your data, go back to the main "compatdata" folder and delete the "24810" folder. This will erase the entire Steam Play profile for the game. the compatdata folder after 24810 is deleted

  7. Restart Steam and navigate to your Games Library. Select the C&C title you wish to play and open its properties.

    • In the Properties window, under Compatibility, check the box "Force the use of a specific Steam Play compatibility tool".
    • In the drop-down box, if you correctly copied the folder mentioned in step 3, you should be able to see an option for "Proton-tkg-7.6.r12-C&C". Be sure to select this. steam play properties
  8. Start your game like normal. You now have the following options:

    • Create a new profile inside the game
    • Close the game and go into the newly created compatdata profile (remember the "24810" folder you deleted? Yeah, it's back now) and replace the /24810/pfx/drive_c/users/steamuser/AppData/Roaming/Command & Conquer 3 Kane's Wrath with the one you backed up in step 5.
  9. If you followed the second option in step 8, relaunch your game and test everything in Single Player/Skirmish.

  10. You are now ready to for Part 2: How to Install the Revora Kanes Wrath Online play Files and [R19] Mappacks.

Method 2 (Manual)

This method is for more advanced users who want to configure things themselves. It revolves around using Steam's stable Proton version (7.0-4 at the time of writing this).

  1. Exit Steam (completely shut it down).

  2. If you have previously set up and ran your game, you must back up your game's profiles and remove the existing Proton-Wine compatibility folder from your game's directory. As an example, Kane's Wrath will be used.

    • Navigate to where your Steam Library is located (where your games get installed at).
    • Follow the path/folders to /steamapps/compatdata/. Inside copmpdata, you will see numerous folders containing the Proton-Wine profiles created for each Steam Play Proton title.
    • Each Steam Play Proton title is denoted by their respectful Steam AppID. In our case for Kane's Wrath, find the folder titled "24810". image of Kane's Wrath's AppID folder
  3. For Kane's Wrath, open the "24810" folder and navigate to /24810/pfx/drive_c/users/steamuser/AppData/Roaming/

    • In this folder, back up your "Command & Conquer 3 Kane's Wrath" folder if you want to preserve your maps, saved games, and online profiles. Kane's Wrath's data folder
  4. After backing up your data, go back to the main "compatdata" folder and delete the "24810" folder. This will erase the entire Steam Play profile for the game. the compatdata folder after 24810 is deleted

  5. Restart Steam and navigate to your Games Library. Select the C&C title you wish to play and open its properties.

    • In the Properties window, under Compatibility, check the box "Force the use of a specific Steam Play compatibility tool".
    • In the drop-down box, select your current stable Proton version (the recommended at this point in time is Proton 7.0-4) steam play properties
  6. Start your game like normal. You now have the following options:

    • Create a new profile inside the game
    • Close the game and go into the newly created compatdata profile (remember the "24810" folder you deleted? Yeah, it's back now) and replace the /24810/pfx/drive_c/users/steamuser/AppData/Roaming/Command & Conquer 3 Kane's Wrath with the one you backed up in step 3.
  7. If you followed the second option in step 6, relaunch your game and test everything in Single Player/Skirmish.

  8. Now completely close your game out. We will now need to install "Protontricks"--"a wrapper that does winetricks things for Proton enabled games".

    • Use your preferred package management tool for your Linux distribution and install the latest version of Protontricks.
    • For Manjaro users, the following command will accomplish this task: pamac install protontricks
  9. Launch Protontricks using one of two ways:

    • From the terminal using the following command: protontricks --gui
    • From your applications menu.
  10. In Protontricks's GUI, select your game's Proton profile. For Kane's Wrath, this is 24810. selecting Protontricks selecting Kane's Wrath

  11. After selecting Kane's Wrath, we will need to first enable Virtual Desktop mode using Winecfg.

    • Why are we doing this? This is so that we can run all the needed VCRuntimes for the game to not desync, install all the required map packs, and install the "enabler" from C&C:Online.
    • How do we do this? Select the default WINE prefix, then run Winecfg selecting WINE prefix running Winecfg
  12. If Winecfg fails to load, use the following command to work around the "invoke" issue that occurs with some desktop managers:

    • protontricks --no-bwrap 24810 --gui
    • 24810 refers to Kanes Wrath Steam AppID, just like its Wine Proton prefix folder
  13. Select the "Graphics" tab, then do the following:

    • Select the "Emulate a Virtual Desktop" option
    • Set the "Desktop size" to whatever you like (preferrably your monitor's resolution, but 1920 x 1080 is a good default).
    • Click OK, then exit Winecfg. NOTE: You WILL NOT land back on the main selection screen, DO NOT exit yet configuring WINE settings
  14. We now need to install the required Microsoft VCRuntimes. To do this, select the "Install a Windows DLL or component" option. installing components

  15. Select the following components:

    • vcrun2005
    • vcrun2008
    • vcrun2010
    • vcrun2012
    • vcrun2013
    • vcrun2019
  16. Wait while Winetricks downloads them, then install each one. Since Virtual Desktop mode is now enabled, each installer will now correctly prompt for confirmation as if you were running it on Windows.

    • Follow through each prompt as it displays on screen (both x86 and x64 versions will be installed).
    • You will be returned to the component selection screen once all installers have been ran.
    • Examples of some of the setup screens: example 1 example 2 example 3 example 4
  17. Once returned to the componet selection screen, you can now verify all VCRuntime installations by selecting the "Run uninstaller" option and making sure all mentioned packages show up. selecting uninstaller the uninstaller view

  18. If all appear as in the above images, close the uninstaller. Winetricks will now automatically enable any DLL overrides neecessary for everything to work.

  19. You are now ready to for Part 2: How to Install the Revora Kanes Wrath Online play Files and [R19] Mappacks.

Part 2: How to Install the Revora Kanes Wrath Online play Files and [R19] Mappacks

  1. If you do not already have an existing Revora/C&C:Online account and registered a profile, you must head over to C&C:Online's website and do so.

  2. DO NOT download the Revora/C&C:Online client. It does not currently work on Linux systems. You will need a special setup file available from one of the Tech Support admins. DM or mention Cervanthes#3136 and he will hook you up with the files (a better method of distribution is in development).

    • Cervanthes will ask for your Revora/C&C:Online account details as to verify that you have been activated.
    • Once done, we will continue to the setup process to enable online play and lobby matchmaking.
  3. After downloading the installers from Cervanthes, select the one related to your current game. Again, we are working with Kane's Wrath, we want to run the KWEnabler.exe file.

    • If you have previously completed your setup using the manual method, you can do this using Protontricks by right clicking the file and selecting "Open with Protontricks". the files
    • If you followed the quick and easy method, follow steps 4, 5, 6, 7, and 8.
  4. To install "Protontricks"--"a wrapper that does winetricks things for Proton enabled games".

    • Use your preferred package management tool for your Linux distribution and install the latest version of Protontricks.
    • For Manjaro users, the following command will accomplish this task: pamac install protontricks
  5. If you do not have the Right Click > Open options for Protontricks, you can launch Protontricks using one of two ways:

    • From the terminal using the following command: protontricks --gui
    • From your applications menu.
  6. In Protontricks's GUI, select your game's Proton profile. For Kane's Wrath, this is 24810. selecting Protontricks selecting Kane's Wrath

  7. Select the Default Prefix and then "Run Explorer". This will launch a Windows-like explorer which we can use to navigate and to execute the installer files mentioned above. selecting default prefix run explorer the explorer

  8. To install the KWEnabler.exe file (again, Kane's Wrath is the game we're focusing on), double click the executable and proceed through the installation process. launching KWEnabler.exe game auto-discovery completing setup

  9. You are now ready for online play. However, we still have the old vanilla maps for the game, as well as the game-breaking bugs that come with them (like the quad turrets).

    • A user by the name of Masterleaf has spent hundreds of hours creating an excellent set of map packs which include maps that fix these bugs!
    • It is highly recommended to install these maps, as it also fixes the general AI desyncs, which allow for play against non-Scrin factions!
  10. Start by checking for any new pinned map packs by Masterleaf in the C&C:Online Discord server.

    • The current R19 release can be downloaded from here.
    • Use the same steps as above to run each one's installer to install the map packs.
    • Examples: example 1 example 2 example 3 example 4 example 5
  11. You are now prepped and ready to play online! Welcome back, Commander.

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