MOTR + Linux (мини-гайд по приручению)
-
Только что с помощью скрипта поставил клиент от Lazybloke датированный 2011-02-11. Версия wine - 1.3.13. После запуска появилось новое окно с логином и паролем, ввёл. Далее апдейтер без проблем выкачал несколько патчей, патчер отработал так же без проишествий. После запуска непосредственно уже клиента оно сообщило, что я ввёл неверную комбинацию логина и пароля. Далее клиент вылетел.
Теперь запускаем клиент без WINEDEBUG=-all и видим следующее:
[code:3bm7gv4r]err:module:find_forwarded_export function not found for forward 'msvcrt._except_handler4_common' used by L"C:\windows\system32\msvcr90.dll". If you are using builtin L"msvcr90.dll", try using the native one instead.
...
wine: Call from 0x7ef94f55 to unimplemented function MSVCR90.dll._initterm_e, aborting[/code:3bm7gv4r]Соответственно этому указанию ставим либу либо руками либо через winetricks:
env WINEPREFIX="$HOME/.wine_motr" winetricks vcrun2008Запускаем клиент. На счёт либы всё спокойно. Клиент запускается, отркывается чарселект, но после выбора персонажа клиент крашится.
! wine: Call from 0x7ef88fdf to unimplemented function ntdll.dll.ZwSetLdtEntries, aborting
! wine: Unimplemented function ntdll.dll.ZwSetLdtEntries called at address 0x7ef88fdf (thread 0025), starting debugger...
! Unhandled exception: unimplemented function ntdll.dll.ZwSetLdtEntries called in 32-bit code (0x7ef88fdf).
! err:dbghelp_msc:pe_load_debug_directory Got a page fault while loading symbols
! Register dump:
! CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
! EIP:7ef88fdf ESP:0033f5d8 EBP:0033f63c EFLAGS:00200212( - -- I -A- - )
! EAX:7efcf033 EBX:7efe3ff4 ECX:7efcdd60 EDX:000000c0
! ESI:0033f5e4 EDI:000000dc
! Stack dump:
! 0x0033f5d8: 00000000 000a0009 7efe3ff4 80000100
! 0x0033f5e8: 00000001 00000000 7ef88fdf 00000002
! 0x0033f5f8: 7efcdd60 7efcf033 001104d8 00000002
! 0x0033f608: 7ffd8c00 0033f650 00007dac 00000000
! 0x0033f618: 00000004 00000000 80010001 7ef60000
! 0x0033f628: 0033f648 0033f65c 7edcb0c3 80010001
! Backtrace:
! =>0 0x7ef88fdf __wine_spec_unimplemented_stub+0x4f() in ntdll (0x0033f63c)
! 1 0x7ef6db2d in ntdll (+0xdb2c) (0x0033f63c)
! 2 0x80000100 (0x0033f6a0)
! 3 0x00475cf8 in ruro (+0x75cf7) (0x0033f6dc)
! 4 0x004722d2 in ruro (+0x722d1) (0x0033fc5c)
! 5 0x00472e5d in ruro (+0x72e5c) (0x0033fc7c)
! 6 0x0047435f in ruro (+0x7435e) (0x0033fe00)
! 7 0x00478078 in ruro (+0x78077) (0x0033fe90)
! 8 0x7edd1cec call_process_entry+0xb() in kernel32 (0x0033fea8)
! 9 0x7edd1cec call_process_entry+0xb() in kernel32 (0x0033fee8)
! 10 0x7edd426b in kernel32 (+0x4426a) (0x0033fef8)
! 11 0x7efb811b call_thread_entry_point+0x6f() in ntdll (0x0033ffc8)
! 12 0x7ef9531e in ntdll (+0x3531d) (0x0033ffe8)
! 13 0xb762ebe5 wine_call_on_stack+0x1c() in libwine.so.1 (0x00000001)
! 0x7ef88fdf __wine_spec_unimplemented_stub+0x4f in ntdll: subl $4,%esp
! Modules:
! Module Address Debug info Name (76 modules)
! PE 400000- 520000 Export ruro
! ELF 7bf00000-7bf04000 Deferred <wine-loader>
! ELF 7daa6000-7db00000 Deferred dbghelp<elf>
! -PE 7dab0000-7db00000 \ dbghelp
! ELF 7dcc3000-7dcfa000 Deferred libjpeg.so.8
! ELF 7dd17000-7dd93000 Deferred windowscodecs<elf>
! -PE 7dd30000-7dd93000 \ windowscodecs
! ELF 7dd93000-7dda9000 Deferred psapi<elf>
! -PE 7dda0000-7dda9000 \ psapi
! ELF 7dda9000-7de90000 Deferred oleaut32<elf>
! -PE 7ddc0000-7de90000 \ oleaut32
! ELF 7debb000-7df22000 Deferred gdiplus<elf>
! -PE 7ded0000-7df22000 \ gdiplus
! ELF 7df22000-7df3b000 Deferred imagehlp<elf>
! -PE 7df30000-7df3b000 \ imagehlp
! ELF 7df3b000-7df52000 Deferred snmpapi<elf>
! -PE 7df40000-7df52000 \ snmpapi
! ELF 7df7f000-7dff2000 Deferred rpcrt4<elf>
! -PE 7df90000-7dff2000 \ rpcrt4
! ELF 7dff2000-7e0ed000 Deferred ole32<elf>
! -PE 7e010000-7e0ed000 \ ole32
! ELF 7e109000-7e13c000 Deferred uxtheme<elf>
! -PE 7e110000-7e13c000 \ uxtheme
! ELF 7e13c000-7e228000 Deferred comctl32<elf>
! -PE 7e150000-7e228000 \ comctl32
! ELF 7e228000-7e41f000 Deferred shell32<elf>
! -PE 7e240000-7e41f000 \ shell32
! ELF 7e41f000-7e481000 Deferred shlwapi<elf>
! -PE 7e430000-7e481000 \ shlwapi
! ELF 7e481000-7e4a5000 Deferred mpr<elf>
! -PE 7e490000-7e4a5000 \ mpr
! ELF 7e4a5000-7e509000 Deferred wininet<elf>
! -PE 7e4b0000-7e509000 \ wininet
! ELF 7e509000-7e50f000 Deferred libxfixes.so.3
! ELF 7e50f000-7e519000 Deferred libxcursor.so.1
! ELF 7e519000-7e521000 Deferred libxrandr.so.2
! ELF 7e521000-7e52b000 Deferred libxrender.so.1
! ELF 7e52b000-7e531000 Deferred libxxf86vm.so.1
! ELF 7e531000-7e552000 Deferred imm32<elf>
! -PE 7e540000-7e552000 \ imm32
! ELF 7e552000-7e56d000 Deferred libxcb.so.1
! ELF 7e56d000-7e585000 Deferred libice.so.6
! ELF 7e585000-7e69c000 Deferred libx11.so.6
! ELF 7e69c000-7e6ab000 Deferred libxext.so.6
! ELF 7e6ab000-7e6b4000 Deferred libsm.so.6
! ELF 7e6b4000-7e75b000 Deferred winex11<elf>
! -PE 7e6c0000-7e75b000 \ winex11
! ELF 7e75b000-7e770000 Deferred libz.so.1
! ELF 7e770000-7e7f3000 Deferred libfreetype.so.6
! ELF 7e810000-7e86b000 Deferred advapi32<elf>
! -PE 7e820000-7e86b000 \ advapi32
! ELF 7e86b000-7e8f4000 Deferred gdi32<elf>
! -PE 7e880000-7e8f4000 \ gdi32
! ELF 7e8f4000-7ea21000 Deferred user32<elf>
! -PE 7e910000-7ea21000 \ user32
! ELF 7ea21000-7ea2d000 Deferred libnss_files.so.2
! ELF 7ea2d000-7ea38000 Deferred libnss_nis.so.2
! ELF 7ea38000-7ea40000 Deferred libnss_compat.so.2
! ELF 7ea40000-7ea44000 Deferred libxcomposite.so.1
! ELF 7ea44000-7ea5d000 Deferred version<elf>
! -PE 7ea50000-7ea5d000 \ version
! ELF 7ed7b000-7ef07000 Dwarf kernel32<elf>
! -PE 7ed90000-7ef07000 \ kernel32
! ELF 7ef07000-7ef2d000 Deferred libm.so.6
! ELF 7ef2d000-7ef33000 Deferred libxdmcp.so.6
! ELF 7ef33000-7ef4a000 Deferred libnsl.so.1
! ELF 7ef4a000-7f000000 Dwarf ntdll<elf>
! -PE 7ef60000-7f000000 \ ntdll
! ELF b74a1000-b74a5000 Deferred libxau.so.6
! ELF b74a7000-b74ab000 Deferred libdl.so.2
! ELF b74ab000-b75f0000 Deferred libc.so.6
! ELF b75f0000-b7609000 Deferred libpthread.so.0
! ELF b7621000-b7626000 Deferred libuuid.so.1
! ELF b7626000-b7767000 Dwarf libwine.so.1
! ELF b7768000-b7786000 Deferred ld-linux.so.2
! ELF b7786000-b7787000 Deferred [vdso].so
! Threads:
! process tid prio (all id:s are in hex)
! 0000000e services.exe
! 0000001a 0
! 00000014 0
! 00000010 0
! 0000000f 0
! 00000011 winedevice.exe
! 00000016 0
! 00000013 0
! 00000012 0
! 00000017 plugplay.exe
! 0000001c 0
! 00000019 0
! 00000018 0
! 0000001d explorer.exe
! 0000001e 0
! 00000024 (D) C:\Games\MOTR_Lazybloke\ruro.exe
! 00000027 1
! 00000026 0
! 00000025 0 <==
! 00000028 Ragexe.exe
! 00000031 0
! 00000030 0
! 0000002f 15
! 0000002e 15
! 0000002d 15
! 00000029 0
! Backtrace:
! =>0 0x7ef88fdf __wine_spec_unimplemented_stub+0x4f() in ntdll (0x0033f63c)
! 1 0x7ef6db2d in ntdll (+0xdb2c) (0x0033f63c)
! 2 0x80000100 (0x0033f6a0)
! 3 0x00475cf8 in ruro (+0x75cf7) (0x0033f6dc)
! 4 0x004722d2 in ruro (+0x722d1) (0x0033fc5c)
! 5 0x00472e5d in ruro (+0x72e5c) (0x0033fc7c)
! 6 0x0047435f in ruro (+0x7435e) (0x0033fe00)
! 7 0x00478078 in ruro (+0x78077) (0x0033fe90)
! 8 0x7edd1cec call_process_entry+0xb() in kernel32 (0x0033fea8)
! 9 0x7edd1cec call_process_entry+0xb() in kernel32 (0x0033fee8)
! 10 0x7edd426b in kernel32 (+0x4426a) (0x0033fef8)
! 11 0x7efb811b call_thread_entry_point+0x6f() in ntdll (0x0033ffc8)
! 12 0x7ef9531e in ntdll (+0x3531d) (0x0033ffe8)
! 13 0xb762ebe5 wine_call_on_stack+0x1c() in libwine.so.1 (0x00000001)
! wine: Call from 0x7ef88fdf to unimplemented function ntdll.dll.ZwSetLdtEntries, aborting
! wine: Call from 0x7ef88fdf to unimplemented function ntdll.dll.ZwSetLdtEntries, abortingС увереностью можно заключить, что на данную дату, клиент с патчами от, вроде бы, 15 февраля не работает под вайном версии 1.3.13. Можете попробовать предыдущие версии вайна - может и заработает. Мне это делать лениво.
-
Incinerator, я тебе больше скажу - падает клиент по вот этой причине <!-- l --><a class="postlink-local" href="http://forum.motr-online.com/viewtopic.php?f=17&t=82513&start=94">viewtopic.php?f=17&t=82513&start=94</a><!-- l --> и будет падать во всех версиях вайна, ибо писатель ruro.exe использовал или недокументированную или устаревшую или ещё какую функцию ZwSetLdtEntries в ntdll.dll
и ещё - подменить ntdll.dll в вайне не получится по этой причине <!-- m --><a class="postlink" href="http://www.opennet.ru/docs/RUS/wine_guide/wine_guide-os_misc.html.gz#wine_ug_3_html_3121">http://www.opennet.ru/docs/RUS/wine_gui ... _html_3121</a><!-- m -->
[code:qzc21rr6]Существуют 4 DLL, "родные" версии которых никогда не следует использовать: kernel32.dll, gdi32.dll, user32.dll и ntdll.dll. Эти библиотеки требуют низкоуровневый доступ к ядру Windows, которого просто нет в структуре Wine.[/code:qzc21rr6]
==> после последнего апдейта на мотре играть из под вайна - нельзя в связи защиты игры от страшных хакеров (нас с вами) -
Incinerator, я тебе больше скажу - падает клиент по вот этой причине <!-- l --><a class="postlink-local" href="http://forum.motr-online.com/viewtopic.php?f=17&t=82513&start=94">viewtopic.php?f=17&t=82513&start=94</a><!-- l --> и будет падать во всех версиях вайна, ибо писатель ruro.exe использовал или недокументированную или устаревшую или ещё какую функцию ZwSetLdtEntries в ntdll.dll
и ещё - подменить ntdll.dll в вайне не получится по этой причине <!-- m --><a class="postlink" href="http://www.opennet.ru/docs/RUS/wine_guide/wine_guide-os_misc.html.gz#wine_ug_3_html_3121">http://www.opennet.ru/docs/RUS/wine_gui ... _html_3121</a><!-- m -->
[code:qzc21rr6]Существуют 4 DLL, "родные" версии которых никогда не следует использовать: kernel32.dll, gdi32.dll, user32.dll и ntdll.dll. Эти библиотеки требуют низкоуровневый доступ к ядру Windows, которого просто нет в структуре Wine.[/code:qzc21rr6]
==> после последнего апдейта на мотре играть из под вайна - нельзя в связи защиты игры от страшных хакеров (нас с вами) -
orizzonte, спасибо за информацию. На тот момент мне было лениво смотреть статистику/ченджлог/исходники (по) ntdll.dll вайна на предмет данной функции: была она и её выпилили в .11 - .13 или её вообще там и не было никогда; поэтому однозначно заключить какая из команд разработчиков виновата я не мог.
Однако, необоснованых обвинений я, увы, не люблю больше, чем ленюсь, поэтому я посмотрел куда следует и выяснил, что данная функция не реализована командой разработчиков wine. Если вас интересует скорейшее решение проблемы - пишите в инстанции, например.
За статью спасибо - кому-нибудь будет полезно её почитать.
-
orizzonte, спасибо за информацию. На тот момент мне было лениво смотреть статистику/ченджлог/исходники (по) ntdll.dll вайна на предмет данной функции: была она и её выпилили в .11 - .13 или её вообще там и не было никогда; поэтому однозначно заключить какая из команд разработчиков виновата я не мог.
Однако, необоснованых обвинений я, увы, не люблю больше, чем ленюсь, поэтому я посмотрел куда следует и выяснил, что данная функция не реализована командой разработчиков wine. Если вас интересует скорейшее решение проблемы - пишите в инстанции, например.
За статью спасибо - кому-нибудь будет полезно её почитать.
-
Incinerator, вы лучше на msdn найдите эту функцию с описанием (чтоб вайновцы могли её реализовать) <!-- m --><a class="postlink" href="http://social.msdn.microsoft.com/Search/en-US/?query=ZwSetLdtEntries">http://social.msdn.microsoft.com/Search ... LdtEntries</a><!-- m --> а после утверждайте что она не "недокументированную или устаревшую или ещё какую"
-
Incinerator, вы лучше на msdn найдите эту функцию с описанием (чтоб вайновцы могли её реализовать) <!-- m --><a class="postlink" href="http://social.msdn.microsoft.com/Search/en-US/?query=ZwSetLdtEntries">http://social.msdn.microsoft.com/Search ... LdtEntries</a><!-- m --> а после утверждайте что она не "недокументированную или устаревшую или ещё какую"
-
orizzonte, вот ведь нехорошие разработчики руро, а! Ведь вся документация в ntdll.dll лежит к мсдн в полном объёме, но они специально заюзали единственную недокументированную или устаревшую или ещё какую функцию ZwSetLdtEntries в ntdll.dll! Пишут руро под вайн и при этом используют функции, которые там не реализованы! Вот нубы! xD
-
orizzonte, вот ведь нехорошие разработчики руро, а! Ведь вся документация в ntdll.dll лежит к мсдн в полном объёме, но они специально заюзали единственную недокументированную или устаревшую или ещё какую функцию ZwSetLdtEntries в ntdll.dll! Пишут руро под вайн и при этом используют функции, которые там не реализованы! Вот нубы! xD
-
Incinerator, пруфлинк на документацию по ntdll.dll ZwSetLdtEntries или пруфлинк что у разработчиков работает руро под вайн
зы: вобще какой-то флудерный ваш последний пост -
Incinerator, пруфлинк на документацию по ntdll.dll ZwSetLdtEntries или пруфлинк что у разработчиков работает руро под вайн
зы: вобще какой-то флудерный ваш последний пост -
Проблема в ZwSetLdtEntries будет исправлена в следующем релизе руро.
-
Проблема в ZwSetLdtEntries будет исправлена в следующем релизе руро.
-
@_o1_:
Проблема в ZwSetLdtEntries будет исправлена в следующем релизе руро.это радует...только вот интересно когда будет этот следующий релиз и на сколько он будет нормальным...а то вот релиз за 17 число совсем не порадовал
-
@"o1":
Проблема в ZwSetLdtEntries будет исправлена в следующем релизе руро.это радует...только вот интересно когда будет этот следующий релиз и на сколько он будет нормальным...а то вот релиз за 17 число совсем не порадовал
-
и все таки...когда будет следующий релиз руро? просто уж очень хочется поиграть, надоело уже для этого постоянно в винду перегружаться
-
и все таки...когда будет следующий релиз руро? просто уж очень хочется поиграть, надоело уже для этого постоянно в винду перегружаться
-
Видимо, как только так сразу.
"Мы работаем над этим" (с) -
Видимо, как только так сразу.
"Мы работаем над этим" (с) -
это уж точно