Eddahbi Karim
2005-Jan-08 07:17 UTC
[Wine]Connection problems and weird WinSock warnings...
Hiya, I've posted this 'enigma' on the newsgroup : http://groups-beta.google.com/group/comp.emulators.ms-windows.wine/browse_thread/thread/57dcb7531ebfb529/65018c77a5e58651#65018c77a5e58651 The answers were pretty rare so I post the problem here, too. " I'm getting connection problems with an application run under Wine which isn't acting like that under a native Windows environment. The application is a game client called Ragnarok Online, fully updated, using a private server. The problem comes when I try to connect to the server. The client seems to try connecting to the server then fails. But it seems that the problem isn't with the server because no connection attempt are logged on the server when I try connecting. I investigated a bit and I got some uncommon warnings when I enable winsock's calls tracing : trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\advapi32.dll" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\gdi32.dll" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\user32.dll" : builtin trace:loaddll:load_dll Loaded module L"C:\\windows\\system\\ole32.dll" : native trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\dinput.dll" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\winmm.dll" : builtin trace:loaddll:load_dll Loaded module L"C:\\Program Files\\Gravity\\RO\\binkw32.dll" : native trace:loaddll:load_dll Loaded module L"C:\\windows\\system\\msvcrt.dll" : native trace:loaddll:load_dll Loaded module L"C:\\windows\\system\\shlwapi.dll" : native trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\comctl32.dll" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\shell32.dll" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\ddraw.dll" : builtin trace:loaddll:load_dll Loaded module L"C:\\Program Files\\Gravity\\RO\\ijl15.dll" : native trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\iphlpapi.dll" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\ws2_32.dll" : builtin trace:loaddll:load_dll Loaded module L"C:\\Program Files\\Gravity\\RO\\mss32.dll" : native trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\imm32.dll" : builtin trace:loaddll:load_dll Loaded module L"C:\\Program Files\\Gravity\\RO\\cps.dll" : native trace:loaddll:load_dll Loaded module L"C:\\Program Files\\Gravity\\RO\\granny2.dll" : native trace:loaddll:MODULE_LoadModule16 Loaded module "krnl386.exe" : builtin trace:loaddll:MODULE_LoadModule16 Loaded module "system.drv" : builtin trace:loaddll:MODULE_LoadModule16 Loaded module "GDI.EXE" : builtin trace:loaddll:MODULE_LoadModule16 Loaded module "USER.EXE" : builtin trace:loaddll:MODULE_LoadModule16 Loaded module "keyboard.drv" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\x11drv.dll" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\wineoss.drv" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\msacm32.dll" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\msacm.drv" : builtin trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\midimap.drv" : builtin trace:winsock:DllMain 0x417d0000 0x1 0x1 trace:loaddll:load_dll Loaded module L"C:\\Program Files\\Gravity\\RO\\Mp3dec.asi" : native trace:loaddll:load_dll Loaded module L"C:\\Program Files\\Gravity\\RO\\Mssfast.m3d" : native trace:loaddll:load_dll Loaded module L"c:\\windows\\system\\dsound.dll" : builtin [There the client interface load] err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_LINEPATTERN (0000000a) value : 00000000 ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_MONOENABLE (0000000b) value : 00000000 ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_ROP2 (0000000c) value : 0000000d ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_PLANEMASK (0000000d) value : ffffffff ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_LASTPIXEL (00000010) value : 00000001 ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_ZVISIBLE (0000001e) value : 00000000 ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_EDGEANTIALIAS (00000028) value : 00000000 ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_RANGEFOGENABLE (00000030) value : 00000000 ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_EXTENTS (0000008a) value : 00000000 ! err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_VERTEXBLEND (00000097) value : 00000000 ! [Then I connect] trace:winsock:WSAStartup verReq=101 trace:winsock:WSAStartup succeeded trace:winsock:WS_gethostbyname "droganor.no-ip.com" ret 0x40435c18 trace:winsock:WS_socket af=2 type=1 protocol=0 trace:winsock:WSASocketA af=2 type=1 protocol=0 protocol_info=(nil) group=0 flags=0x1 trace:winsock:WSASocketA created 0148 trace:winsock:WS_ioctlsocket socket 0148, cmd 8004667e, ptr 0x408afabc trace:winsock:WS_connect socket 0148, ptr 0x64c0e0 { family 2, address 105.112.46.99, port 6900 }, length 16 trace:winsock:WS_select read (nil), write 0x408af9a4, excp (nil) timeout 0x408afaa8 trace:winsock:WS_select read 0x408aee68, write (nil), excp (nil) timeout 0x408aef6c [Same message repeated 953 times] trace:winsock:WS_closesocket socket 0148 [Then a message comes "Unable to connect to the server" and I close the client] trace:loaddll:MODULE_FlushModrefs Unloaded module L"C:\\Program Files\\Gravity\\RO\\Mp3dec.asi" : native trace:loaddll:MODULE_FlushModrefs Unloaded module L"C:\\Program Files\\Gravity\\RO\\Mssfast.m3d" : native trace:winsock:DllMain 0x417d0000 0x0 0x1 I'm using Wine 20041201, under Debian Sarge using Ubuntu's packages provided on the Wine's APT repository. I don't have any windows installation on my computer but this game client works quiet flawlessly on Windows. I don't think my firewall is related to that... Other programs like the game client updater, download managers and others tools can connect to web servers. If anyone has an idea. This trace is quiet strange : trace:winsock:WSASocketA af=2 type=1 protocol=0 protocol_info=(nil) group=0 flags=0x1 And the others are uncommon : trace:winsock:WS_select read (nil), write 0x408af9a4, excp (nil) timeout 0x408afaa8 trace:winsock:WS_select read 0x408aee68, write (nil), excp (nil) timeout 0x408aef6c Weird, Weird..." I tried to use native WinSock DLL but the result is almost the same. Almost, the error message "Unable to connect to server" coming instantly... I wonder if Wine can use native WinSock DLL ? I configured Wine using the Winetools and emacs for customizing Wine's behaviour with some softwares ([AppDefaults] sections). Regards, -- Eddahbi Karim <thetemplar@free.fr> Freelance
Eddahbi Karim
2005-Jan-12 03:30 UTC
[Wine]Connection problems and weird WinSock warnings...
Le samedi 08 janvier 2005 ? 13:17 +0000, Eddahbi Karim a ?crit :> trace:winsock:WS_gethostbyname "droganor.no-ip.com" ret 0x40435c18 > trace:winsock:WS_socket af=2 type=1 protocol=0 > trace:winsock:WSASocketA af=2 type=1 protocol=0 protocol_info=(nil) group=0 flags=0x1 > trace:winsock:WSASocketA created 0148 > trace:winsock:WS_ioctlsocket socket 0148, cmd 8004667e, ptr 0x408afabc > trace:winsock:WS_connect socket 0148, ptr 0x64c0e0 { family 2, address > 105.112.46.99, port 6900 }, length 16I've found the answer to the problem. See below, if you're reading the archives... The resolution of this address "droganor.no-ip.com" is totally wrong. It seems that Winsock try to etablish a connection with "105.112.46.99" but this is NOT the IP of the DNS "droganor.no-ip.com". I tried to change this DNS by another one which maps the same IP and Winsock tried to etablish a connection with another different IP. But only this game client has this problem. Internet Explorer resolve DNS correctly. And the official game client hasn't any DNS support so it uses an IP and Wine's Winsock interface handles it correctly. So, here comes... The Solution ------------ Use a game client (Sakray) without DNS support. Then unpack the .grf packages (Unpack the game's package then the update package) with grftool ( http://openkore.sourceforge.net/grftool/ ) in the Ragnarok Online folder, go to data/, edit the sclientinfo.xml and change the DNS address by the IP corresponding, launch the client and enjoy the game ! I hope it will help someone. Bye, -- Eddahbi Karim <thetemplar@free.fr> Freelance