Playing Halo: MCC Multiplayer on Linux

The Master Chief Collection over the Internet, despite EAC.

Created on July 27, 2020.

Depiction of sticky grenades about to be thrown.

Introduction

When I tell people I used to play the original Xbox Halo: Combat Evolved over the Internet, they often assume I'm either confused with the PC version, or a liar. You know, like I'm the my-uncle-works-at-Nintendo kind of liar. Well, I used a tool called GameSpy Arcade that let users expose LAN games over the Internet in a well-organized listing. From Wikipedia:

GameSpy Arcade allowed users to play games online such as Halo, Command & Conquer: Renegade, Counter-Strike, Unreal Tournament 2004, as well as various other First-Person-Shooters and Strategy games.

It's funny that two decades later, here I am doing the same thing (with Halo: CE even), but under different circumstances.

The Problem

Basically, the problem comes down to a software called Easy Anti-Cheat (EAC) preventing Linux users from enjoying multiplayer in their favorite games, such as Halo: The Master Chief Collection, Warhammer: Vermintide 2, Apex Legends, etc. Efforts have been made to produce Wine builds with EAC support, but only temporarily. In mid-to-late July, this fork of Wine by Guy1524 achieved just that, but unfortunately a change to EAC voided the fork's purpose almost immediately. It remains to be seen whether EAC support will ever be here to stay for Linux.

My hunch is that one day there will be EAC support for Linux, but patience is needed.

A Solution

For now there is an alternative, which involves avoiding EAC altogether. It's called HaloBase, an unofficial server browser (remember?) using Steam's API to list and let users connect to custom, moddable Halo: MCC games. EAC is not needed to connect to custom games, hence why this works. Actually, non-Linux users benefit from this custom game browser as well, since there is no official one. Presumably 343 Industries will at some point develop an official custom server browser, but they've had bigger fish to fry.

At this point I've played Halo: MCC over the Internet with Linux for hours using HaloBase, and I love it. For Halo: MCC, the coming months may comprise its renaissance of custom games due to the addition of Halo 3 to the collection. Recall that Halo 3 was the first title in the franchise to introduce the Forge for customizing maps. Still, despite enjoying many custom Halo 3 games, my preference is still Halo: CE.

A Tangential Note on Sound

At the time of this writing, Halo 3 and Halo: Reach produce no sound on Linux systems, which I first noticed in multiplayer. To fix this, do the following:

  1. Install protontricks
  2. Run this command in a terminal: protontricks 976730 win7

Demystifying the command, 976730 is simply the application identifier of Halo: MCC, and win7 means to switch it to act as if it's running in a Windows 7 environment.

Conclusion

Hopefully this approach scratches the itch for now. I'll update this article as things develop. Have fun!

© Reese Schultz

My code is released under the MIT license.