Function under Wine is never called.
I was thinking to give another shot, wine work better now, PT server start faster, no crashes under debian and so on, but...
under Wine function (0054A300):
Code:
0054B460 /$ 53 PUSH EBX
0054B461 |. 68 00C00900 PUSH 9C000
0054B466 |. E8 F9BA0700 CALL 005C6F64
0054B46B |. 33DB XOR EBX,EBX
0054B46D |. 68 00300800 PUSH 83000
0054B472 |. A3 1CEAA907 MOV DWORD PTR DS:[7A9EA1C],EAX
0054B477 |. 891D 18EAA907 MOV DWORD PTR DS:[7A9EA18],EBX
0054B47D |. 891D F0E9A907 MOV DWORD PTR DS:[7A9E9F0],EBX
0054B483 |. E8 DCBA0700 CALL 005C6F64
0054B488 |. 68 00040200 PUSH 20400
0054B48D |. A3 40EAA907 MOV DWORD PTR DS:[7A9EA40],EAX
0054B492 |. 891D F4E9A907 MOV DWORD PTR DS:[7A9E9F4],EBX
0054B498 |. 891D F8E9A907 MOV DWORD PTR DS:[7A9E9F8],EBX
0054B49E |. E8 C1BA0700 CALL 005C6F64
0054B4A3 |. 83C4 0C ADD ESP,0C
0054B4A6 |. 68 00EAA907 PUSH 07A9EA00 ; /pCriticalSection = 07A9EA00
0054B4AB |. A3 4CEAA907 MOV DWORD PTR DS:[7A9EA4C],EAX ; |
0054B4B0 |. 891D FCE9A907 MOV DWORD PTR DS:[7A9E9FC],EBX ; |
0054B4B6 |. 891D C8E9A907 MOV DWORD PTR DS:[7A9E9C8],EBX ; |
0054B4BC |. FF15 38F25D00 CALL DWORD PTR DS:[<&KERNEL32.InitializeCriticalSection>] ; \InitializeCriticalSection
0054B4C2 |. 68 E8E9A907 PUSH 07A9E9E8 ; /pThreadId = 07A9E9E8
0054B4C7 |. 53 PUSH EBX ; |CreationFlags
0054B4C8 |. 53 PUSH EBX ; |pThreadParm
0054B4C9 |. 68 00A35400 PUSH 0054A300 ; |ThreadFunction = 0054A300
0054B4CE |. 53 PUSH EBX ; |StackSize
0054B4CF |. 53 PUSH EBX ; |pSecurity
0054B4D0 |. FF15 54F25D00 CALL DWORD PTR DS:[<&KERNEL32.CreateThread>] ; \CreateThread
0054B4D6 |. A3 20EAA907 MOV DWORD PTR DS:[7A9EA20],EAX
0054B4DB |. 381D 405A8400 CMP BYTE PTR DS:[845A40],BL
0054B4E1 |. 5B POP EBX
0054B4E2 |. 74 10 JE SHORT 0054B4F4
0054B4E4 |. 68 405A8400 PUSH 00845A40 ; /String2 = ""
0054B4E9 |. 68 60266E00 PUSH 006E2660 ; |String1 = 006E2660
0054B4EE |. FF15 4CF25D00 CALL DWORD PTR DS:[<&KERNEL32.lstrcpyA>] ; \lstrcpyA
0054B4F4 |> B8 01000000 MOV EAX,1
0054B4F9 \. C3 RETN
Leading to SQL.dll:
Code:
00548FD1 |> 68 B0246000 PUSH 006024B0 ; ASCII "SQL"
00548FD6 |. FFD3 CALL EBX ; LoadLibraryA
Is never called.
Any ideas how to "force" it?
Without SQL.dll I don't have important .log that helps with debugging.
PS. Its funny but it can't run windows server by ODBC.
I called connection "c8master", configured ports to 1433.
I removed SQL.dll.
Anything I'm missing? Some extra in hotuk.ini?
___EDIT_1
I edited server to run it via ODBC :/
But good news is that I can run in on linux (ODBC) and login into it.
It might be possible to run in using SQL.dll, I finally getting logs (not all but there is important part there).
I hope my new oledb driver will be "installable".
___EDIT_2
K, I might be able to run in this time if I fix "one" problem.
I have problem with "comsvcs.dll". Because of it I can't "regsvr32" dlls :/
What .exe providing "comsvcs.dll"? It's not in DCOM98.exe HELP ANYONE?
Server running "no problem" on odbc. Now it's time to make it oledb.
Nvm bug above, it was fixed by increasing ulimit.
Re: Function under Wine is never called.
Re. ODBC: I guess you already know my oppinion of the ODBC Connection Manager in Windows. (I hear MS patched it sometime after SP1 in Vista, in 2K SP2+ and XP (certainly pre SP3) it has been borked. XD
Have you tried manually entering the connection details into the registry:-
Code:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\c8master]
"Driver"="C:\\WINNT\\system32\\SQLSRV32.dll"
"Description"="PT Server DB"
"Server"="<YourDBServerAddress>"
"Database"="AccountDB"
"LastUser"="Administrator"
"Trusted_Connection"="Yes"
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
"c8master"="SQL Server"
You should not set port to anything BTW.
Re: Function under Wine is never called.
It must be very borked than XD
ODBC working only if I edit server and flip some jumps myself =P
However finally Im getting some important .log info.
I think if I fix "comsvcs.dll" dll I will get fully working server under wine.
Under wine/odbc everything was working (did not tested clans), mobs, drops, admin magic etc.
___EDIT____
WORKING!! XD
http://i.imgur.com/wLh9d.png
under debian & mysql via OLEDB.
Still some work need to be done.
Anyone have my MySQL SQL/Clan .dll's? That would be a great help >=P
Re: Function under Wine is never called.
I wanted to write these, but it's too hard (for me) to work out the API syntax (parameters) of the DLL exports.
I know there are at least 2 people who visit here who would can "work this out", but they may not want "exposure" for such reversing.
The best I can offer is that anyone who wishes to disclose to me privately, I will share without any discussion of identity.
I am confident that Vormav could make Linux PT a reality without server emulation if this information could be resolved. :D: