https://bugs.winehq.org/show_bug.cgi?id=38820
Bug ID: 38820 Summary: PunkBuster pbsetup 3.8 fails to download Product: Wine Version: 1.7.43 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: o.dierick@piezo-forte.be Distribution: ---
Starting pbsetup in a clean 32bit wineprefix fails with the messagebox: "ERROR: The attempt to download 'http://websec.evenbalance.com:6080/downloads/pbgame.htm' failed because the connection timed out. Please make sure that you are properly connected to the Internet and try updating again later."
Step to reproduce: 1. Create a new 32bit wineprefix. 2. Download pbsetup 3.8 from http://www.evenbalance.com/. 3. Unzip and copy pbsetup.exe to .wine/drive_c/. 4. cd to .wine/drive_c/ and run wine pbsetup.exe 5. Accept the licence agreement, click "ok" when pbsetup says it runs for the first time. 6. pbsetup displays a progress bar.
What should happen: pbsetup should download its game database and open the main window (empty at first).
What actually happens: pbsetup displays a dialog box with the aforementioned message. The program closes when user clicks on the button.
Starting pbsetup with files copied from a wineprefix where it has run before allows the program to start, but the error happens when clicking on "Update PunkBuster".
Step to reproduce (continued): 6. click "add game" in the main window. 7. Select any game (APB Reloaded in my case). 8. Remove the path from the textbox and type C:\ in its place. 9. Click "add game".
What should happen: The progress bar should move on while pbsetup downloads the files from the server and ends with a successful update messagebox.
What actually happens: Download doesn't start and pbsetup displays a dialog box with the aforementioned message.
Additionnal info:
I get the error 99% of the time. Sometimes pbsetup manages to connect and download. I'll roughly say that it works once every 4 hours or so.
I sent a ticket to evenbalance and they replied to me it was either a firewall/antivirus blocking, or a temporary network issue. However, I don't use any firewall/antivirus and I installed pbsetup in a Windows Vista virtual machine on the same computer and it runs fine.
Here is the terminal output:
--- terminal output --- ~/.wine/drive_c$ wine pbsetup.exe fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046} --- end terminal output ---
My system is Debian Wheezy 64bit. Wine is compiled from git in pure 32bit. integrated iexplore can browse the web and even download the files that pbsetup wants.
I have this problem since Wine 1.7.43. I'm now using Wine 1.7.46-1 from git. The last time pbsetup ran successfully was with Wine 1.7.23. and I did not use it again until 1.7.43 was released.
https://bugs.winehq.org/show_bug.cgi?id=38820
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|PunkBuster pbsetup 3.8 |PunkBuster pbsetup 3.8 |fails to download |fails to download updates
https://bugs.winehq.org/show_bug.cgi?id=38820
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://web2.evenbalance.com | |/downloader/download.php CC| |focht@gmx.net
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
I can't confirm this, works fine every time here.
Downloaded: 'pbsetup.zip' -> 'pbsetup.exe'
Created new WINEPREFIX. Manually created a directory to fake a game installation:
--- snip --- $ mkdir -p "$(winepath 'c:\Program Files\EA Games\Battlefield 2 Demo')" --- snip ---
Started the app, selected 'Battlefield 2' -> 'add game'. The updater downloaded and unpacked all files successfully.
The download of 'pbgame.htm' is done as part of first-time setup - there is not even a (fake) game installation needed.
Relevant part of trace log
--- snip --- $ WINEDEBUG=+tid,+seh,+relay wine ./pbsetup.exe >>log.txt 2>&1 ... 0026:Call ws2_32.WSAStartup(00000101,0032f7a8) ret=004e326f 0026:Ret ws2_32.WSAStartup() retval=00000000 ret=004e326f ... 0026:Call ws2_32.inet_addr(00637c64 "websec.evenbalance.com") ret=004e295a 0026:Ret ws2_32.inet_addr() retval=ffffffff ret=004e295a 0026:Call ws2_32.gethostbyname(00637c64 "websec.evenbalance.com") ret=004e2967 ... 0026:Ret ws2_32.gethostbyname() retval=0016bbd8 ret=004e2967 0026:Call ws2_32.htons(000017c0) ret=004e2af5 0026:Ret ws2_32.htons() retval=0000c017 ret=004e2af5 ... 0026:Call ws2_32.socket(00000002,00000001,00000000) ret=004e2f86 0026:Ret ws2_32.socket() retval=00000068 ret=004e2f86 0026:Call ws2_32.ioctlsocket(00000068,8004667e,0032f958) ret=004e2fa2 0026:Ret ws2_32.ioctlsocket() retval=00000000 ret=004e2fa2 0026:Call ws2_32.WSAAsyncSelect(00000068,00020094,00000400,00000033) ret=0046a898 0026:Ret ws2_32.WSAAsyncSelect() retval=00000000 ret=0046a898 0026:Call ws2_32.connect(00000068,006381c8,00000010) ret=004e2ffa ... 0026:Ret ws2_32.connect() retval=ffffffff ret=004e2ffa 0026:Call ws2_32.WSAGetLastError() ret=004e3004 0026:Ret ws2_32.WSAGetLastError() retval=00002733 ret=004e3004 ... 0026:Call ws2_32.select(00000000,00000000,0032f7e4,00000000,0063816c) ret=004e2613 ... 0026:Ret ws2_32.select() retval=00000001 ret=004e2613 0026:Call ws2_32.send(00000068,00638294,00000010,00000000) ret=004e34f3 ... 0026:Ret ws2_32.send() retval=00000010 ret=004e34f3 0026:Call KERNEL32.CreateFileA(0063c70c "C:\users\focht\Temp\pbsc80c.tmp",40000000,00000003,0032b86c,00000002,00000080,00000000) ret=004ce244 0026:Ret KERNEL32.CreateFileA() retval=0000006c ret=004ce244 0026:Call KERNEL32.GetFileType(0000006c) ret=004ce251 0026:Ret KERNEL32.GetFileType() retval=00000001 ret=004ce251 ... 0026:Call ws2_32.select(00000000,0032b7b0,00000000,00000000,0063b164) ret=004e25b3 ... 0026:Ret ws2_32.select() retval=00000001 ret=004e25b3 0026:Call ws2_32.recv(00000068,0032c93d,00000003,00000000) ret=004e3458 ... 0026:Ret ws2_32.recv() retval=00000003 ret=004e3458 0026:Call KERNEL32.WriteFile(0000006c,0032b940,00001000,0032b490,00000000) ret=004cea85 0026:Ret KERNEL32.WriteFile() retval=00000001 ret=004cea85 ... 0026:Call ws2_32.recv(00000068,0032c385,000005bb,00000000) ret=004e3458 ... 0026:Ret ws2_32.recv() retval=00000000 ret=004e3458 0026:Call KERNEL32.WriteFile(0000006c,0032b940,00000a45,0032b490,00000000) ret=004cea85 0026:Ret KERNEL32.WriteFile() retval=00000001 ret=004cea85 ... 0026:Call KERNEL32.CloseHandle(0000006c) ret=004ce5f7 0026:Ret KERNEL32.CloseHandle() retval=00000001 ret=004ce5f7 ... 0026:Call KERNEL32.CopyFileA(0063c70c "C:\users\focht\Temp\pbsc80c.tmp",0063841c "pbgame.htm",00000000) ret=0049d3f3 0026:Ret KERNEL32.CopyFileA() retval=00000001 ret=0049d3f3 ... --- snip ---
Check your Linux host for that download first, e.g. put a 'wget' loop to download 'http://websec.evenbalance.com:6080/downloads/pbgame.htm' along with 'wireshark' capture.
$ sha1sum pbsetup.zip a9b8735cbc22e4a0a78355acc279d97e2d747658 pbsetup.zip
$ du -sh pbsetup.zip 696K pbsetup.zip
$ wine --version wine-1.7.46
Regards
https://bugs.winehq.org/show_bug.cgi?id=38820
--- Comment #2 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- When I first booted my computer this morning I could update in pbsetup as much as I wanted. After trying to play the game unsuccessfully, I was struck with this issue again.
The wget loop was fine and wireshark gave no clue as to what the problem is with pbsetup.
The pbsetup issue seems to be triggered by the PunkBuster failure that I was trying to solve in the first place.
The issue I'm trying to solve is that I'm immediately kicked out of game by PunkBuster because of: "Service communication failure:PnkBstrB.exe Initialization failed". In system monitor I see PnkBstrA, but not PnkBstrB. Sometimes, it appears but closes immediately. On the Windows Vista virtual machine, when the game runs, both services are running steadily.
The general advice to PunkBuster issues is to update with pbsetup. In fact, the game is already updated to the latest PunkBuster version. pbsetup is unnecessary.
Using pbsvc.exe to Uninstall/Reinstall the services doesn't solve the issue either.
https://bugs.winehq.org/show_bug.cgi?id=38820
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello Olivier,
so you're telling that running 'pbsetup' update works again after PC reboot? Then bug was likely invalid in first place (check your firewall setup).
The 'PnkBstrB' service problem is an entirely different thing. Either rework the ticket to target this issue or open a new bug.
There are a couple of log files in 'c:\windows\system32\logfiles\PunkBuster' to check.
Regards
https://bugs.winehq.org/show_bug.cgi?id=38820
--- Comment #4 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello.
I took a closer look at wget output and wireshark capture. I noticed that websec.evenbalance.com resolved to 3 different IPs. I used wget several times to switch through the 3 different IPs one at a time, and pbsetup only worked when it resolved the URL to one out of the 3 IPs.
When I found this I made several test with ping, dig, and compared the results using my network DNS server, my ISP DNS server and the Google public DNS server.
The issue is that pbsetup doesn't support round-robin cycling in the DNS response. It expects the IPs to always be in a fixed order. My network DNS server and my ISP DNS server do cycle the responses. The Google DNS server does not. Switching the primary DNS server on my computer to the Google one did the trick.
So, I reconfigured my local DNS server to return fixed order for forwarded queries and set my router to use the Google public DNS servers instead of the one of my ISP. pbsetup is working fine now.
The PunkBuster service still fails in the game, however. I'll open a new bug if I cannot find a fix.
https://bugs.winehq.org/show_bug.cgi?id=38820
--- Comment #5 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- A side note:
Windows Vista does not honor round-robin DNS resolution. That explains why pbsetup worked fine in the virtual machine.
https://support.microsoft.com/en-us/kb/968920
https://bugs.winehq.org/show_bug.cgi?id=38820
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID
--- Comment #6 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Closing as INVALID.
https://bugs.winehq.org/show_bug.cgi?id=38820
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Bruno Jesus 00cpxxx@gmail.com --- Closing invalid bugs.
https://bugs.winehq.org/show_bug.cgi?id=38820
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|PunkBuster pbsetup 3.8 |PunkBuster pbsetup 3.8 |fails to download updates |fails to download updates | |(PB updater doesn't support | |round-robin cycling in the | |DNS response)