Steam
You need to have Steam installed. Follow your distribution's recommended installation approach.
I prefer the Steam flatpak because it inherently handles a lot of dependencies and works across any system. However, I have tested the repository installed client on both Fedora (Workstation 31, Workstation rawhide, Silverblue rawhide) and Ubuntu (18.04.3, 19.10).
Installing protontricks
A winetricks wrapper called protontricks needs to be used for the directplay installation. Follow installation instructions on the protontricks github page.
If using the flatpak version of Steam, please take special note of the "Flatpak-specific installation instructions" on the protontricks installation page.
If not using the flatpak version of Steam, you will also need to install winetricks to a location on your PATH.
Installing the game
Once Steam is installed, you need to enable Steam Play for unofficial titles. This is because the game is not verified by Valve, and probably wont be unless directplay is shipped be default or is properly added to wine.
In Steam, go to Settings -> Steam Play. Under the Advanced section, make sure Enable Steam Play for all other titles is checked.
Select Proton 4.11-11 (or a newer version) from the drop down. Click OK. Steam will need to be restarted.
After Steam is restarted, install Microsoft Allegiance.
Installing directplay
Before you can install directplay, you need to run the game once so the wine prefix is created. Go ahead and do so.
Windowed mode is recommended, and will still be full screen due to how Proton works anyway. You can test the game using the built in training missions, and even confirm you can't connect to the multiplayer lobby. If, somehow, you can connect to the lobby without installing directplay, please let us know!
Exit the game and open a terminal. Run one of the following commands.
Code: Select all
protontricks 700480 directplay
or
Code: Select all
protontricks-flat 700480 directplay
If protontricks isn't found, it's probably at ~/.local/bin/protontricks:
Code: Select all
~/.local/bin/protontricks 700480 directplay
Run the game again and confirm you can connect to the lobby. Everything should be working now. Enjoy the game!
Other notes
D9VK
Proton 4.11-11 includes D9VK, a Direct3D 9 implementation over Vulkan. If your system supports vulkan, give it a shot! It can be enabled by setting the following in the game's launch options:
Code: Select all
PROTON_USE_D9VK=1 %command%
Extra network interfaces
I continued to have an issue connecting to the lobby on a machine with an virtual network interface as a bridge for virtual machines. Removing it allowed me to connect to the lobby again, but bringing it down might work just as well.
Crash on match start
Some times when I'm on a team as a match is starting, my game client will crash. Restarting the game and rejoining works without issue. Not sure of the cause of this yet.
External links
ProtonDB
ProtonDB is a well-known site used by users to track the status of games on Steam. The page for Microsoft Allegiance is here:
https://www.protondb.com/app/700480
Please take the time to add your own report! It helps with visibility.
Proton github issue
The Proton github project is a place to track compatibility for every game on Steam. Any specific workarounds or quirks should be included here for others as it will help Valve and proton developers keep track of it.
https://github.com/ValveSoftware/Proton/issues/3395
Linux users be warned
This community does not understand how open source development works. I do not blame them, because 1) most of them are not developers and 2) it was closed for a long time and kept behind a curtain even longer. That said, if you are a linux developer looking to contribute, be warned. They will largely not be cognizant of your free time and refuse to participate in active discussion without insulting you. They don't comprehend having a valuable skill set contributed for free and don't comprehend that you're not a big corporation making demands. They are used to the Cathedral and do not understand the Bazaar.
If you run into any push back, just fork the project and start your own community -- a concept which has been tried before and labeled with betrayal/malicious intent by various administrators/members of this community. They do not understand how permissive the MIT software license is and what that means for the game. If you do start a new effort (or make headway here, which I truly hope is possible), I'd love to join you. Find me on Github.