Warcraft III v1.28.3+

Informations

Creator Message
Simoms

Warning

This installer is a beta script. It means that it might not work as expected

Informations

Platforms:
Downloads: 353
Wine:

Feedbacks

Description

With 1.28.3, Blizzard added a new common installer and launcher for both Reign of Chaos and The Frozen Throne.

The old PlayOnLinux scripts do not work for Warcraft III 1.28.3+ (2018).

Source code

#!/usr/bin/env playonlinux-bash
# -*- mode: sh -*-
# Date : (2009-06-07 15-40)
# Last revision : (2019-08-17 11-52)
# Wine version used : 3.21-staging
# Distribution used to test : Fedora 13 & Debian 10 Buster x86_64
# Author : Quentin PÂRIS et Alexandre BEAUGY
# Licence : Retail

[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"

AUTHOR="Quentin PÂRIS et Alexandre BEAUGY"
EDITOR="Blizzard Entertainment Inc."
GAME_URL="http://us.battle.net/en"
TITLE="Warcraft III - Reign of Chaos + The Frozen Throne (Battle.net Edition)"
PREFIX="WarcraftIII"
WORKING_WINE_VERSION="3.21-staging"

# Initialisation
POL_SetupWindow_Init
POL_Debug_Init
POL_System_SetArch "x86" # Force default value, in case it changes one day...

# Presentation
POL_SetupWindow_presentation "${TITLE}" "${EDITOR}" "${GAME_URL}" "${AUTHOR}" "${PREFIX}"

# 
POL_System_TmpCreate "${PREFIX}"
cd "${POL_System_TmpDir}"

# Warcraft III now has a unique installer for both extensions (ROC+TFT)
# with language selection at start
# Automatic POL download:
POL_Download "https://www.battle.net/download/getInstallerForGame?os=win&locale=frFR&version=LIVE&gameProgram=WARCRAFT_3" #""
SetupIs="${POL_System_TmpDir}/Warcraft-III-Setup.exe"
mv "${POL_System_TmpDir}/getInstallerForGame?os=win&locale=frFR&version=LIVE&gameProgram=WARCRAFT_3" "${SetupIs}"
if [ x${SetupIs} = x ] ; then
  # Or, manual download from:
  # (your blizzard.com) User Account > Games > Downloads > Classical Games
  # > Warcraft® III: The Frozen Throne®
  POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "${TITLE}" "Warcraft-III-Setup.exe"
  SetupIs="${APP_ANSWER}"
fi
[ x${SetupIs} = x ] && exit 0

# Disable Mono installing dialogue
export WINEDLLOVERRIDES="mscoree,mshtml="

# Select prefix
POL_Wine_SelectPrefix "${PREFIX}"
POL_Wine_PrefixCreate "${WORKING_WINE_VERSION}"

# Disable Mono installing dialogue
POL_Wine_OverrideDLL "disabled" "mscoree"
POL_Wine_OverrideDLL "disabled" "mshtml"

# Install
[ "${POL_OS}" = "Mac" ] && Set_Managed Off
Set_OS "winxp" "sp3" # Force default value, in case it changes one day...
POL_Wine_WaitBefore "${TITLE}"
POL_Wine "${SetupIs}"
POL_Wine_WaitExit "${TITLE}"

POL_SetupWindow_VMS
POL_System_TmpDelete

POL_Shortcut "$PROGRAMFILES/Warcraft III/x86/Warcraft III.exe" "${TITLE}" "" "-d3d9"
POL_Shortcut_QuietDebug "${TITLE}"

POL_SetupWindow_Close
exit 0

Contributions

Filters:

Contribute
Member Message
gargamel Saturday 17 August 2019 at 13:08
gargamel

Information

This update has been approved by the team.

Message

ChangeLog:

  • Upgraded wine-3.x to latest staging available.
    (on my side, nothing but wine-3.x staging versions were working -- launching app with standard wine-3.x always ended in app crash.
     I also tried upgrading up to wine-4.x (>=4.11-staging), with no success at all -- launching app with wine-4.x made my entire system freeze)
  • Added automatic download of Warcraft III installer (in case of download failure, POL will ask for a local installer to execute).
  • Disabled Mono installing dialog each time wine was launched (i.e. on POL_Wine_PrefixCreate + POL_Wine calls), as it is useless FMPOV (to be confirmed).
  • Fixed shorcut creation that was initially always linking to x86_64 exe file instead of the x86_32 one (as Bnet installer installs both 32-bit and 64-bit versions of the game in "Program Files").
  • Forced a few default values in the script in case one day they have to change.

 

What works:

  1. The installation process is working well.
  2. At the end of install, clicking on Start/Launch opens one blank "Warcraft III CDKey Required" window:
    WineHQ "Warcraft III CDKey Required" blank window
    (The workaround (found here) is pretty simple: moved the blank window out of bounds of your screen and back into view (which will result in refreshing the content of the window and will allow you to click on whether CD-Key Digital version (and not CD-Key)
    Finally, "Warcraft III CDKey Required" window content is revealed:
    WineHQ "Warcraft III CDKey Required" unblank window
  3. Click on:
    • Enter CD Key: opens a new window in which you can enter your personnal RoC CD Key:
      (I don't know why, but at that stage installer does not accept TFT CDKey...)
      WineHQ "CDKey" window
    • Connect to battle.net: always makes app crash!
      (I did not investigate why...)
  4. That's all folks! After clicking on OK...

 

What does not work:

  1. The game launch, but always crashes after a few seconds of black screen.
    (AFAIK, it appears to have something to do with the Blizzard's videos displayed at game's startup. I'm currently working on improving the present script to setup the game's WINEPREFIX with DXVK. I have already installed DXVK on my GNU/Linux following that nice tutorial: https://www.addictivetips.com/ubuntu-linux-tips/set-up-dxvk-in-wine-on-linux/. I'm now wondering, what is the best way to execute setup_dxvk.sh script inside my WINE PREFIX... (any help is welcome))

 

Hope that helps.

Br,

Differences

@@ -1,53 +1,72 @@
-#!/bin/bash
-# Date : (2018-05-05 14:00)
-# Last revision : (2018-05-05 14:00)
-# Wine version used : 3.7
-# Distribution used to test : Ubuntu 16.04
-# Author : Simoms
+#!/usr/bin/env playonlinux-bash
+# -*- mode: sh -*-
+# Date : (2009-06-07 15-40)
+# Last revision : (2019-08-17 11-52)
+# Wine version used : 3.21-staging
+# Distribution used to test : Fedora 13 & Debian 10 Buster x86_64
+# Author : Quentin PÂRIS et Alexandre BEAUGY
 # Licence : Retail
 
 [ "$PLAYONLINUX" = "" ] && exit 0
 source "$PLAYONLINUX/lib/sources"
 
+AUTHOR="Quentin PÂRIS et Alexandre BEAUGY"
+EDITOR="Blizzard Entertainment Inc."
+GAME_URL="http://us.battle.net/en"
+TITLE="Warcraft III - Reign of Chaos + The Frozen Throne (Battle.net Edition)"
 PREFIX="WarcraftIII"
-WINEVERSION="3.7"
-TITLE="Warcraft III"
-EDITOR="Blizzard Entertainment"
-GAME_URL="https://www.blizzard.com/"
-AUTHOR="Simoms"
+WORKING_WINE_VERSION="3.21-staging"
 
-# PlayOnLinux Setup
+# Initialisation
 POL_SetupWindow_Init
 POL_Debug_Init
-POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
+POL_System_SetArch "x86" # Force default value, in case it changes one day...
 
-# Get installer file
-if [ "$POL_SELECTED_FILE" ];  then
-    INSTALLER="$POL_SELECTED_FILE"
-else
-    POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "$TITLE"
-    INSTALLER="$APP_ANSWER"
+# Presentation
+POL_SetupWindow_presentation "${TITLE}" "${EDITOR}" "${GAME_URL}" "${AUTHOR}" "${PREFIX}"
+
+# 
+POL_System_TmpCreate "${PREFIX}"
+cd "${POL_System_TmpDir}"
+
+# Warcraft III now has a unique installer for both extensions (ROC+TFT)
+# with language selection at start
+# Automatic POL download:
+POL_Download "https://www.battle.net/download/getInstallerForGame?os=win&locale=frFR&version=LIVE&gameProgram=WARCRAFT_3" #""
+SetupIs="${POL_System_TmpDir}/Warcraft-III-Setup.exe"
+mv "${POL_System_TmpDir}/getInstallerForGame?os=win&locale=frFR&version=LIVE&gameProgram=WARCRAFT_3" "${SetupIs}"
+if [ x${SetupIs} = x ] ; then
+  # Or, manual download from:
+  # (your blizzard.com) User Account > Games > Downloads > Classical Games
+  # > Warcraft® III: The Frozen Throne®
+  POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "${TITLE}" "Warcraft-III-Setup.exe"
+  SetupIs="${APP_ANSWER}"
 fi
+[ x${SetupIs} = x ] && exit 0
 
-[ "$INSTALLER" = "" ] && exit 0
+# Disable Mono installing dialogue
+export WINEDLLOVERRIDES="mscoree,mshtml="
 
-# Create prefix
-POL_Wine_SelectPrefix "$PREFIX"
-POL_Wine_PrefixCreate "$WINEVERSION"
-
-# Install game
-POL_Wine_WaitBefore "$TITLE"
-POL_Wine "$INSTALLER"
-POL_Wine_WaitExit "$TITLE"
+# Select prefix
+POL_Wine_SelectPrefix "${PREFIX}"
+POL_Wine_PrefixCreate "${WORKING_WINE_VERSION}"
+
+# Disable Mono installing dialogue
+POL_Wine_OverrideDLL "disabled" "mscoree"
+POL_Wine_OverrideDLL "disabled" "mshtml"
+
+# Install
+[ "${POL_OS}" = "Mac" ] && Set_Managed Off
+Set_OS "winxp" "sp3" # Force default value, in case it changes one day...
+POL_Wine_WaitBefore "${TITLE}"
+POL_Wine "${SetupIs}"
+POL_Wine_WaitExit "${TITLE}"
 
-# Ask about GPU memory size
 POL_SetupWindow_VMS
+POL_System_TmpDelete
 
-# Create shortcuts
-POL_Shortcut "$TITLE.exe" "$TITLE"
-POL_Shortcut "$TITLE Launcher.exe" "$TITLE Launcher"
-POL_Shortcut "World Editor.exe" "$TITLE - World Editor"
-POL_Shortcut_QuietDebug "$TITLE"
+POL_Shortcut "$PROGRAMFILES/Warcraft III/x86/Warcraft III.exe" "${TITLE}" "" "-d3d9"
+POL_Shortcut_QuietDebug "${TITLE}"
 
 POL_SetupWindow_Close
 exit 0
\ No newline at end of file

New source code

#!/usr/bin/env playonlinux-bash
# -*- mode: sh -*-
# Date : (2009-06-07 15-40)
# Last revision : (2019-08-17 11-52)
# Wine version used : 3.21-staging
# Distribution used to test : Fedora 13 & Debian 10 Buster x86_64
# Author : Quentin PÂRIS et Alexandre BEAUGY
# Licence : Retail

[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"

AUTHOR="Quentin PÂRIS et Alexandre BEAUGY"
EDITOR="Blizzard Entertainment Inc."
GAME_URL="http://us.battle.net/en"
TITLE="Warcraft III - Reign of Chaos + The Frozen Throne (Battle.net Edition)"
PREFIX="WarcraftIII"
WORKING_WINE_VERSION="3.21-staging"

# Initialisation
POL_SetupWindow_Init
POL_Debug_Init
POL_System_SetArch "x86" # Force default value, in case it changes one day...

# Presentation
POL_SetupWindow_presentation "${TITLE}" "${EDITOR}" "${GAME_URL}" "${AUTHOR}" "${PREFIX}"

# 
POL_System_TmpCreate "${PREFIX}"
cd "${POL_System_TmpDir}"

# Warcraft III now has a unique installer for both extensions (ROC+TFT)
# with language selection at start
# Automatic POL download:
POL_Download "https://www.battle.net/download/getInstallerForGame?os=win&locale=frFR&version=LIVE&gameProgram=WARCRAFT_3" #""
SetupIs="${POL_System_TmpDir}/Warcraft-III-Setup.exe"
mv "${POL_System_TmpDir}/getInstallerForGame?os=win&locale=frFR&version=LIVE&gameProgram=WARCRAFT_3" "${SetupIs}"
if [ x${SetupIs} = x ] ; then
  # Or, manual download from:
  # (your blizzard.com) User Account > Games > Downloads > Classical Games
  # > Warcraft® III: The Frozen Throne®
  POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "${TITLE}" "Warcraft-III-Setup.exe"
  SetupIs="${APP_ANSWER}"
fi
[ x${SetupIs} = x ] && exit 0

# Disable Mono installing dialogue
export WINEDLLOVERRIDES="mscoree,mshtml="

# Select prefix
POL_Wine_SelectPrefix "${PREFIX}"
POL_Wine_PrefixCreate "${WORKING_WINE_VERSION}"

# Disable Mono installing dialogue
POL_Wine_OverrideDLL "disabled" "mscoree"
POL_Wine_OverrideDLL "disabled" "mshtml"

# Install
[ "${POL_OS}" = "Mac" ] && Set_Managed Off
Set_OS "winxp" "sp3" # Force default value, in case it changes one day...
POL_Wine_WaitBefore "${TITLE}"
POL_Wine "${SetupIs}"
POL_Wine_WaitExit "${TITLE}"

POL_SetupWindow_VMS
POL_System_TmpDelete

POL_Shortcut "$PROGRAMFILES/Warcraft III/x86/Warcraft III.exe" "${TITLE}" "" "-d3d9"
POL_Shortcut_QuietDebug "${TITLE}"

POL_SetupWindow_Close
exit 0

Replies

Thursday 30 January 2020 at 23:13
Script approved.
Simoms Thursday 10 May 2018 at 10:52
Simoms

Warning

This update has not been approved yet by the team.
Use it at your own risk

Differences

@@ -0,0 +1,53 @@
+#!/bin/bash
+# Date : (2018-05-05 14:00)
+# Last revision : (2018-05-05 14:00)
+# Wine version used : 3.7
+# Distribution used to test : Ubuntu 16.04
+# Author : Simoms
+# Licence : Retail
+
+[ "$PLAYONLINUX" = "" ] && exit 0
+source "$PLAYONLINUX/lib/sources"
+
+PREFIX="WarcraftIII"
+WINEVERSION="3.7"
+TITLE="Warcraft III"
+EDITOR="Blizzard Entertainment"
+GAME_URL="https://www.blizzard.com/"
+AUTHOR="Simoms"
+
+# PlayOnLinux Setup
+POL_SetupWindow_Init
+POL_Debug_Init
+POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"
+
+# Get installer file
+if [ "$POL_SELECTED_FILE" ];  then
+    INSTALLER="$POL_SELECTED_FILE"
+else
+    POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "$TITLE"
+    INSTALLER="$APP_ANSWER"
+fi
+
+[ "$INSTALLER" = "" ] && exit 0
+
+# Create prefix
+POL_Wine_SelectPrefix "$PREFIX"
+POL_Wine_PrefixCreate "$WINEVERSION"
+
+# Install game
+POL_Wine_WaitBefore "$TITLE"
+POL_Wine "$INSTALLER"
+POL_Wine_WaitExit "$TITLE"
+
+# Ask about GPU memory size
+POL_SetupWindow_VMS
+
+# Create shortcuts
+POL_Shortcut "$TITLE.exe" "$TITLE"
+POL_Shortcut "$TITLE Launcher.exe" "$TITLE Launcher"
+POL_Shortcut "World Editor.exe" "$TITLE - World Editor"
+POL_Shortcut_QuietDebug "$TITLE"
+
+POL_SetupWindow_Close
+exit 0
\ No newline at end of file

New source code

#!/bin/bash
# Date : (2018-05-05 14:00)
# Last revision : (2018-05-05 14:00)
# Wine version used : 3.7
# Distribution used to test : Ubuntu 16.04
# Author : Simoms
# Licence : Retail

[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"

PREFIX="WarcraftIII"
WINEVERSION="3.7"
TITLE="Warcraft III"
EDITOR="Blizzard Entertainment"
GAME_URL="https://www.blizzard.com/"
AUTHOR="Simoms"

# PlayOnLinux Setup
POL_SetupWindow_Init
POL_Debug_Init
POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$GAME_URL" "$AUTHOR" "$PREFIX"

# Get installer file
if [ "$POL_SELECTED_FILE" ];  then
    INSTALLER="$POL_SELECTED_FILE"
else
    POL_SetupWindow_browse "$(eval_gettext 'Please select the setup file to run')" "$TITLE"
    INSTALLER="$APP_ANSWER"
fi

[ "$INSTALLER" = "" ] && exit 0

# Create prefix
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WINEVERSION"

# Install game
POL_Wine_WaitBefore "$TITLE"
POL_Wine "$INSTALLER"
POL_Wine_WaitExit "$TITLE"

# Ask about GPU memory size
POL_SetupWindow_VMS

# Create shortcuts
POL_Shortcut "$TITLE.exe" "$TITLE"
POL_Shortcut "$TITLE Launcher.exe" "$TITLE Launcher"
POL_Shortcut "World Editor.exe" "$TITLE - World Editor"
POL_Shortcut_QuietDebug "$TITLE"

POL_SetupWindow_Close
exit 0

Replies