Battle.net launcher help

I’m trying to help out with lutris game launchers but the documentation is really spotty and quite frankly I’m confused. I submitted notes for a new launcher yesterday, which were notes from my successful install of the battle.net launcher and StarCraft II using playonlinux, and the launcher was approved overnight.

However, the script that was created from my notes doesn’t really do what I mentioned it should do. I wish I knew how to edit the script to make it work correctly. You can see it here: https://lutris.net/games/battlenet/

The script should use the 64-bit version of wine 1.9.11-staging, but for right now it just uses the 32-bit version of wine 1.8, which doesn’t work.

Also, based on this post (https://wiki.archlinux.org/index.php/StarCraft_2) it should use winetricks to install corefonts, vcrun2005, and vcrun2008 before installing the battle.net client.

I have followed the above steps using PlayonLinux and it works correctly, at least for playing StarCraft 2. I’m deep into the Terran campaign now. But I don’t know how to edit the installer to reflect those things. Any help or advice would be awesome.

I just tried your script, and with the exception of the WINE version, the rest is happening. Looks like WINE version is using whatever your wine runner’s version is (1.9.13 x86_64, in my case), which is good, since you can change that anyway.

Between the “new installer” page’s help stuff on the right, and the League of Legends installer, I came up with this:

wine:
version: 1.9.11-staging-x86_64

Haven’t tried it yet, but adding that at the end might do it.

Tried this today, it worked for me. I had 1.9.14 x64 installed already. When I ran the lutris script, it did download and install 1.8.(something), but so far as I can tell, when it launched it used my existing 1.9. Is there a way for me to validate that?
I’ve also noticed that the lutris window hasn’t closed yet, not sure what event it’s waiting for to “complete” but battle.net is running and currently installing wow.

Thanks,
Kaidoobie

A couple updates to my own post.
I did have to log-in, letting it create a config.wft file. Edit that file (after exiting) to update the engine from d3d9 to OpenGL and all is now working. I suspect earlier posters got it working with DX9 by using wine 1.9.x. Is there a way to update the bottle? (it does seem like this is in a bottle created under $HOME/Games/battlenet)

The current installer for Battle.net does have to get updated and use a 64bit prefix by default, I’ll try to get around it soon.

I set my default wine version to a 64-bit prefix, and try to get starcraft to install. It uses that prefix but then no files are actually installed. It skips to the end as if the files were installed, but you end up with nothing.

I’ve updated both Battle.net and Starcraft installers in the past few days. I suggest everyone who had issues with the past installers to give it another try. (Starcraft 2 requires Battle.net to be installed first)

As requested, updating a few of my findings so far. The installer does seem to create a wineprefix, 64 bit, under ~/Games/battlenet and seems to pull down the Battle.net-Setup.exe file (progress bar, size listed is about right). I don’t seem to be able to find where it’s downloading the file to though. It doesn’t appear to execute Battle.net-Setup.exe. I tried to look over the installer scripts. I don’t see where it calls the Battle.net-Setup.exe file but perhaps that’s a behind-the-scenes thing. I also suspect it needs a couple more things winetricks’ed in, but we’ll see.

As always any help is appreciated. I know it’s a pain to keep a installer for an MMO working as it’s a moving target. Let me know anything I can do to help.

Thanks,
Kaidoobie/Kaidukahnne/Craig

I experience quite the same. When the installer says it’s finished and I want to launch, he gets an error because he don’t find the .exe and it’s actually not there… the installer just seems to create the prefix, not more.

I’ve tweaked the installer a little (specified win64 architecture in the installer tasks, that’s it). Battle.net installed without any issue.

Does this fix the issues both of you were having?

I’m getting the same problem as kaidoobie, in that the installer seems to create a wine prefix, download the battle.net setup.exe, and then doesn’t actually run it. So it doesn’t actually get installed.

That’s strange, do you get any strange output from the command line?

So apparently the installer causes problems when logging in Battle.net during the installation process. I’ve added a note in the installer specifying not to log in and wait for the first launch to do that.

Yes, I did. When running lutris via command line, it ends with these error messages:

ERROR 2016-11-01 20:11:20,213 [wine]:No system.reg found after prefix creation. Prefix might not be valid
INFO 2016-11-01 20:11:20,213 [wine]:win64 Prefix created in /home/matthew/Games/battlenet
err:module:load_builtin_dll failed to load .so lib for builtin L"WLDAP32.dll": libgcrypt.so.11: wrong ELF class: ELFCLASS64
err:module:import_dll Loading library WLDAP32.dll (which is needed by L"Z:\home\matthew\.cache\lutris\installer\battlenet\Battle.net-Setup.exe") failed (error c000007a).
err:module:LdrInitializeThunk Main exe initialization for L"Z:\home\matthew\.cache\lutris\installer\battlenet\Battle.net-Setup.exe" failed, status c0000135

looking at /home//.cache/lutris/installer/battlenet/ I see Battle.net-Setup.exe there. If I click on it it begins to run under my default WINE install, so I don’t know why it failed.

Doing some research on the error messages makes me think that the Battle.net installer is a 32-bit application and its trying to run on a 64-bit WINE prefix and gives an error.

Also this link https://wiki.archlinux.org/index.php/StarCraft_2 now says that the battle.net installer now requires vcrun2015 as well.

Ok, this is getting somewhere. I had removed libgcrypt from the lutris runtime only to add it back a few days later. But only the lib64 runtime had been updated had the libgcrypt back.
If the Battle.net needs a 32bit version of libgcrypt, that would explain why it’s failing.

I have updated the lib32 runtime to ship with libgcrypt, restart the lutris client and give it 10 seconds to update the runtime then try the Battle.net installer again.

Yes, it has that in the installer ( https://lutris.net/games/install/1003/view )

Just installed Lutris and Battle.net was the first program I tried to add. I’m experiencing the same issues seen here. The install script gets to the point of “Installing Windows components” and just seems to stop there. (Spinning circle on the screen.)

I can see the Battle.net-Setup.exe in the ~/.cache/lutris/installer/battlenet/ folder but it never seems to execute.

Is there any error given from the command line?
I need the installer to fail on my system for me to break it, otherwise I can hardly do anything about this. I currently don’t have enough info to reproduce this issue.

Okay, I’ve ran lutris in debug mode. First error it came to was that my distro did not have the cabextract package installed. Easy fix, installed that and it moved right along.

Now it fails on downloading vc_redist.x86.exe:

Downloading https://web.archive.org/web/https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe failed

Edit:

It went past that point the next time I ran it. It still showed that error but it kept running this time. The next thing to pop up was an error about /sbin/fuser not existing.

DEBUG 2016-11-02 08:06:11,238 [system]:Executing /sbin/fuser /home/joypunk/.local/share/lutris/runners/wine/staging-1.9.21-x86_64/bin/wine ERROR 2016-11-02 08:06:11,241 [system]:Could not run command ['/sbin/fuser', '/home/joypunk/.local/share/lutris/runners/wine/staging-1.9.21-x86_64/bin/wine']: [Errno 2] No such file or directory: '/sbin/fuser' Traceback (most recent call last): File "/usr/lib/python3.5/site-packages/lutris/thread.py", line 210, in watch_children for child in self.iter_children(process): File "/usr/lib/python3.5/site-packages/lutris/thread.py", line 158, in iter_children pids = self.runner.get_pids(wine_version) File "/usr/lib/python3.5/site-packages/lutris/runners/wine.py", line 729, in get_pids pids = system.get_pids_using_file(exe) File "/usr/lib/python3.5/site-packages/lutris/util/system.py", line 246, in get_pids_using_file return set(fuser_output.split()) AttributeError: 'NoneType' object has no attribute 'split'