How can I run Warcraft 3 on Ubuntu 18.04?

18,311

Solution 1

I have faced the same problem: Same Ubuntu version, same tries, same everything; and I was about to go crazy. I have resorted to install the game on a Windows machine, zip the game folder and move it to my Linux.

And I discovered that somehow, the war3 LAUNCHER works better than the setup to install the game.

You still need a key to use the game, so I don't care about giving out the exe.

It worked perfectly with staging-pba-3.18 for me, you'll have to tell me if that works for you.


EDIT:

Online should be fine, you'll need a warcraft3 "battle.net" account, that you can create in-game, the main concern would be Blizzard anti cheat not liking wine, but a lot of people, including myself, have been playing SC2 and Overwatch on wine for a while, and Blizzard does not seem to care, so I don't see why they would care about War3.

I don't know about LAN tho, and can't really test it ...

For the resolution, it's really funny, cause it's not a Linux bug, some people are also having the issue on Windows since patch 1.30 :D
Two possible fixes are:

  • Use the -nativefullscr argument when launching the game (it does not work for me, my graphics card would not output anything after the game launched, my screen behaved as if it was disconnected).

  • Edit the wine registry to force the startup resolution, which while feeling a bit hack-ish works really well. Keys are in HKEY_CURRENT_USER/Software/Blizzard Entertainment/Warcraft III/Video and you want to change resheight and reswidth to your screen size, values are in hexadecimal, but the input window should allow you to type in decimal values.

Note that while the game will be rendered in the resolution and aspect ratio you want, the menu will stay in 4/3.

Solution 2

I have run into similar issues. I had such errors in the console and the installer timed out. (from 1.26 trying to update to 1.30)

I finally solved my problem by settings wine windows mode from windows xp to windows 7:

setting wine mode to windows 7

Share:
18,311
tatsu
Author by

tatsu

Updated on September 18, 2022

Comments

  • tatsu
    tatsu over 1 year

    The guide here : How to install World of Warcraft? has not worked for a decade. this question needs to be answered anew and with the particular context of ubuntu 18.04.1 and Wine development halting:

    Wine is undergoing a bit of an odd transition. The maintainers of Wine's staging branch recently abandoned it, but the Lutris project quickly picked it back up.

    At the time you're reading this, it might not be a concern, but right now, it definitely is. As a result, the main guide will focus on the latest vanilla Wine release from Ubuntu, but you can absolutely install the latest staging or Gallium Nine versions when they become available.

    I think this particular build of Ubuntu is incompatible with past solutions for running Warcraft 3.

    I get this screen:

    frozen throne fails to install: "having trouble launching battle.net agent"

    I've tried many different methods:

    1. All three of the Lutris installers
    2. Play on Linux
    3. This guide which is specifically for 18.04, with wine-staging, but using this source:

      sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
      

      and this WineHQ post

    But at the end of the first guide I run:

    wine64 ~/Downloads/Warcraft-III-Setup.exe
    

    this sticks out:

    0103:fixme:wininet:InternetSetOptionW Option 77 STUB
    

    and I get the screen again:

    t@tsu:~/Downloads$ wine64 ~/Downloads/Warcraft-III-Setup.exe 
    000b:fixme:winediag:start_process Wine Staging 3.18 is a testing version containing experimental patches.
    000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    002d:fixme:ver:GetCurrentPackageId (0xbcfe9c (nil)): stub
    002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0033:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
    0033:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0039:fixme:ver:GetCurrentPackageId (0xbcfe9c (nil)): stub
    0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    003f:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
    003f:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    <html><head><title>Object moved</title></head><body>
    <h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>
    </body></html>
    003f:fixme:wininet:InternetSetOptionW Option 77 STUB
    0046:err:wininet:open_http_connection create_netconn failed: 12029
    0044:err:ole:CoCreateInstanceEx apartment not initialised
    0044:err:ntdll:NtQueryInformationToken Unhandled Token Information class 24!
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    0044:fixme:ver:GetCurrentPackageId (0x33fe14 (nil)): stub
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    003f:fixme:wininet:InternetSetOptionW Option 77 STUB
    0047:err:wininet:open_http_connection create_netconn failed: 12029
    003f:fixme:wininet:InternetSetOptionW Option 77 STUB
    0046:err:wininet:open_http_connection create_netconn failed: 12029
    <html><head><title>Object moved</title></head><body>
    <h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>
    </body></html>
    003f:fixme:wininet:InternetSetOptionW Option 77 STUB
    0047:err:wininet:open_http_connection create_netconn failed: 12029
    004a:fixme:wbemprox:wbem_locator_ConnectServer unsupported flags
    004a:fixme:wbemprox:client_security_SetBlanket 0x7c81f938, 0x181ad8, 10, 0, (null), 3, 3, (nil), 0x00000000
    004a:fixme:wbemprox:client_security_Release 0x7c81f938
    004a:fixme:wbemprox:enum_class_object_Next timeout not supported
    004a:err:ntdll:NtQueryInformationToken Unhandled Token Information class 24!
    004a:fixme:thread:RtlCreateUserThread stack_reserve != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0050:fixme:ver:GetCurrentPackageId (0x1c5fe9c (nil)): stub
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    003f:fixme:wininet:InternetSetOptionW Option 77 STUB
    0046:err:wininet:open_http_connection create_netconn failed: 12029
    003f:fixme:wininet:InternetSetOptionW Option 77 STUB
    0047:err:wininet:open_http_connection create_netconn failed: 12029
    <html><head><title>Object moved</title></head><body>
    <h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2>
    </body></html>
    t@tsu:~/Downloads$ 003f:fixme:wininet:InternetSetOptionW Option 77 STUB
    0046:err:wininet:open_http_connection create_netconn failed: 12029
    003f:fixme:wininet:InternetSetOptionW Option 77 STUB
    0047:err:wininet:open_http_connection create_netconn failed: 12029
    004a:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f9c0
    003f:fixme:wininet:InternetSetOptionW Option 77 STUB
    004a:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f7b8
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0052:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
    0052:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
    004a:fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub!
    004a:fixme:wbemprox:client_security_SetBlanket 0x7c81f938, 0x21fbc0, 10, 0, (null), 3, 3, (nil), 0x00000000
    004a:fixme:wbemprox:client_security_Release 0x7c81f938
    004e:fixme:dbghelp:elf_search_auxv can't find symbol in module
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    0068:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f278
    0068:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f278
    0068:fixme:ntdll:NtQuerySystemInformationEx Relationship filtering not implemented: 0x3
    0068:fixme:ntdll:NtQuerySystemInformationEx Relationship filtering not implemented: 0x3
    0068:fixme:ver:GetCurrentPackageId (0x33f01c (nil)): stub
    0068:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
    0068:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
    0042:err:ntdll:RtlpWaitForCriticalSection section 0x196c5c "?" wait timed out in thread 0042, blocked by 003f, retrying (60 sec)
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0070:err:wininet:open_http_connection create_netconn failed: 12029
    006e:err:ole:CoCreateInstanceEx apartment not initialised
    006e:err:ntdll:NtQueryInformationToken Unhandled Token Information class 24!
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    006e:fixme:ver:GetCurrentPackageId (0x33fe14 (nil)): stub
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0071:err:wininet:open_http_connection create_netconn failed: 12029
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0070:err:wininet:open_http_connection create_netconn failed: 12029
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0071:err:wininet:open_http_connection create_netconn failed: 12029
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0070:err:wininet:open_http_connection create_netconn failed: 12029
    0073:fixme:wbemprox:wbem_locator_ConnectServer unsupported flags
    0073:fixme:wbemprox:client_security_SetBlanket 0x7c7f4938, 0x181ad8, 10, 0, (null), 3, 3, (nil), 0x00000000
    0073:fixme:wbemprox:client_security_Release 0x7c7f4938
    0073:fixme:wbemprox:enum_class_object_Next timeout not supported
    0073:err:ntdll:NtQueryInformationToken Unhandled Token Information class 24!
    0073:fixme:thread:RtlCreateUserThread stack_reserve != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0079:fixme:ver:GetCurrentPackageId (0x1c5fe9c (nil)): stub
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0071:err:wininet:open_http_connection create_netconn failed: 12029
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0070:err:wininet:open_http_connection create_netconn failed: 12029
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0071:err:wininet:open_http_connection create_netconn failed: 12029
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0070:err:wininet:open_http_connection create_netconn failed: 12029
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0071:err:wininet:open_http_connection create_netconn failed: 12029
    0073:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f9c0
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0070:err:wininet:open_http_connection create_netconn failed: 12029
    0073:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f7b8
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0042:fixme:wininet:InternetSetOptionW Option 77 STUB
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
    007b:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
    007b:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
    0073:fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub!
    0073:fixme:wbemprox:client_security_SetBlanket 0x7c7f4938, 0x21e370, 10, 0, (null), 3, 3, (nil), 0x00000000
    0073:fixme:wbemprox:client_security_Release 0x7c7f4938
    0077:fixme:dbghelp:elf_search_auxv can't find symbol in module
    ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
    0091:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f278
    0091:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f278
    0091:fixme:ntdll:NtQuerySystemInformationEx Relationship filtering not implemented: 0x3
    0091:fixme:ntdll:NtQuerySystemInformationEx Relationship filtering not implemented: 0x3
    0091:fixme:ver:GetCurrentPackageId (0x33f01c (nil)): stub
    0091:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform
    0091:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
    
  • tatsu
    tatsu over 5 years
    this worked! any idea if i'll be able to play online? or LAN? is there a way to play in 1080p also? thanks again
  • Alexandre Sejournant
    Alexandre Sejournant over 5 years
    I updated the answer rather than writing a wall of text in the comments