Installation de l’application Blizzard Battle.net avec Wine

Pour pouvoir jouer à Hearthstone sous Ubuntu, j’utilisais habituellement PlayOnLinux, mais depuis quelque temps ça ne marche plus car ce n’est plus suffisamment à jour :(

Du coup le mieux c’est d’installer l’application Blizzard Battle.net juste avec Wine. Le gros avantage est la rapidité de lancement du jeu : là ou je pouvais attendre 5 minutes avant de voir l’application s’afficher, c’est désormais instantané !!

Voici la dernière version du script. Pour des raisons pratiques, je le place avec les scripts locaux :

#!/bin/bash

if [ $# -lt 1 ] ; then
    echo "[error] you need to specify an options: run, config or install"
    exit
fi

# initialize
argument=$1
export WINEPREFIX=~/.winehq/blizzardBattleNet
programFiles="$WINEPREFIX/drive_c/Program Files (x86)"
installFile="$WINEPREFIX/install.exe"
runFile="Battle.net Launcher.exe"

# create prefix
if [ ! -d $WINEPREFIX ]; then
    mkdir -p $WINEPREFIX
fi

# boot
wineboot

# install
if [ "$argument" = "install" ]; then
    if [ -d "$programFiles/Battle.net" ]; then
        echo "[error] application already exists, remove it before install"
        exit
    fi

    winetricks fonts corefonts
    winetricks dlls vcrun2015
    winetricks settings win7
   
    wget -O "$installFile" "https://www.battle.net/download/getInstallerForGame?os=win&locale=enUS&version=LIVE&gameProgram=BlizzardBattleNet_APP"
    wine "$installFile"
# config
elif [ "$argument" = "config" ]; then
    winecfg
# fix
elif [ "$argument" = "fix-hearthstone-fireside-gathering" ]; then
    echo "[info] removing the file $programFiles/Hearthstone/Hearthstone_Data/Plugins/LocationAPI.dll"
    rm "$programFiles/Hearthstone/Hearthstone_Data/Plugins/LocationAPI.dll"
else
    cd "$programFiles/Battle.net"
    wine "$runFile"
fi

N’oubliez pas de rendre éxecutable votre script :

sudo chmod +x /usr/local/bin/blizzardBattleNet.sh

On peut maintenant passer à l’installation.

Installation

Tout d’abord installez une version récente de Wine.

Ensuite lancer le script :

blizzardBattleNet.sh install

On va vous proposer d’installer Mono et/ou Gecko dans votre préfixe, vous pouvez cliquer sur « Annuler » :

Installez ensuite « Visual C++ 2015 » :

Quand l’installation de Blizzard Battle.net commence, choisissez votre langue et laissez vous guider :

Connexion

L’application Blizzard Battle.net va vous demander de vous connecter, mais vous pouvez avoir le message d’erreur suivant : cliquez sur « Fermer » :

Connectez vous en utilisant le formulaire « moche » situé en dessous :

Installation de Hearthstone

Suite à l’installation précédente, il vous suffit de lancer l’installation de Hearthstone :

Et voilà, c’est terminé ! Félicitations !

Utilisation

Pour lancer l’application, rien de plus simple :

blizzardBattleNet.sh run

Bugs qu’on sait résoudre

Forcer DirectX 9

Si vous voulez forcer l’utilisation de « DirectX 9 » pour le jeu Hearthstone, il vous suffit d’ajouter le paramètre additionnel suivant : -force-d3d9 dans réglages du jeu :

Fireside Gathering

L’application cherche les « Fireside Gathering » autour de notre localisation et ça plante avec Wine. Une solution très simple est de supprimer le fichier DLL qui cause ce bug.

blizzardBattleNet.sh fix-hearthstone-fireside-gathering

Attention : vous devrez relancer ce fix après les mises à jours du jeu ;)

15 réflexions au sujet de « Installation de l’application Blizzard Battle.net avec Wine »

  1. Un grand merci pour ton travail (je suivais ton thread sur le site pol) et grace à ce tuto je peux continuer à jouer après le patch de hier, PoL ne lancait plus Hearthstone depuis …
    Et j’avais aussi le lag de plusieurs minutes avec pol, et je ne l’ai plus maintenant!

    Pour info, je suis sur debian stretch + backports
    Winehq installé depuis les dépots wine, version winehq-staging (wine-3.8)
    winetricks cloné depuis github @master (20180513-next)

    Merci ;)

  2. Hello,

    J’ai essayé d’installer le client Bnet sur Linux, je n’ai pas eu de problèmes sauf que lors de la connexion je n’ai pas le formulaire supplémentaire « moche ». Je n’ai pas trouvé comment ils sont rajoutés.
    Si quelqu’un a une idée ça serait cool !

    De plus, dans ce cas précis il s’agit d’hearthstone mais par curiosité est ce que d’autres jeux fonctionnent ?

    Merci d’avance

    • As-tu suivi ce tuto pour installer wine ? Et quel version de wine as-tu ?

      Pour ce qu’il est des autres jeux, je n’ai jamais testé ;) Je pense que Heroes of the Storm fonctionne, mais pour les autres, faut sûrement plus de bibliothèques !

        • Tu peux essayer d’ajouter dotnet45 et ie8 avec Winetricks, voir si ça débloquerait le formulaire ?
          Et tu pourrais aussi essayer de revenir à la version 3.7 ou 3.8 qui ont de bons retours.

          Tiens nous au courant !

    • Manque de bol… super installation… mais… j’ai les vidéos qui sont saccadées et je ne suis pas arrivé à lancer une partie au final …
      Une idée ?
      J’aurai bien voulu modifier des options (par exemple 1) ajouter l’option « enable CMST » depuis winecfg mais il n’y a pas l’onglet « staging » ou 2) modifier le paramètre de résolution vers du 1024*768) mais je n’y arrive pas/pas accès
      merci d’avance

  3. je suis sur ubuntu 16.04 et j’ai eu un pépin lors de la mise à jour de la staging vers la 3.15.
    J’ai tout viré, repris la devel et tenté plusieurs choses dont ton chouette script. Conclusion : je peux installer battlenet mais l’install d’hearthstone est totalement freezé (la fenetre d’install s’ouvre bien mais ca ne va pas plus loin).

    Bref si quelqu’un a une idée je suis preneur ;)

    • @manu, n’aurais tu pas oublié l’argument pour forcer D3D9? Ca m’a fait ca une fois quand je l’avais oublié?

      Depuis la derniere MaJ de Bnet, de mon coté, j’ai perdu toute les polices dans Battlenet.
      HS se lance (on vois le bouton, mais ya pas le label JOUER dessus :) ), mais aucun label … une idée?

      @kmelia, tu veux pas mettre ce script sur github? comme ca on pourrait récupérer les MaJ quand il y en a?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *