b0rg 0 Posted December 4, 2012 Надо отметить, что вы, ребята, сделали колоссальную и очень полезную для общества работу по xvm-stat моду :) К сожалению ощутить полезность оленеметра в полной мере у меня не вышло, т.к. установить dokan на Win7 x64 с первого раза не получилось. И тут я озаботился вопросом: а на хрена, собственно, козе dokan? Ведь устанавливать неподписанный низкоуровневый системный драйвер только для того, что бы поднять вебсервер на локалхосте, несколько противоречит идеологии .NET. Покопавшись в кодезах Xvm-stat у меня сложилась картина того, что там происходит (поправьте меня где я не прав): Низкоуровневый dokan поднимает вебсервер с файловой системы wot.Server наследует DokanNet, и через Json открывает функции GetFileInformation, ReadFile заодно wot.Server поднимает маленький in memory cache, чтоб два раза не вставать. далее wot.Server работает как proxy между flash и xvm-stat серверами. Основная работа происходит в GetFileInformation, что парсит JSON и обрабатывает @LOG, @LOGSTAT, @VAR etc. Назначение ReadFile я немного не понял. Т.е. что бы убрать dokan нам достаточно поднять вебсервер на локалхосте и сделать один JSON сервис, что будет поддерживать xvm протокол. На мой взгляд, это можно сделать: IIS любой embedded web server IIS немного тяжеловат для установки, поэтому можно использовать любой маленький вебсервер для .NET. Консольный CassiniDev очень замечательно подходит http://cassinidev.codeplex.com У меня счас как раз есть немного времени и я могу слелать этот JSON сервис на CassiniDev. Вопросы насколько тяжело будет поменять flash, что бы он не использовал dokan? Есть ли юнит тесты для flash <-> dokan протокола, и если нет, о насколько тяжело их будет сделать? Стоит ли с этим заморачиваться? Заморачиваться, думаю стоит, т.к. далеко не у каждого юзера получается установить dokan, когда есть гораздо более легкие решения. Что думаете? Quote Share this post Link to post Short link Share on other sites
KPOXA3ABP 78 #22643 Posted December 4, 2012 ScaleForm (Flash движок в WoT) умеет только обращаться к ФС и только по относительным путям. Сетевые подключения невозможны. http://gameware.autodesk.com/documents/gfx_4.0_flash_support.pdf XMLSocket No Был бы HTTP, мы бы так не извращались. :) Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #22650 Posted December 4, 2012 (edited) Пипец, и нафига было так много писать. Лучше бы сам в вопросе разобрался. Низкоуровневый dokan поднимает вебсервер с файловой системы Собственно, ошибка с этого места. "вебсервер с файловой системы" - это, собственно, и есть то, для чего нужен Dokan. Какой веб-сервер умеет мониторить запросы к ФС? Edited December 4, 2012 by sirmax Quote Share this post Link to post Short link Share on other sites
b0rg 0 #22656 Posted December 4, 2012 Пипец, и нафига было так много писать. Лучше бы сам в вопросе разобрался. Собственно, ошибка с этого места. "вебсервер с файловой системы" - это, собственно, и есть то, для чего нужен Dokan. Какой веб-сервер умеет мониторить запросы к ФС? Мне показалось, что писать "на фига собственно dokan" будет неуважительно по отношению к разработчикам. Но разработчикам как водицца не угодить :) Quote Share this post Link to post Short link Share on other sites
arzakon 12 #22660 Posted December 4, 2012 Основная работа происходит в GetFileInformation, что парсит JSON и обрабатывает @LOG, @LOGSTAT, @VAR etc. Назначение ReadFile я немного не понял. GetFileInformation отрабатывает, когда ось пытается прочитать свойства файла. Ну там размер, пермишены и прочее. В итоге имя файла передается в этот метод, в котором оно уже интерпретируется как команда. А результат выполнения команды отдается наружу как раз через ReadFile. В итоге, с точки зрения операционки, всё сводится к чтению файла. Запусти xvm-stat, с командной строки зайди в res_mods и напиши, например: type ".stat\@get_version" Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #22662 Posted December 4, 2012 (edited) Мне показалось, что писать "на фига собственно dokan" будет неуважительно по отношению к разработчикам. Но разработчикам как водицца не угодить :) О да, мы такие. :) Кстати, кроме Dokan предлагали еще один возможный вариант решения - отлавливать обращения к ФС по тому же принципу, как работает procmon. Но я не разбирался с ним, наверняка какие-то системные евенты надо отлавливать в привилегированном режиме. Плюс ответ как-то пересылать обратно - это вводить какой-то буферный файлик, следить чтобы ФС его не закэшировала между запросами, а из Flash читать два файла вместо одного - один запрос, второй - буферный файл. Еще как-то придумывать синхронизацию запрос-ответ. В общем, все это сложно, так что пока лучше Dokan ничего нет. И вообще, рекомендую всем срочно переходить на Linux, там xvm-stat уже тоже работает и без Dokan'а (спасибо arzakon). :) Edited December 4, 2012 by sirmax Quote Share this post Link to post Short link Share on other sites
b0rg 0 #22679 Posted December 4, 2012 О да, мы такие. :) И вообще, рекомендую всем срочно переходить на Linux, там xvm-stat уже тоже работает и без Dokan'а (спасибо arzakon). :) Я и сам такой :) Погуглил немного на тему ScaleForm + .net + Dokan, но ничего путного не нашлось. Stackoverflow тоже ничего путного не говорит. Видимо придется побольше потрахаться с доканом на 64 битных виндах, с наскока не получилось, надо подольше покрутить. Но флешевский фреймворк, который не может достучаться до веба, меня честно сказать удивил. С другой стороны, открытый веб в геймдевовском фреймворке тоже не очень хорошо. Словом щщастья нет. 1 1 Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #22687 Posted December 4, 2012 Погуглил немного на тему ScaleForm + .net + Dokan, но ничего путного не нашлось. Stackoverflow тоже ничего путного не говорит. Видимо придется побольше потрахаться с доканом на 64 битных виндах, с наскока не получилось, надо подольше покрутить. Так работает нормально на W7x64 - у меня такая же. Ставишь инсталлятор с сайта Dokan и все, без танцев и бубнов. 2 Quote Share this post Link to post Short link Share on other sites
NikolayHAOS 274 #22694 Posted December 4, 2012 без танцев и бубнов. Абсолютно верно, не убавить не прибавить. (и еще на трёх моих системах Win7 x64) Quote Share this post Link to post Short link Share on other sites
b0rg 0 #22702 Posted December 4, 2012 (edited) Абсолютно верно, не убавить не прибавить. (и еще на трёх моих системах Win7 x64) Может руки кривые, может торопился, Я качнул архив с батничком с сайта dokan. Первый раз его поставил, на меня винды накричали, что мол-де драйвер не подписанный. Ну я их перевел в тестовый режим, что бы можно было неподписанные драйвера ставить. Только после этого все равно не заработало. Теперь, чувствую, надо снести старый (где-то я тут uninstall батничек видел), а потом попробовать воткнуть инсталлер. Может и получится. Только, блин, у нас счас предновогодний релиз, и когда я прихожу домой мне хочется всех убить, а не с батничками ковыряцца... Edited December 4, 2012 by b0rg 1 1 Quote Share this post Link to post Short link Share on other sites
NikolayHAOS 274 #22723 Posted December 4, 2012 @b0rg, Не помню чтоб мне Винда писала про неподписаный драйвер, (хотя эта фича у мну работает, у мну Оригинальный дистрибутив и не каких твиков, даже Контроль учетных записей пашет) Ща проверил, нет сообщений о неподписынных дровах. Win 7 x64 SP1 U + много (почти все) обновления. Ах да ставил на чистую систему. 1 Quote Share this post Link to post Short link Share on other sites
13 3,395 #22812 Posted December 5, 2012 Может руки кривые, может торопился, Я качнул архив с батничком с сайта dokan. Из третьего вытекает и первое и второе. Какой ещё "архив с батничком на сайте dokan"? У них вполне себе цивильный инсталятор, и ссылки в нашей документации указаны на него же. Если бы вы скачали и установили его, никаких проблем не было бы. 1 Quote Share this post Link to post Short link Share on other sites
b0rg 0 #23375 Posted December 7, 2012 Из третьего вытекает и первое и второе. Какой ещё "архив с батничком на сайте dokan"? У них вполне себе цивильный инсталятор, и ссылки в нашей документации указаны на него же. Если бы вы скачали и установили его, никаких проблем не было бы. Ну я качнул Xvm, смотрю ему нужен докан. На хрена, думаю, козе докан - полез форумы читать, как умная Маша, блин. На форумах пишут - качните новый докан.zip и его ставьте с геморроями. Ну я и скачал докан.зип с геморроями. На днях переделал dokan_install.cmd в dokan_uninstall.cmd, и синсталлил версию докана из нормального инсталлятора все встало без проблем. Хотя может потому, что винда уже в тестовом режиме. Теперь смотрю на статистику в полной мере. Но она тоже не радует... :) В общем, многие знания - многие печали. Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #23393 Posted December 7, 2012 Теперь смотрю на статистику в полной мере. Но она тоже не радует... :) В общем, многие знания - многие печали. Типа: А нахрена лягушке XVM? :) Quote Share this post Link to post Short link Share on other sites
b0rg 0 #23416 Posted December 7, 2012 Типа: А нахрена лягушке XVM? :) Часики очень полезны, надо бы еще в ангар часики воткнуть, что бы бороцца с синдромом "еще одной партии перед сном" :) Статистика тоже помогает: при выборе из двух тяжей, лучше поехать поддержать игрока с хорошей статой нежели с плохой. Кого из красных первого валить. На чью тактику обращать внимания. и т.д. Да и если с красной стороны все филетовые, то лучше поехать быстро слицца и брать следующий танчик. Так же очень веселит, когда какой нибудь игрок с 30% начинает вопить в чате "вы все нуубы" и т.д. :) Словом очень полезная весчь. Надо бы еще интерфейс под себя настроить получше, тогда вообще хорошо будет. Хотелось бы в полной инфе по tab уровень танчиков на иконках, и выравнивание надписей стата модель танчика, а то читать пока еще не очень удобно, т.к. танчик по иконке еще не определяю. Quote Share this post Link to post Short link Share on other sites
Turbina 52 #23423 Posted December 7, 2012 У меня на Windows 7,x-64 стал с первого раза и без проблем с инсталятора с их сайта. Quote Share this post Link to post Short link Share on other sites