Setting up Age of Empires 2 Multiplayer For Wine Linux 2019
SHH… HAA… AoE2ToolsCloud has been released just today…Hooray!
Q: What’s AoE2ToolsCloud?
A: AoE2ToolsCloud Sets up Voobly and Age of Empires 2 for multiplayer in OneClick. You no longer have to waste time installing the game on windows, installing offline mods, installing UserPatch, installing Wololokingdoms then exporting everything to your linux system. And most of the times, it is a nightmare to set up Voobly and fixing stubborn issues with the game.
Well, the good news is… AoE2ToolsCloud is fully supported on Wine. All you have to do is install steam through a wine32 bit installation (which I am going to show you how to set it up later on this post) and login to your account.
No need to install Age of Empires 2 HD on steam! Cool, isn’t it? – However, you must own all three DLCS to use the tool.
These are the 3 DLCS you need to own on your account:
Setting Up Wine (Development) Fully 32bit
Install/Update graphics drivers for Linux System
Before we jump into wine setup we should update or install any missing drivers. Fire up your terminal command
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo ubuntu-drivers autoinstall
sudo apt-get update
if it asks for a restart please go ahead and restart then come back to continue from here.
Clean 32bit Wine Install With 32bit Prefix (NO MONO)
For this wine installation, we are going to use “Wine (development version)” and “winetricks” available on your Software Center.
(YOU MUST INSTALL THROUGH SOFTWARE CENTER NOT TERMINAL ELSE IT WON’T WORK!!)
Once that’s done! Run the following command to set up wine32bit with a 32bit prefix:
WINEPREFIX="$HOME/win32" WINEARCH=win32 wine wineboot
Then you need to set your 32bit prefix to windows 10
WINEPREFIX="$HOME/win32" WINEARCH=win32 winecfg
Now your prefix should be ready for winetricks.
Installing Libraries Components Through Winetricks
Before we proceed with the bash commands, take a few seconds to educate yourself abtout the basic requirements for every app we are about to use:
- AoE2Tools requires (cmd, corefonts, dotnet45 or dotnet461)
- Age of Empires 2 on Voobly (corefonts, directplay, directx, quartz)
- Steam (corefonts, quartz, wininet, other libraries were omitted that may break dotnet461 installation)
If dot461 fails to install whereas dotnet45 has installed, well then that’s fine! It’s all we needed.
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks corefonts
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks cmd
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks directplay
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks directx9
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks d3dx9
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks d3dx10
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks dotnet461
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks dsound
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks quartz
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks wininet
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks xact
Once again let’s go back to winetricks
WINEPREFIX="$HOME/win32" WINEARCH=win32 winetricks
Check every directx dlls to ensure the best gaming experience possible.
Did you make it here? Well! Congratulations! Your wine installation is ready and looking all lovely.
Setting Up AoE2Tools Steam
In this final section, we are going to take a look at setting up AoE2Tools and Steam while the rest will be taken care of by AoE2ToolsCloud.
Open a new terminal window and let’s take these bad boys to the download folder first
cd ~/Downloads
Downloading, Installing, Running Steam
1. To download the windows version of steam
wget https://steamcdn-a.akamaihd.net/client/installer/SteamSetup.exe
2. To install steam to your freshly made wine 32bit prefix
WINEPREFIX="$HOME/win32" WINEARCH=win32 wine SteamSetup.exe
You know the installation drill! Next, Next, and Finish. Steam will start updating and once that’s over sign into your steam account.
Downloading, Installing, Running AoE2ToolsCloud
1. To download the latest version of AoE2Tools, we will need to install a tiny package first
sudo apt install jq
Now let’s download the latest release of AoE2Tools
file_get=$(wget -q -nv -O- https://api.github.com/repos/gregstein/AoE2Tools/releases/latest | jq -r '.assets[] | select(.browser_download_url | contains(".exe")) | .browser_download_url') && wget --output-document=AoE2Tools.exe $file_get
2. To Install AoE2Tools on your freshly built 32bit prefix
WINEPREFIX="$HOME/win32" WINEARCH=win32 wine AoE2Tools.exe
This is similar to Steam installation, Press Next, Next and Finish.
That should bring up AoE2Tools Launcher.
If AoE2Tools didn’t launch you should find the shortcut on your desktop or search “AoE2Tools” as it is likely to be found with your apps. And FYI, AoE2Tools installs to this location
cd /home/$USER/.wine/drive_c/users/yourname/Application Data/AoE2Tools
Don’t forget to change “yourname” to your system username.
Launching AoE2ToolsCloud
This is how the launcher looks like
Press That Cloud Icon, indicated by the red arrows, to get access to the Cloud utility.
Once you click that! Steam will be prompted to sign in if you weren’t already signed in.
As you can see above, you can pick any installation build (Iron, Copper, Gold, Diamond, Painite) in a prestigious order. Please note that every build has or lacks mods and expansions, so take your time to preview them one by one by clicking the preview image on the top right-hand side of the window.
Below the preview, you can find the featured offline visual mods, and expansions.
Once you select the build of your choice, press Customize in the bottom of the window
This is the final configuration step which you can just leave as it is unless you want to change Voobly Client language, installation path or import a custom hotkey profile, etc.
Once you press “Download Install”
This is how it looks, You simply need to press “Get My Key (Free)” where another tiny window pops up which you need to copy the code from it then Press “Enter Your Code”. That should take you to https://ageofnotes.com/openkey/
Where you are expected to paste your code and press Generate My Key as in the picture below:
Press generate My Key and copy your free key to AoE2ToolsCloud
E.g.
Finally, Paste your key to AoE2ToolsCloud and hit Validate button
While you are downloading or installing do not forget to use “Autologin Voobly” section so you would be automatically logged into Voobly and automatically joining the preferred lobby when the entire process is done.
That’s it, guys! Feel free to comment or post any issues. Also, remember not to run the game offline if you want to play single player or multiplayer you must use Voobly to do so. Until wine fixes it someday.
If you wish to support this project in any means:
I went through the tutorial but I had some issues. First, I could not install quartz if I installed the packages in the order they are listed in the article. This caused an issue with Voobly, where after entering a lobby, I had an error telling me to restart the client. I solved this by deleting my entire wine prefix and installing quartz as the first package. The error during installation was: “regsvr32: Failed to register DLL ‘quartz.dll'” and then “regsvr32 quartz.dll returned status 5. Aborting.”. BTW before getting all of this to work, I went through a lot of… Read more »
Thank you for this detailed reply! Concerning the restart Voobly error, it has to do with directplay registry keys missing due to not installing directplay at the first place. Once you install Directplay and directx Voobly client should be able to open/read/write into the registry keys at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectPlay\Applications\Age of Empires II - The Conquerors Expansion Unfortunately I didn’t run into any of the errors you have listed all the way though I have tried the entire method several times before actually posting it here. Did you install wine development from the software center? Anyways I am happy that you were… Read more »
I did install directplay and directx, as well as all directx libraries recommended by you, before installing .NET. The only thing I changed in the order was installing quartz first as it did not get registered otherwise. No, I did not install wine from the software center as it seems (no green check mark there). I must have installed it through apt. I also have other wine versions installed that I use for other games via Lutris, like the wine installation of Proton and wine tkg. However, the one I was using with your tutorial was wine staging 4.6 .… Read more »
One more issue I forgot to mention, which also still plagues regular AoE II HD (Proton 4.2-3): Sometimes, when the game window loses and regains focus, the screen is stuck scrolling in a constant direction: https://steamcommunity.com/app/221380/discussions/2/622954302095447538/ It looks like the game thinks one of the arrow keys is pressed, so the workaround is to disable these in the hotkeys, by means of duplicate hotkey assignment. This occurred to me before I imported my current HD hotkeys, which already have this workaround. The only thing that is not solved is that when the game thinks it’s time to bork the left… Read more »
Yes I have heard about that issue when you alt-tab for example and return to the game it scrolls to the left hand side. I had this fix in my mind that may work and forgot to test it out. At least it fixed for me on windows system a while ago.
Change compatibility to Windows XP and close Voobly messenger, close steam, essentially any window that is not maximized should be closed or minimized and if you minimize it make sure not to atl-tab to it.
Another issue I encountered in the last couple of days is that the graphical representation of the in-game mouse pointer does not move when the game starts. The mouse pointer works, but is invisible.
This in turn forces me to alt-tab, as the issue is solved if I do so 11.
I’m nor aware of this issue, but could it be because you don’t use normal mouse?. Open up AoE2Tools and to the bottom window press Tweaker then check normal mouse
demo:https://prntscr.com/nkmnwe
Now run the game and it should display windows cursor instead of game cursor. Hopefully that won’t make your cursor invisible again 11
First of all sorry for my English.
Were you able to install Voobly on native Steam Linux age2?
Could you make a video or exemplify the step by step?
Thanks in advance!
Not native Steam client! In this guide We have used the Steam client of Windows which is installed in Wine32 installation.
This is all great work. I’d like for it to work on my pc but aoe2toolscloud freezes on my pc in the choosing installation type (iron, copper, etc). I click on one and it freezes, doesn’t even display the content in the “Featuring..” area. In the terminal, this repeats over and over again: “0032:fixme:file:GetLongPathNameW UNC pathname L”\\\\?\\C:\\Program Files\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe” 0032:fixme:file:GetLongPathNameW UNC pathname L”\\\\?\\C:\\Program Files\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe” 0032:fixme:file:GetLongPathNameW UNC pathname L”\\\\?\\C:\\Program Files\\Steam\\logs\\cef_log.txt” 0032:fixme:file:GetLongPathNameW UNC pathname L”\\\\?\\C:\\Program Files\\Steam\\logs\\cef_log.txt” 00c6:err:module:import_dll Library msdmo.dll (which is needed by L”C:\\Program Files\\Steam\\bin\\cef\\cef.win7\\libcef.dll”) not found 00c6:err:module:import_dll Library libcef.dll (which is needed by L”C:\\Program Files\\Steam\\bin\\cef\\cef.win7\\steamwebhelper.exe”) not found 00c6:err:module:LdrInitializeThunk Importing dlls for L”C:\\Program… Read more »
Thank you for reporting! I have fixed the freezing bug please Updater.exe and let it update to 3.3.0.2. Then try only this time it should work.
And BTW just ignore those terminal errors. It’s fine if you don’t install quartz because only steam that may use it sometimes.
thanks! It still worked without the update, but I had to wait a couple of hours for it to keep working 🙂
I had the same issue with quartz. What helped was installing quartz before any of the other dependencies, starting from scratch.
Hi!
As of lately, AoE II HD works flawlessly on Linux using Steam’s built-in proton feature.
This means that it is a little awkward to keep a separate copy of the windows version of Steam on a machine where the Linux version is already installed for various games, including AoE II HD.
Is it possible to adapt this mechanism to use the AoE II HD installation from one’s native Linux Steam installation?
Also, really good work!
Update: I just tried it and it works without adapting actually anything. I was logged in thorugh my Linux Steam client.
Hello!
Proton is essentially wine built into Steam client without any configuration from your end. If you decide to setup wine from scratch as in this tutorial then download and install windows steam client then install your games; in my opinion it is the same thing as proton builtin feature.
Be it Proton or Wine, it’s the same drill! Games and apps would run nearly native, at least way better than a virtual machine.
Proton is an open source code in case you need further info https://github.com/ValveSoftware/Proton
Hi!
I do know what Proton is. It is not only Wine, however, for the purposes of Voobly, the rest is practically irrelevant.
The reason I brought up this subject is that in my opinion, it is more straightforward to use the native Linux client, since in the future, that is where those who play Age of Empires on Linux will most likely already have an installation ready.
For newcomers, it means 1 less component (and a couple of dependencies less) they need to install through wine.
I agree with you brother! For that AoE2Tools needs to get a native binary for linux so it connects with the native linux steam client.
It does not. As I mentioned, I got it to run without installing Steam through wine, just logging in to the native client.
That was the whole point of my experiment.
Also, the issues I mentioned were fortunately unrelated to this, since they either happened before even starting AoE2Tools or they affected Voobly.
I did install all dependencies you recommended, including Steam dependencies. And as you mentioned, my Voobly issue was due to not having installed quartz properly.
Fantastic! Thank you for clearing that up. I will pin your comment.
Hi thank you for the tutorial, I’ve been trying to follow it but i cannot launch steam because it crashes. Which wine version are you using?
Hello!
Wine development! You must install it through the software center not through the terminal.
I want to greet you, for this wonderful tutorial, works like a charm!!
Very much appreciated your feedback brother ❤
Tested with winehq-development on virtual machine with Linux Mint. Not all dotnet i installed because it took too much time.
During installation with AoE2ToolCloud i got error at “Final configuration” step. You can check error on pastebin https://pastebin.com/YAxg08cZ.
After i got this error i closed it. Then run voobly and everything else was perfect. Game runs without any error. But only one minor problem – some graphical glitch and im pretty sure its because it runs on virtual machine without GPU and i connected via VNC.
And there is another problem – i got a default hotkeys and not from steam.
Hello,
Please refer to this post: https://github.com/gregstein/AoE2Tools/issues/24
Chech the last reply there.
It’s fixed now on the latest version. Thank you for notifying!
It looks like the installation is missing an “icon” Z:\home\user\data\icon.ico
Here download it and put it in that location: https://ageofnotes.com/wp-content/uploads/2019/09/icon.ico
first i want to deeply apologize for my newbieness
When i try to download aoe2tool it gives me syntax error near unexpected token ‘;&’ what am i missing? i know must be trivial again i’m sorry
This is the correct code and i have updated it:
file_get=$(wget -q -nv -O- https://api.github.com/repos/gregstein/AoE2Tools/releases/latest | jq -r '.assets[] | select(.browser_download_url | contains(".exe")) | .browser_download_url') && wget --output-document=AoE2Tools.exe $file_get
It was not your fault. My editor seemed to have replaced ‘&’ by ‘& amp;’ for some reason. Thank you for your comment as it helped fixing the typo issue.