b0rg Posted December 4, 2012 Share 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 Link to comment Short link Share on other sites More sharing options...
KPOXA3ABP Posted December 4, 2012 Share Posted December 4, 2012 ScaleForm (Flash движок в WoT) умеет только обращаться к ФС и только по относительным путям. Сетевые подключения невозможны. http://gameware.autodesk.com/documents/gfx_4.0_flash_support.pdf XMLSocket No Был бы HTTP, мы бы так не извращались. :) @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted December 4, 2012 Share Posted December 4, 2012 (edited) Пипец, и нафига было так много писать. Лучше бы сам в вопросе разобрался. Низкоуровневый dokan поднимает вебсервер с файловой системы Собственно, ошибка с этого места. "вебсервер с файловой системы" - это, собственно, и есть то, для чего нужен Dokan. Какой веб-сервер умеет мониторить запросы к ФС? Edited December 4, 2012 by sirmax @ Quote Link to comment Short link Share on other sites More sharing options...
b0rg Posted December 4, 2012 Author Share Posted December 4, 2012 Пипец, и нафига было так много писать. Лучше бы сам в вопросе разобрался. Собственно, ошибка с этого места. "вебсервер с файловой системы" - это, собственно, и есть то, для чего нужен Dokan. Какой веб-сервер умеет мониторить запросы к ФС? Мне показалось, что писать "на фига собственно dokan" будет неуважительно по отношению к разработчикам. Но разработчикам как водицца не угодить :) @ Quote Link to comment Short link Share on other sites More sharing options...
arzakon Posted December 4, 2012 Share Posted December 4, 2012 Основная работа происходит в GetFileInformation, что парсит JSON и обрабатывает @LOG, @LOGSTAT, @VAR etc. Назначение ReadFile я немного не понял. GetFileInformation отрабатывает, когда ось пытается прочитать свойства файла. Ну там размер, пермишены и прочее. В итоге имя файла передается в этот метод, в котором оно уже интерпретируется как команда. А результат выполнения команды отдается наружу как раз через ReadFile. В итоге, с точки зрения операционки, всё сводится к чтению файла. Запусти xvm-stat, с командной строки зайди в res_mods и напиши, например: type ".stat\@get_version" @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted December 4, 2012 Share Posted December 4, 2012 (edited) Мне показалось, что писать "на фига собственно dokan" будет неуважительно по отношению к разработчикам. Но разработчикам как водицца не угодить :) О да, мы такие. :) Кстати, кроме Dokan предлагали еще один возможный вариант решения - отлавливать обращения к ФС по тому же принципу, как работает procmon. Но я не разбирался с ним, наверняка какие-то системные евенты надо отлавливать в привилегированном режиме. Плюс ответ как-то пересылать обратно - это вводить какой-то буферный файлик, следить чтобы ФС его не закэшировала между запросами, а из Flash читать два файла вместо одного - один запрос, второй - буферный файл. Еще как-то придумывать синхронизацию запрос-ответ. В общем, все это сложно, так что пока лучше Dokan ничего нет. И вообще, рекомендую всем срочно переходить на Linux, там xvm-stat уже тоже работает и без Dokan'а (спасибо arzakon). :) Edited December 4, 2012 by sirmax @ Quote Link to comment Short link Share on other sites More sharing options...
b0rg Posted December 4, 2012 Author Share Posted December 4, 2012 О да, мы такие. :) И вообще, рекомендую всем срочно переходить на Linux, там xvm-stat уже тоже работает и без Dokan'а (спасибо arzakon). :) Я и сам такой :) Погуглил немного на тему ScaleForm + .net + Dokan, но ничего путного не нашлось. Stackoverflow тоже ничего путного не говорит. Видимо придется побольше потрахаться с доканом на 64 битных виндах, с наскока не получилось, надо подольше покрутить. Но флешевский фреймворк, который не может достучаться до веба, меня честно сказать удивил. С другой стороны, открытый веб в геймдевовском фреймворке тоже не очень хорошо. Словом щщастья нет. 1 1 @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted December 4, 2012 Share Posted December 4, 2012 Погуглил немного на тему ScaleForm + .net + Dokan, но ничего путного не нашлось. Stackoverflow тоже ничего путного не говорит. Видимо придется побольше потрахаться с доканом на 64 битных виндах, с наскока не получилось, надо подольше покрутить. Так работает нормально на W7x64 - у меня такая же. Ставишь инсталлятор с сайта Dokan и все, без танцев и бубнов. 2 @ Quote Link to comment Short link Share on other sites More sharing options...
NikolayHAOS Posted December 4, 2012 Share Posted December 4, 2012 без танцев и бубнов. Абсолютно верно, не убавить не прибавить. (и еще на трёх моих системах Win7 x64) @ Quote Link to comment Short link Share on other sites More sharing options...
b0rg Posted December 4, 2012 Author Share Posted December 4, 2012 (edited) Абсолютно верно, не убавить не прибавить. (и еще на трёх моих системах Win7 x64) Может руки кривые, может торопился, Я качнул архив с батничком с сайта dokan. Первый раз его поставил, на меня винды накричали, что мол-де драйвер не подписанный. Ну я их перевел в тестовый режим, что бы можно было неподписанные драйвера ставить. Только после этого все равно не заработало. Теперь, чувствую, надо снести старый (где-то я тут uninstall батничек видел), а потом попробовать воткнуть инсталлер. Может и получится. Только, блин, у нас счас предновогодний релиз, и когда я прихожу домой мне хочется всех убить, а не с батничками ковыряцца... Edited December 4, 2012 by b0rg 1 1 @ Quote Link to comment Short link Share on other sites More sharing options...
NikolayHAOS Posted December 4, 2012 Share Posted December 4, 2012 @b0rg, Не помню чтоб мне Винда писала про неподписаный драйвер, (хотя эта фича у мну работает, у мну Оригинальный дистрибутив и не каких твиков, даже Контроль учетных записей пашет) Ща проверил, нет сообщений о неподписынных дровах. Win 7 x64 SP1 U + много (почти все) обновления. Ах да ставил на чистую систему. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
13 Posted December 5, 2012 Share Posted December 5, 2012 Может руки кривые, может торопился, Я качнул архив с батничком с сайта dokan. Из третьего вытекает и первое и второе. Какой ещё "архив с батничком на сайте dokan"? У них вполне себе цивильный инсталятор, и ссылки в нашей документации указаны на него же. Если бы вы скачали и установили его, никаких проблем не было бы. 1 @ Quote Link to comment Short link Share on other sites More sharing options...
b0rg Posted December 7, 2012 Author Share Posted December 7, 2012 Из третьего вытекает и первое и второе. Какой ещё "архив с батничком на сайте dokan"? У них вполне себе цивильный инсталятор, и ссылки в нашей документации указаны на него же. Если бы вы скачали и установили его, никаких проблем не было бы. Ну я качнул Xvm, смотрю ему нужен докан. На хрена, думаю, козе докан - полез форумы читать, как умная Маша, блин. На форумах пишут - качните новый докан.zip и его ставьте с геморроями. Ну я и скачал докан.зип с геморроями. На днях переделал dokan_install.cmd в dokan_uninstall.cmd, и синсталлил версию докана из нормального инсталлятора все встало без проблем. Хотя может потому, что винда уже в тестовом режиме. Теперь смотрю на статистику в полной мере. Но она тоже не радует... :) В общем, многие знания - многие печали. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted December 7, 2012 Share Posted December 7, 2012 Теперь смотрю на статистику в полной мере. Но она тоже не радует... :) В общем, многие знания - многие печали. Типа: А нахрена лягушке XVM? :) @ Quote Link to comment Short link Share on other sites More sharing options...
b0rg Posted December 7, 2012 Author Share Posted December 7, 2012 Типа: А нахрена лягушке XVM? :) Часики очень полезны, надо бы еще в ангар часики воткнуть, что бы бороцца с синдромом "еще одной партии перед сном" :) Статистика тоже помогает: при выборе из двух тяжей, лучше поехать поддержать игрока с хорошей статой нежели с плохой. Кого из красных первого валить. На чью тактику обращать внимания. и т.д. Да и если с красной стороны все филетовые, то лучше поехать быстро слицца и брать следующий танчик. Так же очень веселит, когда какой нибудь игрок с 30% начинает вопить в чате "вы все нуубы" и т.д. :) Словом очень полезная весчь. Надо бы еще интерфейс под себя настроить получше, тогда вообще хорошо будет. Хотелось бы в полной инфе по tab уровень танчиков на иконках, и выравнивание надписей стата модель танчика, а то читать пока еще не очень удобно, т.к. танчик по иконке еще не определяю. @ Quote Link to comment Short link Share on other sites More sharing options...
Turbina Posted December 7, 2012 Share Posted December 7, 2012 У меня на Windows 7,x-64 стал с первого раза и без проблем с инсталятора с их сайта. @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.