https://bugs.winehq.org/show_bug.cgi?id=50366
Bug ID: 50366 Summary: Starcraft Remastered unable to create local LAN multiplayer game. Product: Wine-staging Version: 6.0-rc3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: darinsmiller@gmail.com CC: leslie_alistair@hotmail.com, z.figura12@gmail.com Distribution: ---
When trying to create a LAN game in Starcraft Remastered:
1st attempt: Message pop says "Failed to advertise the game. (Error 5:12)." 2nd attempt: The "Creating game" pop-up window displays indefinitely and no game is ever created.
Lutris with wine version 5.7.10-x86_64 is able to create LAN games in Starcraft Remastered.
Operating System: Kubuntu 20.10 KDE Plasma Version: 5.19.5 KDE Frameworks Version: 5.74.0 Qt Version: 5.14.2 Kernel Version: 5.8.0-33-generic OS Type: 64-bit Processors: 8 × Intel® Core™ i7-4771 CPU @ 3.50GHz Memory: 15.6 GiB of RAM Graphics Processor: GeForce GTX 1080/PCIe/SSE2 NVidia Driver: 455.45.01
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #1 from Zebediah Figura z.figura12@gmail.com --- Is this bug present with upstream (non-staging) wine?
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #2 from Darin Miller darinsmiller@gmail.com --- This issue is also present in wine-6.0-rc3. (non-staging)
https://bugs.winehq.org/show_bug.cgi?id=50366
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|leslie_alistair@hotmail.com | |, z.figura12@gmail.com | Product|Wine-staging |Wine Component|-unknown |-unknown
https://bugs.winehq.org/show_bug.cgi?id=50366
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- Can you please attach a log with WINEDEBUG=+winsock,+seh,+loaddll?
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #4 from Darin Miller darinsmiller@gmail.com --- Created attachment 68986 --> https://bugs.winehq.org/attachment.cgi?id=68986 WINEDEBUG=+winsock,+seh,+loaddll
File created following the direction here:
https://wiki.winehq.org/Wine_Developer%27s_Guide/Debug_Logging
Using this command: WINEDEBUG=+winsock,+seh,+loaddll /opt/wine-staging/bin/wine ./Battle.net.exe &>/tmp/debug_pipe
Logging started right before creating a game and stopped after Canceling the failed game creation.
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #5 from Zebediah Figura z.figura12@gmail.com --- Created attachment 68987 --> https://bugs.winehq.org/attachment.cgi?id=68987 sort of implement SIO_BASE_HANDLE
If you're able to compile Wine, can you please try the attached patch?
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #6 from Darin Miller darinsmiller@gmail.com --- Created attachment 68989 --> https://bugs.winehq.org/attachment.cgi?id=68989 Missing files
Well that was a lot of fun... (never compiled wine before...)
Starting with the source from here: https://dl.winehq.org/wine/source/6.0/wine-6.0-rc3.tar.xz
As per guide: https://wiki.winehq.org/Building_Wine, I used the following to chase down most of the missing files: configure --enable-win64
And as per clues in this bug report: https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1411832.ht... I manually copied the files listed in the attached file from git://source.winehq.org/git/wine.git to the rc3 source. (There must be a better way to identify/copy 100+ files one at a time when flagged by "configure" ???!!!).
Once patched and compiled, I attempted "make install", but I have no idea where wine executable landed. So I ran the wine64 file created in wine-6.0-rc3 with the following command: wine-6.0-rc3/wine64 /home/darin/Games/Battle.net/Battle.net.exe
This is the observed error:
078:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1. 0078:err:system:ChangeDisplaySettingsExW Changing L"\\.\DISPLAY2" display settings returned -2. 0078:err:explorer:initialize_display_settings Failed to initialize registry display settings for L"\\.\DISPLAY2". 00a0:err:ntoskrnl:ZwLoadDriver failed to create driver L"\Registry\Machine\System\CurrentControlSet\Services\wineusb": c0000142 003c:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 1114 003c:fixme:service:scmdatabase_autostart_services Auto-start service L"Bonjour Service" failed to start: 1359 002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1. 002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1. 0024:err:process:exec_process L"Z:\home\darin\Games\Battle.net\Battle.net.exe" not supported on this system
BTW, notepad.exe runs just fine using the newly compiled code: wine-6.0-rc3/wine64 notepad.exe
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #7 from Zebediah Figura z.figura12@gmail.com --- That is a far more complicated process than it needs to be. Sorry, I probably should have directed you to some better instructions. You should have an easier time following these: https://wiki.winehq.org/Building_Wine
[config.guess and config.sub, if missing, should probably have been copied from a system location, e.g. /usr/share/misc/config.guess or /usr/share/automake-1.16/config.guess. Only those files should have been affected; there should be no reason to copy any others. The tarball you linked to should have been complete anyway.]
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #8 from Darin Miller darinsmiller@gmail.com --- Apologies for my lack of wine building experience. I don't know how to further assist.
https://bugs.winehq.org/show_bug.cgi?id=50366
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zculek@gmail.com
--- Comment #9 from Zebediah Figura z.figura12@gmail.com --- *** Bug 50483 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=50366
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Component|-unknown |winsock Regression SHA1| |02a764e702094572186e079f6d4 | |8946627336d03
https://bugs.winehq.org/show_bug.cgi?id=50366
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pgofman@codeweavers.com
--- Comment #10 from Paul Gofman pgofman@codeweavers.com --- Created attachment 69137 --> https://bugs.winehq.org/attachment.cgi?id=69137 Hack
I've tested the game.
I could reproduce the issue with creating both LAN and global games. I've bisected that to commit:
commit 02a764e702094572186e079f6d48946627336d03 Author: Zebediah Figura z.figura12@gmail.com Date: Mon Sep 28 22:35:03 2020 -0500
ws2_32: Look for supported socket parameters if any parameters to WSASocket() are zero.
As it already happened with that commit earlier, I didn't find anything wrong with the commit itself. The effect is now getsockopt(..., WS_SO_PROTOCOL_INFOW, ...) fills the protocol information for sockets created without protocol specification to WSASocketW (as it should).
When the game gets the protocol info it chooses another way of working with some sockets. It is now using AFD_RECV, AFD_SELECT ioctls through NtDeviceIoControlFile() with socket handles during multiplayer game creation. I am attaching a very hacky (and incomplete) PoC patch which fixes the hang and an error on the multiplayer game creation, both for LAN and global game. I did not test the actual multiplayer game, it is quite possible that it will still not work with this patch as there are more ioctls to be implemented and even these 2 have a lot of things left behind.
A proper implementation should be probably aligned with moving WS2 async handling to ntdll.
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #11 from Zel Uneec zculek@gmail.com --- I guess we should continue here, since my report was marked as duplicate of this one (not sure how I missed this one when I was checking if there was already something reported about this).
I didn't have time to thoroughly test the hacky patch, but I can confirm that on a 2-3 quick tests: - creating a LAN game worked as expected - connecting to Battle.net server worked as expected - creating a game on Battle.net worked as expected - joining a game on Battle.net worked as expected
I didn't test playing games neither in LAN nor over Battle.net, but I hope that will work as well.
Judging by what Paul wrote, it will take quite a bit coding to fully and properly fix this. Unfortunatelly, I'm not a programmer myself, but I hope I'll at least be able to assist by testing the future fixes.
https://bugs.winehq.org/show_bug.cgi?id=50366
nuclear nuclear868@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nuclear868@gmail.com
--- Comment #12 from nuclear nuclear868@gmail.com --- I have the same issue with wine 6.0 staging I will build wine from source and apply the patch. As I plan to play starcraft remastered often, from my Ubuntu 20.10, I will be able to check if it is OK.
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #13 from Zebediah Figura z.figura12@gmail.com --- I have a diff attached to bug 50520 which should also fix this game. I don't know that it necessarily works any better than Paul's hack.
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #14 from Lyubomir Filipov nuclear868@gmail.com --- I just tried the patch. As I have wine 6.0 staging with all patches applied (otherwise, I cannot start the game), there were some conflicts, that I resolved manually. Which wine version is this patch against? I will compare the patched vs non-patched 6.0 staging.
The most important part is that creating and joining games works. I will play games these days (as this is my goal) and will see if everything is ok with the game.
https://bugs.winehq.org/show_bug.cgi?id=50366
charkins@pobox.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |charkins@pobox.com
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #15 from Lyubomir Filipov nuclear868@gmail.com --- Created attachment 69361 --> https://bugs.winehq.org/attachment.cgi?id=69361 WINEDEBUG=+winsock log
I have played battle.net games for the last 2 weeks and there were no issues. But I found issues with the LAN games.
When I enter Starcraft's multiplayer menu, it asks me to enable the Bonjour service for LAN support. Until today, I disabled it, because I played only in Battle.net. But today I tried to test the LAN mode and enabled it. It starts a process "C:\Program Files (x86)\Blizzard\Bonjour Service\mDNSResponder.exe" When I try to start a LAN game, I receive the message "Failed to advertise the game"
The same situation was for battle.net when creating/joining a game, but the patch has fixed it. It looks like it does not fix the LAN games functionality.
I am attaching a log file from wine, started with WINEDEBUG=+winsock. I started Battle.net, started starcraft, entered multiplayer LAN and tried to create a game.
This patch helps me, because I play only in Battle.net. But a fix can be helpful for others. I can provide more information if needed.
https://bugs.winehq.org/show_bug.cgi?id=50366
Maciej Stanczew maciej.stanczew+b@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maciej.stanczew+b@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=50366
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1|02a764e702094572186e079f6d4 | |8946627336d03 | Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Keywords|regression |patch Summary|Starcraft Remastered unable |Starcraft Remastered fails |to create local LAN |to create a local LAN game |multiplayer game. |(needs undocumented socket | |"recv" ioctl 0x12014) Depends on| |50975
--- Comment #16 from Zebediah Figura z.figura12@gmail.com --- I'm narrowing this bug's scope to the "recv" ioctl. The other problems are addressed by bug 50520, bug 50794, and bug 50795.
A patch set implementing this ioctl is available at https://repo.or.cz/wine/zf.git/shortlog/refs/heads/sock4; the last necessary patch for the "recv" ioctl is https://repo.or.cz/wine/zf.git/commitdiff/b73d2b634c53bd3ae11d8a8c9acdfd0d7872bc7a.
https://bugs.winehq.org/show_bug.cgi?id=50366
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #17 from Olivier F. R. Dierick o.dierick@piezo-forte.be ---
addressed by bug 50520, bug 50794, and bug 50795.
Meant to be read as bug 50520, bug 50974 and bug 50975.
https://bugs.winehq.org/show_bug.cgi?id=50366
calmstorm@posteo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |calmstorm@posteo.de
--- Comment #18 from calmstorm@posteo.de --- I have a similiar problem, as Darin Miller,
And possibly worse if I install bonjour using Starcraft Battle.net
Also, if I don't install bonjour, I cannot join or create games.
Does anyone have an idea when this will be fixed?
I read below you have some patch to fix it, can you send it to me?
I should add I use devuan beowulf and a 5.10 linux-libre-lts kernel and ivy bridge currently, a bit outdated, but not nearly as outdated as what I used to use a few years ago. And what I used to use, actually worked as ironic as it sounds.
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #19 from Darin Miller darinsmiller@gmail.com --- As a workaround, I am running Lutris with the lutris-5.7-11-x86_64 wine version under the Runner options tab (essentially I am using the SC II to run Starcraft Remastered).
https://bugs.winehq.org/show_bug.cgi?id=50366
--- Comment #20 from calmstorm@posteo.de --- Oh, how did you do that? I am not nearly as used to lutris as wine-staging...
Can you email this account how do you did so?
Not sure how to do it aka...
I am currently trying to install right now though... via lutris, I don't know if its the way you did it though.
https://bugs.winehq.org/show_bug.cgi?id=50366
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |b8f4061df0f71de13abc9edbeb1 | |8063d8359678f Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #21 from Zebediah Figura z.figura12@gmail.com --- This bug is fixed upstream by https://source.winehq.org/git/wine.git/commitdiff/b8f4061df0f71de13abc9edbeb18063d8359678f. Note that Starcraft Remastered does not work yet, due to the other linked bugs.
https://bugs.winehq.org/show_bug.cgi?id=50366 Bug 50366 depends on bug 50975, which changed state.
Bug 50975 Summary: Multiple applications need an implementation of undocumented socket "poll" ioctl 0x12027 (Rust applications using the Mio or Smol libraries, Starcraft Remastered) https://bugs.winehq.org/show_bug.cgi?id=50975
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
https://bugs.winehq.org/show_bug.cgi?id=50366
robert.roth.off@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |robert.roth.off@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=50366
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #22 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.10.