Temporary Fix for playing Battle.net games with CrossOver
If you're using CrossOver to play Battle.net games, you may have noticed issues with the latest version of the Battle.net client. The problem isn't the client itself but its Agent.exe, which handles I/O operations for game updates.
While the CrossOver developers work on a proper fix, you can still download, update, and play games by using a workaround that involves reverting to an older version of Agent.exe.
Background
Battle.net keeps two versions of its launcher and executables, including Agent.exe. By preventing the launcher from updating Agent.exe to the latest (broken) version, you can continue using Battle.net as it worked prior to the update.
Last working version: 8916
"Broken for CrossOver" version: 8988
Workaround:
- Open CrossOver: If it's not already running, start CrossOver.
- Quit the Battle.net client: Make sure the Battle.net client is fully closed.
- Locate your Battle.net bottle: In CrossOver, click on the Battle.net bottle.
- Access the C: drive: On the right-hand side, under "Bottle Actions", click "Open C: Drive".
- Navigate to the Agent folder: Go to ProgramData > Battle.net > Agent.
- Check for agent versions: You should see two folders: Agent.8916 and Agent.8988. If you don't, you'll need to obtain the older version (8916) from someone else.
- Open the folder in Terminal: Go back one level to the Battle.net folder, right-click the "Agent" folder, and select "New Terminal at Folder".
- Delete the broken version: Run the following command in Terminal:
rm -r Agent.8988
(Don't worry - if anything goes wrong, the client will re-download it) - Create an empty placeholder file: Run:
touch Agent.8988
- Make file immutable: Run:
chflags uchg Agent.8988
To undo this later, when CrossOver implements a fix, run:chflags nouchg Agent.8988
to remove the flag and allow overwriting the file. - Launch the Battle.net client: Open the client from the Battle.net bottle.
- Click "Update" on your game and enjoy it :)
To undo these changes and allow Battle.net to update Agent.exe to version 8988, run the second command from step 10.
If Agent.exe is updated again before CrossOver releases a fix, simply repeat the same process for the newer version. Remember to back up the version that works.
I hope this helps anyone struggling with the issue!