Running World Of Warcraft: Mists of Pandaria under Linux / WINE: Fixing Agent.exe failed and other update errors

For Linux users, using WINE to upgrade World of Warcraft after the release of Mists of Pandaria has proven a bit tricky. If your update is crashing, you’re having problems with DNSAPI.DLL, or you’re hitting the dreaded ‘Agent.exe failed‘ message, don’t worry: here at MMO Melting Pot we’ve compiled a series of tweaks, fixes and solutions to get you up and running again.

Last updated: 26th September 2012 for Mists of Pandaria

If your installation isn’t playing ball, try the following steps, in order:

Step 1: Consider reinstalling from scratch

A fresh installation of WoW is often a good idea when a new expansion is released. If you have the time and the bandwidth, consider reinstalling World of Warcraft completely. By far the best way to do so is by using the online installer. You can download the installer from your Battle.net page. Then, just run wine World-of-Warcraft-Setup-enUS.exe (substituting the correct name of the installer if yours is different, obviously).

If you’d rather not go through the hassle of a complete reinstall, keep reading for a few tricks that might save your bacon (and your bandwidth).

Step 2: Rename your configuration folders

The chances are good that the configuration folders automatically created by the Blizzard downloader are not working correctly for your installation. Luckilly, if the download can’t find these files it will recreate them automatically. So, let’s deliberately remove these files, to force the downloader to recreate them.

Rather than permanently deleting the files, we’re going to just rename them – that way, we can always put them back later if we need to. Here’s how to do it:

  1. Open a file browser (use Nautilus, or whatever file browser you normally use).
  2. Navigate to your Home directory (/home/<<your username>>/).
  3. Press ‘Ctrl+H‘, or choose ‘Show hidden files’ from the View menu. You’ll now be able to see all the ‘hidden’ files and hidden directories in your home directory – those are the files whose name starts with a period (.).

    • The directory you’re looking for is called .wine. Once you find it, double-click it to open it.
    • Navigate to ~/.wine/drive_c/users/Public/Application Data/.1 You’ll see a directory called Battle.net and a directory called Blizzard Entertainment. Don’t worry about any other directories – they’ve just been created by other programs you’ve run under WINE.

      • Rename Battle.net to Battle.net.Cataclysm. Rename Blizzard Entertainment to Blizzard Entertainment.Cataclysm.2 Don’t close the file browser just yet.

Step 3: Run Wow.exe and watch it crash

  1. Now open a Terminal, and run
    wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe.3 The WoW updater will open, start to download something, and then after a short while it will crash. Don’t worry: this is what we actually want to happen at this stage.

    • Check the Terminal from which you launched WoW. The Launcher will have printed a whole bunch of information and error messages. You can ignore most of it: the specific line we’re interested in will look something like this: err:module:import_dll Library DNSAPI.dll (which is needed by L"C:\\users\\Public\\Application Data\\Battle.net\\Agent\\Agent.1363\\Agent.exe") not found<br /> err:module:LdrInitializeThunk Main exe initialization for L"C:\\users\\Public\\Application Data\\Battle.net\\Agent\\Agent.1363\\Agent.exe" failed, status c0000135.

      Ugly, huh? The important bit is the Agent.1363. Your error message might well contain a different number than 1363. Whatever the number, take a note of it: we’ll need it soon.

      • No Warcraft-related programs should be running right now, but just to be sure, let’s manually run commands to stop them. In your Terminal, type the following commands one after the other: killall Agent.exe
        killall Wow.exe
        killall Launcher.exe

        • In your file browser, check that the directories Battle.net and Blizzard Entertainment have been recreated.

Step 4: Fix DNSAPI.dll

  1. Run the WINE configuration utility, either by clicking Configure Wine in your applications menu, or by running winecfg from a terminal.
  2. Click the Libraries tab.
  3. Click the drop-down list under ‘New overrides for library:’, and choose ‘dnsapi.dll.
  4. Click ‘Add’.
  5. Cick ‘Edit’, and change the Load Order to ‘Builtin (Wine)’.
  6. Click ‘OK’, then click ‘OK’ again to close the WINE configuration utility.

Step 5: Profit! Run Agent.exe with a special flag

We’re almost done.

  1. Back in your Terminal, run the following command (you’ll need the number you noted down earlier): wine ~/.wine/drive_c/users/Public/Application\ Data/Battle.net/Agent/Agent.<<your number>>/Agent.exe --nohttpauth &
    Note, that’s two dashes (–) before nohttpauth.

    • Wait a few seconds, just to make sure the Agent.exe tool has had a chance to kick in. Don’t worry about the text being printed to your Terminal.
    • Run
      wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe.3

The World of Warcraft updater will launch again, but this time it won’t crash! Once it’s downloaded the update, the proper WoW Launcher will open and will start to download the new patch. Once it’s done, congratulations: you’re ready to play!

Troubleshooting

I’ve got the Launcher working, but it won’t download anything!

WINE can sometimes have trouble with the peer-to-peer technology used by the Launcher. Try disabling Peer-to-Peer transfers. You’ll find it in the Launcher, under Options > Downloader Preferences > Enable Peer-to-Peer Transfer.

I’m on a 64-bit system, and WoW runs really slowly / times out constantly

Try forcing WINE to run WoW in 32-bit compatibility mode. Use the following command:

setarch i386 -3 -L -B -R wine ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe

I’ve got a decent graphics card, but WoW runs slower than I’d expect

Try forcing WoW to run in OpenGL mode. Just append --opengl to the end of the command, like this:

~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/Wow.exe --opengl

I have a different problem, which is not covered by your useless so-called Troubleshooting section!

Make a comment on this post. I’ll try to help you out if I can. Alternatively, have a read through the World of Warcraft entry on WINE’s AppDB site. There’s some pretty good tips on there.

Credits

The information in this post has been compiled from the expert knowledge of the MMO Melting Pot staff, along with tips and tricks shared online by many WINE-using Warcraft players, particularly the great community at WINE’s AppDB site.

1 If your installation is in a different location than .wine (if you’re using a different wine prefix, or you’re running Vineyard or Crossover or PlayOnLinux, or you just like being awkward), navigate to that directory instead.
2 You can choose any name you like here – the .Cataclysm suffix is just what I choose.
3 Or whatever command you normally use to run WoW.

Have you spotted a mistake? Did the tips in this article work for you? Do you have any tips to share with other Linux users? Let us know in the comments!

Read more →

Is Blizzard unfairly banning Diablo players on Linux?

Several players have been banned from playing Diablo, permanently, whilst running Linux. Blizzard claims it’s 100% sure that they were cheating, but the players in question are increasingly adamantly claiming that they were doing nothing wrong – and there’s even talk of lawsuits. What’s going on?

Many of you may be aware that last week, a story came out that several Linux users had been banned from Diablo, allegedly for botting. A forum storm broke out, until Blizzard’s Bashiok spoke up on the forums, confirming that the players had definitely been banned, not for using Linux, but for cheating. And that seemed to be the end of it.

Except that this new week has seen some pretty startling developments, as the banned users, rather than going silent (as botters tend to) are becoming both more vocal and more open about the history of the case, in an effort to seek some kind of resolution to their ban. And now, large Internet news sites are starting to pick up on their story, with The Verge wading in firmly on the side of the Linux users

“The players Polygon spoke to were adamant that they had not used any programs to help them cheat in the game. They all reported that the game had run flawlessly on their Linux computers for weeks before they suddenly received bans and were accused of using unauthorized third party software to give themselves an unfair advantage in the game.

Meng says Bashiok’s post in the Blizzard forums is frustrating and insulting to players who didn’t do anything wrong.

“”Simply applying a blanket label that we are both liars and cheaters is indescribably irritating.””

“To be honest, I find it very condescending, ill-informed, and insulting,” he says. “Any software engineer knows that claiming any such imprecise detection system to be infallible is the height of hubris. After all, the problem could be the result of an odd conjunction of factors that nobody would have thought to test for – after all, WINE is not officially supported by Blizzard, since it isn’t, in fact, Windows! To claim that such issues are impossible is simply ridiculous.

“The insulting part was fairly simple – while I can understand that people may use excuses like this to attempt to hide their actual cheating, simply applying a blanket label that we are both liars and cheaters is, well, indescribably irritating.””

Cinemablend is even more outspoken in its coverage of the situation

“This still doesn’t justify the banning of the individuals involved. Many level-headed users have been asking Blizzard for full disclosure regarding the bans and what “cheats” these individuals actually used to game the system, assuming they were even cheating in the first place.

Keep in mind that while Bashiok publicly stated that personal account information or cases involving a player’s account are never disclosed publicly, Blizzard has never shied away from making examples of hackers or liars on the forums. Bashiok’s recent comments about account disclosure is completely contradictory to past practices. For example, on the Diablo III forums Bashiok states…

” It’s company policy not to discuss account actions with anyone but the account holder, or their legal guardian if applicable. It’s an issue between us and them. Trust me, it’d be much easier on me to just post exactly what they did, but we feel it’s important to honor the privacy of our customers, and that’s a policy I personally agree with. “

That’s the complete opposite of what happened when someone claimed that they had an authenticator attached to their account before they were hacked, in which Bashiok readily stumbles into the Diablo III forum and lets loose this little tidbit before closing the thread…

” Hi Turtle. According to your account records an authenticator was not attached to the account until after the compromise. If you’d like to discuss further, or have any questions, please contact our customer service department: https://us.battle.net/support/en/ticket/submit

So why the policy change? And which is it, Blizzard? I thought account actions weren’t to be discussed publicly with anyone else but the account holder? Why is it okay to disclose that someone’s account has an authenticator or not but it’s not okay to say how they were cheating? I’d like to imagine that the former is a bit more of a mockery of the account privacy policy than the latter. ”

So what is going on here? Well, it’s still impossible to say, of course, but Blizzard’s case is looking shakier by the minute, at least whilst they stick to their “there’s no way this could be a mistake” line without further evidence. And whilst it’s still true that Blizzard doesn’t officially support Linux, this situation is increasingly less about alternative operating systems, and more about Blizzard outright alleging cheating and imposing sanctions with economic value, without giving any evidence in support of their situation. If Blizzard were willing to admit the possibility that something had gone wrong, this entire situation would have died down by now – but they’re absolutely refusing to entertain the possibility that could be the case, even under mounting media pressure.

More and more, this situation is reminding me of Battle Chicken’s recent fight against an unfair ban in SWTOR. Time will tell whether Blizzard come clean – either with evidence or an apology – as Bioware did. But the entire situation raises a lot of questions.

Just what is going on, for starters? Cheaters rarely make this much of a public fuss when caught – I can’t recall another example in the recent past. If Marcus Meng really was cheating, why’s he exposing himself to such a massive potential backlash? And is it actually reasonable for Blizzard to cut off access to their games with this little explanation – or to tar players with the “cheater” accusation without any kind of proof?

Are Blizzard really claiming their detection systems are infallible? If so, that’s a foolish claim, as any first-year computer science student can tell you. And Warden has made mistakes with Linux in the past – mistakes which Blizzard eventually admitted and apologised for.

Or is there something else going on – something that Blizzard are reasonably reluctant to reveal? For example, is there some kind of potential exploit for the Diablo Real-Money Auction House accessible through the specific Linux configuration Meng was using, which he may have knowingly or unknowingly stumbled upon? Are Blizzard actually protecting their other players with their hard-line attitude here?

What do you think is going on?

Read more →

Running World Of Warcraft under Linux: Installation

Update (September 2012): This article is out-of-date. Take a look at our guide to updating to Mists of Pandaria under Linux.

Some time ago, I promised you a tutorial about installing and running World Of Warcraft on the Linux operating system. Well, here goes.

A few caveats before we get our collective geek on: first of all, this is going to be a long post. Certainly, it’ll be longer than we normally give you here at the Melting Pot. It’ll also have a lot of images within it. Again, this isn’t something we’ve done a lot of, so please comment if it’s all messed up for you and I’ll try to fix (particularly people reading via RSS). Finally, this article is only going to cover installation. I’ll do a follow-up article about tweaks and customisation, and probably another article of problem-solving and collective trouble-shooting.

Right then. Having used up a third of my usual word count already simply by telling you that I’m going to use more words than I usually do, let’s get started.

I’m going to start with a fresh installation of Linux, to make sure we cover everything that needs to be done. I’m going to be installing Wrath Of The Lich King on a system running Ubuntu Linux (10.4 “Lucid Lynx”, 64-bit version), but these instructions (or similar) should work for virtually any desktop Linux system. My hardware is a dual Athlon 64 6000+, running on an ABIT AN52V motherboard with a GeForce 8500 GT graphics card. So, not too great but not disasterously poor

[1].

Let’s get some drivers for our graphics card first of all. A fresh Ubuntu install will give you a “Restricted Drivers Available” popup. Click it, and then choose Install Drivers. Pick the recommended driver if there’s more than one.

Restricted drivers available

The next thing to do is to make sure we’ve got all the appropriate software updates for our system. Just use the Software Update tool[2]. If there are updates available, you can click on the icon in your top bar.

Update Manager

Update Manager

Unless you’ve got a darn good reason not to, grab everything under Important Security Updates (particularly base-files, libfreetype6, linux-headers-generic and linux-image-generic).

This’ll probably take a while to download and install, and you’ll need to restart your computer when it’s done.

Now it’s time to install WINE, which is the magic software that’ll allow us to run the Windows version of WoW without ever leaving the tranquil oceans of Linux. Click Applications and choose Ubuntu Software Centre. Search for “wine”, and install it. Whilst you’re here you might as well grab gnome-exe-thumbnailer as well, which will give your Windows .exe files pretty (and meaningful) icons, rather than an ugly Windows rectangle.

We have to move to the Terminal now. Click Applications » Accessories » Terminal. If you’re new to Linux and haven’t used the Terminal before, I don’t want you to panic. I know it looks intimidating and suspiciously hacker-like, but I’ll talk you through it. The Terminal is a direct line to the inner workings of your Linux installation. You can think of it as the Linux equivalent of the Windows command prompt if you like[3].

The Linux Gnome Terminal

The Linux Gnome Terminal

In the Terminal, type this:

sudo apt-get install mesa-utils

You’ll be prompted for your administrator password[4]. Once the mesa-utils package has been downloaded and installed, type

glxinfo | grep rendering

If the Terminal now prints out a message along the lines of “direct rendering: yes”, then your graphics card and drivers can support the minimum of 3d rendering we’ll need to run WoW. If it doesn’t, you’ve gone wrong somewhere along the line. Comment on this post and I’ll try to sort you out. Don’t close the Terminal yet – we’ll need it again in a moment.

I’m going to give you an incredibly useful tip now. If you didn’t already know about this, you’re going to want to reward me with alcohol. The tip is this: you can install World of Warcraft directly from the Wrath Of The Lich King DVD. You don’t need to install WoW Classic and Burning Crusade first. There you go: I just saved you hours of disc-swapping, patch-downloading irritation.

So. Slap the Wrath DVD in your drive, and let’s get on with it. Unlike the installation discs for Classic and The Burning Crusade, the Wrath DVD is in a special format which means it can be read by both Macs and Windows PCs. Unfortunately, this makes it a bit of a pain in the murloc for us poor Linux folks. Not to worry, though. All it takes a bit of Terminal magic. With the DVD in the drive, type:

sudo umount “/media/Lich King”

The icon for the Wrath DVD will disappear from your desktop. That’s okay. We’ll get it back in a minute.

Type

id

to discover your numerical user id. It’s probably 1000, but we need to know for sure because we’re going to use it when we get the DVD back. Type

mkdir ~/wrath

That command will create a new (empty) folder in your home directory, called wrath. We’re going to magically make the contents of the DVD appear in that directory, and we’re going to do so with the following command:

sudo mount -t udf -o ro,unhide,uid=1000 /dev/scd0 ~/wrath

Type the command exactly as it appears here, but substitute your own user id if it’s something other than 1000. You might also need to change the /dev/scd0 bit if your DVD drive is a weird one (if so, comment on the post and I’ll help you).

The DVD is accessible, so it’s time to start the installation process[5]. Still in the Terminal, type:

cd ~/wrath

wine ./Installer.exe

The WoW installer running under Ubuntu

The WoW installer running under Ubuntu

Hooray and hoorah! I’m going to trust that you know what to do from here on in, so go ahead and install WoW. Don’t worry about which directory to install into – just accept the default of c:\Program Files\World of Warcraft. Once the installation has finished, eject your DVD by right-clicking its icon on the desktop and choosing Eject.

Ejecting a DVD

You can now run WoW by clicking Applications » Wine » World of Warcraft » World of Warcraft. The game might crash the very first time you try to log in. Don’t worry about that, just restart it. You might also see an error on the Launcher, similar to this:

Launcher rendering error

Launcher rendering error

Again, you can ignore this. It’s not doing any harm.

We’re done. If everything’s gone according to plan, you now have a fully-patched installation of World Of Warcraft running under Linux. There are a bunch of tweaks we can make to improve the way the game runs and the way it fits in with the rest of your Linux experience, and of course there’s an inevitable list of troubleshooting tasks for common problems. We’ll leave those for the next post in this series.

How did you get on? Was it a painless installation, or did you hit problems?

[1] As it happens, this is the machine I usually raid on. Wow under Linux on this machine can hit anything from 30fps to 70fps on full graphics, depending on which area I’m in. I got my Kingslayer title on this machine, so it can’t be that bad.

[2]Alternatively, run Synaptic and choose Reload.

[3]Although you’d be wrong in more ways than I have the time to list.

[4]Be careful with the sudo command. It means that you’re running instructions as an admin (or “root”) user, instead of as yourself. It’s quite possible to trash your entire operating system with a single destructive root command. Never copy/paste sudo commands if you’re not sure what they do. Yes, like the ones I told you to copy/paste as part of this tutorial. You should never do that … but you trust me, right?

[5]While the WoW installer is running, you’ll see pages and pages of text being printed to the Terminal. There’s nothing wrong – it’s supposed to do that. Yes, even the lines that start “fixme”.

This series: Prologue | Part One

Read more →