ASPENSMONSTER

April 13, 2012

Installing World of Warcraft 4.3 Under Debian Testing

Filed under: Uncategorized — aspensmonster @ 8:32 am

Flattr this!

The end of the semester is approaching. I’ll soon have three weeks to do with as I please. Apart from preparing for the coming all-week summer sessions and taking any odd jobs I can find, I’ll likely find myself questing 😀 I took a look at my old installation via Crossover Games 10.1 and found that it was no longer functioning. Being a broke student, I can’t afford to pay 60 dollars for the software that handles all of the back-end wine configuration on its own. Being a broke student, I DO have time to muck around with wine. This is how I went about installing wine 1.4 and then configuring it to play World of Warcraft patch 4.3 Hour of Twilight.

Getting Wine

The version of wine I had available to me from debian testing was surprisingly out of date. Apparently testing is still running on wine 1.0.1. So first order of business was to remove all traces of wine:

# apt-get --purge remove libwine libwine-alsa wine wine-bin winetricks libwine-cms libwine-gl libwine-gphoto2 libwine-ldap libwine-print libwine-sane wine-utils

Then I found a PPA for Ubuntu that contained wine 1.4, even though it was still listing it as 1.3. I added it to my sources.list

$ cd /etc/apt
$ su
# cp sources.list sources.list.bak
# echo "deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu oneiric main" >> sources.list
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F9CB8DB0
# apt-get update

The backup is only in the event that you screw something up when appending the source line to your list 😛 The second to last line adds the public key of the repo and the last one updates the package manager to the new sources. Finally, I installed wine:

# apt-get install wine

All done. Version report should spit this at you:

$ wine --version
wine-1.4

WoW Installation Woos

Now, in theory, all you should have to do at this point is download the installer from your battle.net account and use wine to run it. My installer has this name:

$ cd Downloads
$ ls | grep WoW
WoW-4.0.0-WOW-enUS-Installer.exe

And this should –in theory– work:

$ wine WoW-4.0.0-WOW-enUS-Installer.exe

The installer at least appears to load without incident.

I like where this is going.

However, once you click install, all hell breaks lose and you get an error message:

Jinx! Let's see what the fuck happened.

Oh. That happened.

The relevant bit of error text is replicated for my fellow Google-searching Linux-running hell-no-i’m-not-dual-booting WoW nerds.

wine: Call from 0x7bc4a970 to unimplemented function msvcrt.dll._localtime64, aborting
wine: Unimplemented function msvcrt.dll._localtime64 called at address 0x7bc4a970 (thread 003d), starting debugger...

Thankfully, this isn’t too terribly difficult to clear up! Editing the wine configuration permitted the installer to continue:

$ winecfg

Running that command will open up the wine configuration. In my case, msvcrt was already listed as an override in the “Libraries” tab, but of the wrong sort. The configuration was set to native. Switching this to “builtin” and “Applying” got the installer to continue.

Look at that old-school tab layout!

Is it really installing?!?!?!?!

Yes friend, the installer will do its thing. This basically consists of grabbing the WoW “Launcher” application. I’ve included some screenshots because why the fuck not :) After clicking install and accepting the terms of use, you get this sequence:

Is this really happening?!?!?!

Yes... install to this "C" drive you speak of...

Spoiler alert: It made it to 100 percent :D

Fuck you, “Launcher”

In my case, the transition from this installer to the launcher was seamless. However, should the installer complete but the launcher not start you can always start it manually:

$ cd ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/
$ wine Launcher.exe

READ THIS STUFF YOU ENGLISH PIG-DOGS!

At this point, I could get the launcher to at least start. However, depending on various conditions, different problems would occur.

No connection to news server

Ah yes. The lovely “Cannot connect to the News Server. Please check the network and try again later.” comment. Turns out, you really DO want to check ‘dat network. Specifically, make sure the following ports get forwarded to the relevant box:

  • 1119 (used by WoW)
  • 1120 (used by the “Battle.net” services. I didn’t forward this port and didn’t have any problems)
  • 3724 (used by WoW)
  • 6881-6999 (used for the downloader)

Once I forwarded these ports I was able to get the usual news section in the launcher.

Launcher Crashes

I know there used to be a problem with the Launcher’s torrent system of downloading. Whether this is still a problem with wine 1.4 or not, I don’t know. However, if the launcher is crashing –CRASHING, not hanging– then you can do this to set the appropriate values for the “Downloader Preferences” before starting the launcher again. Some folks can get to the preferences before it crashes. I say don’t bother with that. Just execute the following command:

wine reg add "HKCU\Software\Blizzard Entertainment\Blizzard Downloader" /v "Disable Peer-to-Peer" /t REG_DWORD /d "1" /f

^Source: http://www.wowwiki.com/Wine_troubleshooting

That should permit you to keep the launcher going. It is also recommended to Disable throttling. Settings shown below

Interesting...

Curiously, I don’t have P2P enabled, and yet my connection seems to imply it’s working just fine. Meh. Probably nothing:

Wat? Maybe the lack of up-rate just means it's not really doing P2P. Dunno.

Finally, the various dialogs from the Launcher would sometimes not load properly. I’d just get a blank grey-ish screen. Screen-capping gave me this:

Interesting... those green lines are from a compiz plugin...

I’m running compiz and those green lines are an open/close window effect that didn’t show on the screen itself. Apparently though the choice of window manager isn’t relevant. I tried swapping to metacity and got the same grey screen. So if the menu options crash on you… shit happens. Load the launcher again and try again. Try loading different menu options first. That worked for me once. Or you can just use the registry editor one-liner up there. I don’t know for certain, but in theory you should be able to set ALL of the downloader settings in this manner. My registry settings (you can get to them by running “regedit” in a terminal; looks and feels like the real regedit from windows) are below:

wine reg add "HKCU\Software\Blizzard Entertainment\Blizzard Downloader" /v "Background Download Mode" /t REG_DWORD /d "0" /f
wine reg add "HKCU\Software\Blizzard Entertainment\Blizzard Downloader" /v "Background Download Setting" /t REG_DWORD /d "1" /f
wine reg add "HKCU\Software\Blizzard Entertainment\Blizzard Downloader" /v "Disable Background Download" /t REG_DWORD /d "0" /f
wine reg add "HKCU\Software\Blizzard Entertainment\Blizzard Downloader" /v "Disable Peer-to-Peer" /t REG_DWORD /d "1" /f
wine reg add "HKCU\Software\Blizzard Entertainment\Blizzard Downloader" /v "Full Speed Background Download" /t REG_DWORD /d "1" /f

The important ones though if something is fucking up and crashing are:

wine reg add "HKCU\Software\Blizzard Entertainment\Blizzard Downloader" /v "Disable Peer-to-Peer" /t REG_DWORD /d "1" /f
wine reg add "HKCU\Software\Blizzard Entertainment\Blizzard Downloader" /v "Full Speed Background Download" /t REG_DWORD /d "1" /f

Launcher Hangs

In my case, the Launcher kept hanging during the “Downloading updated tools…” part of the sequence. That stupid blue bar got stuck! Looked like this:

Move you stupid blue bar! For the love of God MOOOOOOOOVE!

Thanks to some other lovely folks at the WoW forums who were also grappling with this frustration — http://us.battle.net/wow/en/forum/topic/4253969712 — I found a solution. Turns out there’s a hung process that you need to kill. Here’s an example:

$ ps aux | grep -i wow
preston  11182 21.7  0.1 2659596 16076 pts/6   Sl   08:12   0:09 C:\Program Files\World of Warcraft\Temp\wow-4.2.1.2730-enUS-tools-downloader.exe --autolaunch=4 --hiddenPort=6999 --hiddenProcessing=1 --updateinterval=100                                      
preston  11226  0.0  0.0   7792   884 pts/5    R+   08:12   0:00 grep -i wow
$ kill 11182

You want to kill whatever process(es) has/have the C drive directory in it/them. This should permit the downloader to finish getting the updated tools. If the launcher still hangs. Kill it, restart it, and do the above again.

It’s working!!!

Once I FINALLY got past that pesky blue bar, I got to the usual SETUP-AVAILABLE-PLAYABLE scheme we all know and love. Finally. Not sure why it gave the news server error, but I ignored it, didn’t touch that shit for hours, and finally had a good chunk of it installed before clicking play. It looked like this.

WOOHOO!

And if you opened up the launcher via a terminal, chances are you’d see a whole lotta this flying by too. Nothing to worry about though:

fixme fixme fixme. You'll see a lot of that in wine.

In-game Issues

I’m happy to say they are: next to none. When clicking play, it got my resolution right (1920×1080) and went through the cinematic intro before taking you to the typical login screen. I logged in for the first time and that’s the only hiccup I had: at times, the sound would skip, repeat, or stop during the process of “initializing character” or something like that. It acted like the program was hanging or locking up –and I was about to start flippin’ tables– but I gave it a good 30 seconds each time and the percentage kept creeping up. It was finally fully set up –presumably it was downloading my toon– and then it asked me what sort of servers I play. Regular of course 😛 And at that point, it had my toon and Realm (Fenris).

Playing was a breeze. A wonderful, beautiful breeze. No video issues with an Nvidia GTX-280 and settings set to Good. No sound issues. Averaging around 60 frames per second.

I can’t wait for this mini break between semesters.