如何在 Ubuntu 18.04 上运行魔兽争霸 3?

如何在 Ubuntu 18.04 上运行魔兽争霸 3?

指南在这里:如何安装魔兽世界?十年来一直没有起作用。这个问题需要重新回答,并结合 ubuntu 18.04.1 和 Wine 开发停止的具体背景:

Wine 正在经历一个有点奇怪的转变。Wine 的临时分支的维护者最近放弃了它,但 Lutris 项目很快就把它接了回来。

在您阅读本文时,这可能不是一个问题,但现在,这绝对是个问题。因此,主要指南将重点介绍 Ubuntu 的最新 vanilla Wine 版本,但您绝对可以在最新的 staging 或 Gallium Nine 版本可用时安装它们。

我认为 Ubuntu 的这个特定版本与过去运行魔兽争霸 3 的解决方案不兼容。

我得到这个屏幕:

冰封王座安装失败:“无法启动 battle.net 代理”

我尝试过很多不同的方法:

  1. 所有这三个Lutris 安装程序
  2. 在 Linux 上玩
  3. 本指南这是专门针对 18.04 的,带有 wine-staging,但使用这个来源:

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

    和这个WineHQ 文章

但在第一个指南结束时我运行:

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

这很突出:

0103:fixme:wininet:InternetSetOptionW Option 77 STUB

然后我再次看到屏幕:

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

答案1

我也遇到过同样的问题:同样的 Ubuntu 版本,同样的尝试,同样的一切;我快要疯了。我只好在 Windows 机器上安装游戏,压缩游戏文件夹并将其移动到我的 Linux 上。

我发现,不知何故,war3 LAUNCHER 比安装游戏的设置效果更好。

你仍然需要一个密钥才能使用游戏,所以我不在乎给出 exe

效果很好对我来说,staging-pba-3.18 是合适的,你必须告诉我它是否适合你。


编辑:

在线应该没问题,你需要一个魔兽争霸3“battle.net”帐户,你可以在游戏中创建,主要担心的是暴雪反作弊不喜欢 wine,但很多人,包括我自己,已经在 wine 上玩了一段时间的 SC2 和守望先锋,而暴雪似乎并不关心,所以我不明白他们为什么会关心 War3。

我对 LAN 不太了解,因此无法真正测试它...

至于解决方案,这真的很有趣,因为它不是一个 Linux 错误,有些人自补丁 1.30 以来在 Windows 上也遇到了这个问题:D
两个可能的修复方法是:

  • 使用-nativefullscr争论启动游戏时(对我来说它不起作用,游戏启动后我的显卡不会输出任何东西,我的屏幕表现得好像断开了连接一样)。

  • 编辑葡萄酒登记强制启动分辨率,虽然感觉有点黑客风格,但效果确实很好。密钥已输入HKEY_CURRENT_USER/Software/Blizzard Entertainment/Warcraft III/Video,您想更改resheightreswidth调整到您的屏幕尺寸,值是十六进制的,但输入窗口应该允许您输入十进制值

请注意,虽然游戏将以您想要的分辨率和宽高比呈现,菜单将保留 4/3

答案2

我遇到过类似的问题。我在控制台中遇到了这样的错误,安装程序超时了。(从 1.26 尝试更新到 1.30)

我最终通过将 Wine Windows 模式从 Windows XP 设置为 Windows 7 解决了我的问题:

将 Wine 模式设置为 Windows 7

相关内容