Запуск РО из под виней+FreeBSD
-
если есть у кого нибудь опыт скрещивания РО с униксами поделитесь плз.
-
а под winex не запускается? Я сегодня если врямя будет протестю и отпишусь
-
Было время нормально работал под Wine. но уже давно
мне вообще странно говорить об этом, если РО и под win32 нормально не работает. -
Клиенты официальных серверов нормально работают в cedega 4.x.
Клиент MOTR запустить из-под winex/cedega проблематично по той причине, что ruro.exe, запускающий игру, включает режим отладки для дочернего процесса. -
Для себя сделал вывод что rdesktop на виндовый тазик с включенным terminal server наименее геморройный вариант.
Конечно в случае наличия виндового тазика.. -
ruro включает режим отладки
а как собственно руро влияет на sakexe? что он там творит то - память процесса читать пытается или еще какие фокусы? отладка помоему жестокая штука, а под виндой несмотря на её РО не тормозит -
@KotN:
Для себя сделал вывод что rdesktop на виндовый тазик с включенным terminal server наименее геморройный вариант.Конечно в случае наличия виндового тазика..
да ну? а терминальный режим уже научился поддерживать directx? -
Сразу скажу - я не проф. по никсам, любитель.
Есть прога (чрезвычайно замечательная, но ресурсоёмкая, думаю, многие слыхали) - VmWare
Ознакомиться можно тут <!-- m --><a class="postlink" href="http://www.linuxcenter.ru/lib/books/vmware/">http://www.linuxcenter.ru/lib/books/vmware/</a><!-- m -->
Альтруистов просьба отписаться о результате -
@36:
а как собственно руро влияет на sakexe? что он там творит то - память процесса читать пытается или еще какие фокусы? отладка помоему жестокая штука, а под виндой несмотря на её РО не тормозитЕсли ты думаешь, что клиент MOTR не тормозит, попробуй запустить его на Pentium II 350MHz с nVidia TNT 2 и 128М памяти. Стандартный клиент на такой машине работает вполне нормально (играла 2-3 года назад именно на подобной системе). А что именно делает ruro - вопрос к его автору лично мне кажется, что он выступает чем-то вроде transparent proxy. Кстати, если я не ошибаюсь, он же обеспечивает функционирование одной из частей системы защиты.
-
@"Dreamer":
Сразу скажу - я не проф. по никсам, любитель.Есть прога (чрезвычайно замечательная, но ресурсоёмкая, думаю, многие слыхали) - VmWare
Ознакомиться можно тут <!-- m --><a class="postlink" href="http://www.linuxcenter.ru/lib/books/vmware/">http://www.linuxcenter.ru/lib/books/vmware/</a><!-- m -->
Альтруистов просьба отписаться о результате
если коротко - не работает -
@Lasty:
А что именно делает ruro - вопрос к его автору лично мне кажется, что он выступает чем-то вроде transparent proxy. Кстати, если я не ошибаюсь, он же обеспечивает функционирование одной из частей системы защиты.
на счет прокси не уверен, но есть такое маленькое подозрение
а вот то что "обеспечивает функционирование одной из частей системы защиты" это истиная правдаЗЫЖ короче мне лень было глубоко копать екзешник в IDA и SoftICE, так поглядел поверхностно...
-
bear50rus,
конечно не работает. Ни одна виртуальная машина (VmWare/VirtualPC) не поддерживает DX.
Wine/Cedega поддерживают.
Какие там интимные отношения у клиента и его ланчера, и особенно зачем дебаг режим мне остается непонятно. чем может отличаться обход защиты в дебаг режиме от обычного - тоже не ясно.
А клиент тормозит изрядно -
@36:
а как собственно руро влияет на sakexe? что он там творит то - память процесса читать пытается или еще какие фокусы? отладка помоему жестокая штука, а под виндой несмотря на её РО не тормозитЕсли ты думаешь, что клиент MOTR не тормозит, попробуй запустить его на Pentium II 350MHz с nVidia TNT 2 и 128М памяти. Стандартный клиент на такой машине работает вполне нормально (играла 2-3 года назад именно на подобной системе). А что именно делает ruro - вопрос к его автору лично мне кажется, что он выступает чем-то вроде transparent proxy. Кстати, если я не ошибаюсь, он же обеспечивает функционирование одной из частей системы защиты.
В общих словах функция ruro.exe - настройка клиента под наш сервер. Как вы могли заметить, в отличие от кустарных серверов, мы не модифицируем sakexe.exe, по многим причинам, первая из которых, вовсе не легальная, как написано в большинстве предположений, а то, что изменения (антиботовая защита, защита против подбора паролей, оптимизация и прочее) гораздо более значительны, чем в случае с кустарными серверами.
Пониженные тормоза клиента на слабых машинах были в основном обусловленны кодом sakexe.exe (ragexe.exe). При написании ruro.exe использовался оптимизированный подход, который исключает код с большими затратами процессорного времени. Например, для того, чтобы не создавать проблем у владельцев медленных машин, мы отказались в свое время от полной кастомизации текстовых изображений "на лету", реализация которого требовала значительного процессорного времени.
Единственная значительная задержка - в начальной загрузке ruro.exe, со временем и усложнением функций она увеличивается. В связи с этим фактом был введен splash screen (отключается ключом /NoGui) и система кеширования данных. -
@"Astar":
bear50rus,конечно не работает. Ни одна виртуальная машина (VmWare/VirtualPC) не поддерживает DX.
Wine/Cedega поддерживают.
Какие там интимные отношения у клиента и его ланчера, и особенно зачем дебаг режим мне остается непонятно. чем может отличаться обход защиты в дебаг режиме от обычного - тоже не ясно.
А клиент тормозит изрядно
я же написал - коротко про ДХ мне было лень писать ибо поиск рулит, уже эту темы обсуждали и не один раз -
ruro,
А можно как-нибудь прокомментировать запуск РО из Wine/Cedega, точнее тот факт, что раньше работало - теперь нет. и тот, что офиц. клиенты работают.
ну и если уж на то пошло, утечка памяти - виновен "наш" код, или "их"? -
О том, что раньше ruro.exe работал под Cedega, подтверждений раньше не поступало.
Исходя исключительно из теории, причин для неработы под эмуляторами у ruro.exe больше, чем у sakexe.exe
Утечки памяти связаны исключительно с sakexe.exe -
итак, ruro запустилась под вайном, но ооочень странно, оно запускалась мин 5 и после того, как запустилась по экрану пошли черные полосы
-
ruro,
Даю на отсечение свой 5й палец левой ноги что РО замечательно работал под Wine (WineX/Cedega не тестил) лично у меня,
но дело было где-то 2 месяца назад. -
Запуск действительно мог замедлиться (особенно первый запуск). Поэтому и был введен сплеш со статус баром. В native win32 это, возможно, менее заметно, чем под эмуляцией.
Сплеш можно отключить ключом /NoGui (на момент написания сообщения).
Если же проблемы возникли уже после того, как в ruro.exe появился сплеш, то, судя по всему, с проблемой это не связано. -
Всем, доброго времени суток, таки решился начеркать парочку строк в надежде а вдруг кому пригодится, а то может и помогут решить/разобратся с проблемами (что сомнительно
Итак, шедшие в течении 3 дней с попеременным успехом сражения (wine+Motr_RO) vs FreeBSD (да еще и через HTTP proxy), закончились временным перемирием (просто от "устал"). По окончанию первых боев пишу краткий обзор. Имеем,
с одной стороны: FreeBSD 5.4 (i386) PRERELEASE #0, с обновленными портами по "последнему слову техники", в качестве X-сервера юзается любимая многими (а после "отставки" XFree86, практически безальтернативная) Xorg версии 6.8.1,
c другой: wine-20050310 в базовой конфигурации, собранный из портов + MOTR Ragnarok клиент с последними апдейтами.
Все это работает на AMD Samptron 2200+ (1804.10 MHz, это показывает Фря, а мне кажется что там меньше таки частота :lol: ), 512Mib мозгов, nVidia GF440MX (дрова с сайта nvidia.com).
Приступим
Ходим в порты, собираем emulators/wine ну и ессно устанавливаем. Потом под своим пользователем запускаем wine просто без параметров, он создаст (если раньше не было) свое дерево в ~/.wine/ но конфига туды не положит, а будет юзать стандартный (/usr/local/etc/wine.conf), так что для настройки или изменяем стандартный дефолный конфиг (что не "эстетично" :lol: , или тягаем его в ~/.wine/config и там уже "кромсяем". При этом по дефолту делается два диска в ~/.wine/dosdevices/ - ( -> ~/.wine/drive_c), и (z: -> /), что есть обычные символические ссылки, потому проблем с добавлением новых возникнуть не должно, но я например этим бы заниматься не советовал, потому как практика показывает, что как-то не ровно вайн определяет относительный виндовый путь есси нету диска указывающего на корневой раздел -- z: (хотя это мое замечание, возможно от кривых рук). С другой стороны я считаю теоретически не безопасным диск z: -> / , надеюсь объснять "почему?" не требуется Оптимальный вариант - или установить РО заново на виртуальный диск с:, или же перенести установленный туды. И еще заметка - пробелы в пути не всегда "кушаются" адекватно, посему их лучше... того :lol: (но "Program Files" не стоит переименовывать)
Рассказывать про установки вайна можно на добрый трех-томник, но я ограничилсяв первый раз только настройкой фонтов, потому как считаю внесение любых изменений поводом для отдельного обсуждения и проверки, а времени на это конечно не хватает.Далее, начитавшись оптимистических постов в виде - "Работает шо ниче и трогать не надо, аж стыдно об этом писать", с азартом бросился "в бой":
1) Setup.exe заработал сразу, и даже сохранял настройки, отчего, на радостях, были предприняты следующие действия:
а) отключил fog, потому как с ним глючить неимоверно,
б) отключил звук (потому как у меня со звуком в РО свои траблы - дергается, хрюкает и вообще не приятное для слуха явление, возможно у вас будет работать нормально, кста юзался wineoss драйвер для звука в настройках вайна, другое не рыл и не химичил, в частности от лени),
в) поставил full screen режим (ОЧЕННО РЕКОМЕНДУЮ, в оконном режиме глючить, мелькает... УЖАС вобщем -- кому интересно могут попробовать)2) Sakray.exe заработал вродь как тоже моментально, чет скачал, чет написал, но так как клиент был патченный проверить на полную работоспособность не посчастливилось. Хотя есть мнение, что с апдейтами не все так гладко, причем мнение мое, проверялось на старом клиенте (дет августовкой/сеньтябрьской поры) на другой машине -- первый файл скачивается, распаковывается, а дальше sakray.exe "радует" нас сообщением - "failed to get <patch_name>.rgz file". Здается проблема с самим вайном, скажем с кривой организацией dlls/wininet/ftp.c Но все это пока только мысли в слух.
3) ruro.exe - вот тут начались самые "прелести" (я думаю все уже и так догадались, что чудеса есси и случаются, то по закону Мерфи - только те которые "лучше бы и не случались" :lol: ).
В первый раз отказался запускаться напрочь ВООБЩЕ, отругавшись на несуществующий sakray.exe и на "плохую жизнь". Почесав затылок и поглядев в конфиги, "от греха подальше", дописал в секцию [wine] следующее:
[code:2r0nrp71]
[wine]
"Windows" = "c:\windows"
"System" = "c:\windows\system"
"Temp" = "c:\windows\Temp"
"Path" = "c:\Windows;c:\windows\system"
"Profile" = "c:\windows\Profiles\Administrator"
[/code:2r0nrp71]
после чего, осознав свою ошибку, перешел в каталог с игрой и запустил [code:2r0nrp71]>wine ruro[/code:2r0nrp71]
И понеслось -- вайн выдал парочку "радующих глаз" сточек fixme:... ,fixme:... и запустился патчер (ранее упоминавшийся sakray), при чем в консоли, что характерно, wine ruro висел в фореграунд. Скачав все что хотел и обрадовавшись что обновлять ничего не надо, патчер подсветил кнопочку <Start game>, на которой, без лишних проволочек, был предпринят "яросный" мышиный клик. Ответом на клик выскосило сообщение - ruro.exe already running, нижняя челюсть отвисла и я ушел на перекур, на котором было решено укрепится на текущих позициях и лечь поспать (3 часа ночи).Спал плохо, снился "kernel panic"...
На следующий день подошел к процессу более основательно, и перерыл (с подсказок играющих, к которым я с давних пор не отношусь) весь мотр.ру на тему факов, Linux, wine и т.д. Собсно и вычитал ворум, в том числе и эту ветку. Огорчило - ничего по сути никто не написал; обрадовало - этим интересуются, реагирует администрация и "у меня прекрастно работает под вайн". Получив заряд оптимизма и важной стратегической информации, под вечер, после работы возобновил сражение.
В первую очередь был опробован метод ruro /run.
Вайн в пассивно отписался:
[code:2r0nrp71]
fixme:file:get_default_drive_device auto detection of DOS devices not supported on this platform
fixme:ntdll:NtQueryVolumeInformationFile device info not properly supported on this platform
VIRUS WARNING: PE module L"Z:\...\Ragnarok\ruro.exe" has an invalid entrypoint (0x00000154) outside all sections (possibly infected by Tchernobyl/SpaceFiller virus)!
fixme: NTVirtualMemoryProtection ...
[/code:2r0nrp71]
Про вирусы порадовало... :lol: Появился спэш ruro, но без картинки, просто белое окошко с прогресс-баром внизу (то которое отключается /NoGui) Прогресс бар замер на позиции названной "два квадратика", я заварил чаю, взял сигарету и начал ждать "замедлившегося запуска". (Забегая вперед скажу, что последняя строчка fixme: NTVirtual... написана по памяти, но является очень значимой ибо если она не повторяется со временем, значится ruro висит и процесс никуда дальше не двигается, так что обратите внимание) После 15 минут ожидания "замедлившегося запуска" и ввиду абсолютно замершего прогресс-бара, терпение лопнуло и было сделано [code:2r0nrp71]>killall wine[/code:2r0nrp71]
Что-то внутри подсказывало, что это далеко не замедление, а больше зависание. Начался процесс творческих изысканий с вытянутыми из Винь МастДай "родными" .dll-ками. Методом проб и ошибок был найден необходимо достаточный минимум, а именно одна библиотечка
msvcrt.dll
которую следовало поместить в c:\windows\system. Чистоты эксперемента ради, следует заметить, что вытянута данная библиотека была из друга, точнее с его Winows XP Proffesional (для представителей закона - чесное слово лицензионно все :lol: ).
После этого, о радость, все стало запускаться... что метод wine ruro (через sakray и снова ruro /run), что просто wine ruro /run. Процесс "замедлялся" причем оченно, но за 2-3 минуты таки запускал sakexe (Справедливости ради следует заметить, что не все так гладко, иногда ruro зависает на мертвой точке "два квадратика" и не двигается оттудава секунд 30 - тогда со спокойной душой можно - killall wine и пробовать снова)4) Sakexe.exe - герой нашего рассказа. Собсно сам по себе не запускается (точнее запускается, но только толку от этого не много - в лучшем случае отругается на всяческие ненайденные файлики и закроется, в худшем же - вообще ничего даже не покажет), потому уместно с ним разбираться только после того как нормально заработает ruro. Собсно ruro, у меня, с первого "здорового" прохода запустил sakexe, я даже обрадовался. Но не тут то было...
Про методы защиты и неправильные АйПи - если кому не известно, то в папочке data игры есть такой специальный файлик sclientinfo.xml, в котором прописан некий сервер 207.44.229.133 с портом 6900, причем за сохранностью данного файлика очень бережно следит ruro.exe. Официальное объяснение - "это так для отвода глаз, а вообще оно коннектиться куды надо, ruro.exe сам все поправит", так вот - не знаю что правит ruro.exe у других и гиде, но у меня клиент именно ломится туды куды написано :lol: Не всегда и не только, но ломится... причем дорытись туды он не могет, потому как ессно - там ничего нету. Ладно скажем людям с прямым инетом, а я за HTTP proxy долго соображал гиде у меня грабли, фактичеки прогу которую использую для проброски через proxy - net/proxychains - переписал собственноручно, пока не понял что на 207.44.229.133:6900 ничего нету и туды мне все равно не приконнектится... Правильные люди спросят -"ты что дурак?", начто я твердо могу сказать - "есть немного".** Как проверить куда ломится клиент я думаю не составит особого труда (tcpdump вам в руки). Если у вас все хорошо и оно соединяется куда надо, то значит это проблема больше моя лично, или скажем сидящих за ПРОКСИ, тогда я за вас рад вы можете переходить к следующему разделу. Для тех у кого похожая проблема, напишу пару строчек.**
Весь секрет в том что нам надо коннектиться на server4.deeptown.net:16900, где и ждет нас сервер авторизации. Как этого добиться?.. Один из вариантов (мной повсеместно используемый) ipfw forward. Всего что нам потребуется:
а) в /etc/rc.conf включить (если еще не сделано) ipfw (rc.firewall) - читать /etc/default/rc.conf там описано какими опциями это включается, потому как боюсь есть определенные вариации на эту тему.
б) пересобрать ядро с включенными опциями
[code:2r0nrp71]
options IPFIREWALL
options IPDIVERT
options IPFIREWALL_FORWARD
[/code:2r0nrp71]
в) добавить в таблицу файрволла [code:2r0nrp71]ipfw add N-ый fwd 209.67.216.18,16900 tcp from <ваш АйПи> to 207.44.229.133 dst-port 6900 [/code:2r0nrp71]
Где N-ый - номер правила, желательно перед deny any from any to any =)), <ваш АйПи> - собсно ваш АйПи :lol:
Что оно делает? - все tcp пакеты идущие с <ваш АйПи> к 207.44.229.133 на порт 6900 поворачивать на 209.67.216.18 порт 16900.Еще один возможный вариант - менять АйПи в самом файлике, но учтите - ruro.exe его все равно поправит =))
Чудеса, да и только Если кому интересно, отдельно могу описать, как я настраивал чтоб это все чудо ходило через HTTP proxy с авторизацией. Но по большому счету, на данный момент у вас РО должен работатЬ и коннектиться. Дальше началось то, что я на данный момент здоровыми словами объяснить не могу. Хотя это уже больше запрос о помощи
Значиться - Вводим пароль, заходим, выбираем чара - мы в игре. "Ура!" - закричал я, почуяв запах победы. Все красиво, кругом всяко бегают - ляпота! (если не считать того что фон под тектами прозрачный, т.е. имя чара там просвечивается, всяческие объявления тоже просвечиваются, не эстетично - но перенести можно, еще немного притормаживает мышка - что тоже несомненно проблема, но с этим можно "придумать" методы борьбы) Кричать можно, что незамедлительно и предпринял. Накричавшись вдоволь, пооткрывав всяческие окошки, кликнул в направлени желаемого направления и... ПОШЁЛ - прям туды куда кликнул. Снова УРА! но... на следующий нетерпеливый мой клик, ответа не последовало. Кликнул сильнее - в ответ тишина, а вокруг бегают/скачут, прям издеваются. Решился на перезапуск. (5 минут) я снова в игре - один клик - один забег, дальше не ходим. Попробовал скиллы - телепорт раз - есть, второй... фиХваМ (строение такое у индейцев), другие скиллы тоже больше не работают. Так что игра стала больше похожа на шахматы, для того чтоб дойти до магазина пришлось 5 раз перезаходить (5*(5+2) = 35 минут минимум), причем приходится стратегически расчитывать чтоб с одного захода дальше пройти :lol: Есть мысли по этому поводу... но пока делиться не буду, подожду -- может быть у кого возникнет дельное предложение, а лучше личный опыт (а еще лучше объяснение с указанием на грабли!).Парочку замечаний Аккуратно вводите пароль ибо не правильная авторицая вызывает полный краш клиента с необходимостью перезахода. Да и вообще - любая ошибка клиента,вызывает его (клиента) закрытие и 5 минут ожидания перезапуска.
буду пополнять если вспомнюПриложение 1 мой конфиг вайна, не знаю правда кому оно надо :lol:
[code:2r0nrp71]
WINE REGISTRY Version 2
[wine]
"Windows" = "c:\windows"
"System" = "c:\windows\system"
"Temp" = "c:\windows\Temp"
"Path" = "c:\Windows;c:\windows\system"
"Profile" = "c:\windows\Profiles\Administrator"
"GraphicsDriver" = "x11drv"
"ShellLinker" = "wineshelllink"
[wineconf]
[Version]
"Windows" = "winxp"
[DllOverrides]
"oleaut32" = "builtin, native"
"ole32" = "builtin, native"
"comdlg32" = "builtin, native"
"shell32" = "builtin, native"
"shfolder" = "builtin, native"
"shlwapi" = "builtin, native"
"shdocvw" = "builtin, native"
"advapi32" = "builtin, native"
"msvcrt" = "native, builtin"
"mciavi.drv" = "native, builtin"
"mcianim.drv" = "native, builtin"
"d3drm" = "native, builtin"
"d3dxof" = "native, builtin"
"dpnhpast" = "native, builtin"
"msvcp60.dll" = "native, builtin"
"" = "builtin,native"
[x11drv]
"AllocSystemColors" = "100"
"PrivateColorMap" = "N"
"PerfectGraphics" = "N"
"Managed" = "Y"
"UseDGA" = "Y"
"UseXVidMode" = "Y"
"UseXRandR" = "Y"
"UseTakeFocus" = "Y"
"DXGrab" = "N"
"DesktopDoubleBuffered" = "Y"
[fonts]
"Default" = "-monotype-arial-----------koi8-r"
"DefaultFixed" = "-monotype-courier new-----------koi8-r"
"DefaultSerif" = "-monotype-times new roman-----------koi8-r"
"DefaultSansSerif" = "-monotype-arial----------*-koi8-r"
"Default" = "-cronyx-helvetica-"
"DefaultFixed" = "fixed"
"DefaultSerif" = "-cronyx-times-"
"DefaultSansSerif" = "-cronyx-helvetica-"
[FontDirs]
"dir1" = "/usr/X11R6/lib/X11/fonts/TrueType"
"dir3" = "/usr/X11R6/lib/X11/fonts/TTF"
[ppdev]
[spooler]
"FILE:" = "tmp.ps"
"LPT1:" = "|lpr"
"LPT2:" = "|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q -"
"LPT3:" = "/dev/lp3"
[ports]
[Debug]
[registry]
"LoadGlobalRegistryFiles" = "Y"
"LoadWindowsRegistryFiles" = "Y"
"SaveOnlyUpdatedKeys" = "Y"
[Clipboard]
"UsePrimary" = "0"
[afmdirs]
"1" = "/usr/share/ghostscript/fonts"
"3" = "/usr/X11R6/lib/X11/fonts/Type1"
"4" = "/usr/X11R6/lib/X11/fonts/URW"
[WinMM]
"Drivers" = "wineoss.drv" ; default for most common configurations
"WaveMapper" = "msacm.drv"
"MidiMapper" = "midimap.drv"
[dsound]
[Network]
[AppDefaults\_INS0432._MP\x11drv]
"Desktop" = "640x480"
[AppDefaults\_INS0466._MP\x11drv]
"Desktop" = "640x480"
[AppDefaults\_INS0576._MP\x11drv]
"Desktop" = "640x480"
[AppDefaults\_INS5176._MP\x11drv]
"Desktop" = "640x480"
[AppDefaults\_INS5576._MP\x11drv]
"Desktop" = "800x600"
[AppDefaults\sakexe.exe\x11drv]
"Desktop" = "800x600"[/wineconf]
[/code:2r0nrp71]
**PS Особаю благодарность всесторонне высказывается [F4st] Sigma, за то что я вообще залез в разбиралова с РО, так как я уже давно не играю, а кроме нее меня так доставать больше никто не умеет ** :lol: