John_Nash 41 Posted February 5, 2017 Продолжаю забег по граблям. С нуля осваиваю XFW & XVM. Решил скомпилировать XVM из исходников. (Резон такой: тестовый мод xfw.hello_world , компилится, но как его деплоить? На выходе один swf файл, а чтобы всё летало и стреляло нужно xfw скомпилированный разложить по нужным папкам, а файлов там богато. Догадаться, конечно, можно и руками, но в XVM-e оно заведомо автоматизировано. Вот и решил xvm скомпилить.) Однако вот так вот просто скачать из репозитория и запустить билд-скрипт не выходит. Потому как в исходниках xvm-а нету xfw. Мануал молчит. Оказалось, нужно содержимое XFW_ROOT_DIR скопировать в XVM_ROOT_DIR/src/ (Правда, пока с клиентом ещё не тестил.) С удовольствием добавил бы инфу в доки для xfw, или xfw.hello_world, буде отцы-командиры дадут доступ. Потому как сейчас пока помню, а потом забуду же. Да и другим может пригодиться. У меня всё только начинается, явно же будет куча дурацких мелочей, глядишь, и задокументирую. 1 Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #378607 Posted February 5, 2017 xfw не нужно руками копировать, он как subrepo добавлен. Так же для сборки нужна libpython, которая тоже как subrepo подключена. В xfw.hello_world подразумевается, что xfw берется уже собранный из ночников, и из него .swc файлы копируются в папку swc/, по идее этого должно быть достаточно для сборки. Насчет док - согласен, надо бы их подробней написать. Quote Share this post Link to post Short link Share on other sites
John_Nash 41 #378641 Posted February 5, 2017 В xfw.hello_world подразумевается, что xfw берется уже собранный из ночников, и из него .swc файлы копируются в папку swc/, по идее этого должно быть достаточно для сборки. Спасибо за инфу. К сожалению, в доках по xfw.hello_world про это ничего, вот я и. Насчет док - согласен, надо бы их подробней написать. Я бы взялся, там не так и много. Раз уж я всё это ковыряю. Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #378649 Posted February 5, 2017 (edited) Для xfw.hello_world можешь просто сделать изменения в README.md и прислать pull request. Для http://xfw.readthedocs.io/ доступ может дать @Mr 13 или @Mixaill. Edited February 5, 2017 by sirmax Quote Share this post Link to post Short link Share on other sites
John_Nash 41 #378669 Posted February 5, 2017 Для xfw.hello_world можешь просто сделать изменения в README.md и прислать pull request. ОК, как только разберусь, то есть, когда у меня мод пойдёт на клиенте. Без этого как-то неудобно :-) Кстати, про xfw.hello_world. Он идёт без билд-скрипта. То есть там АС3 компилируется в swf и всё. А куда потом этот swf кидать? Непонятно. Почему, собственно, и взялся за xvm -- думал посмотреть, разобраться. Отчасти и разобрался, из билд-скриптов, вот куда xfw складывать. Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #378674 Posted February 5, 2017 Там есть test.cmd, который копирует куда надо. Quote Share this post Link to post Short link Share on other sites
John_Nash 41 #378750 Posted February 6, 2017 Там есть test.cmd, который копирует куда надо. Спасибо. Уже попробовал скопировать по этому пути. Не взлетело. Как я понимаю, xfw.hello_world после залогинивания должен рисовать лого xvm ну и хелло пишет. Или нет? По смыслу xfw.hello_world предполагает уже развернутый xfw. А xfw отдельно от xvm-а не разворачивается. То есть файлы компилятся, но как их расфасовывать в папке res_mods не так очевидно. Оно, конечно, можно эти пуи извлечь из xvm-овских скриптов. Решил всё же срезать путь и поставить xvm, а потом подбавить файлик xfw.hello_world в нужную папку. Не взлетело. Подозреваю, что зависимости xfw.hello_world от xfw собраны в файлах репо. Но опять же, по каким директориям их раскладывать в res_mods непонятно. Попробую найти те же файлы в дистрибутиве xfw и перетащить as3-проект xfw.hello_world в сорцы xvm и там искать нужные зависимости. Потом выкинуть все остальные моды. Да, изврат, но как же иначе развернуть этот тестовый мод. Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #378756 Posted February 6, 2017 Тв swc в hello.world обновил? XFW, действительно, должен ставиться отдельно. Quote Share this post Link to post Short link Share on other sites
John_Nash 41 #378757 Posted February 6, 2017 (edited) Тв swc в hello.world обновил? В смысе -- в проекте? Не-а. Брать их из последнего релиза xfw ? Edited February 6, 2017 by John_Nash Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #378762 Posted February 6, 2017 Да Quote Share this post Link to post Short link Share on other sites
John_Nash 41 #378766 Posted February 6, 2017 Тв swc в hello.world обновил? Сделал. Всё равно не работает. Файлы для swc папки в проекте xfw.hello_world взял из скомпилированных сорцев последней официальной версии xvm 6.5.4, которую удалось скомпилить и которая работает с клиентом игры. Мод должен же рисовать лого прилогине -- не рисует. Ещё он должен писать всякое в лог -- в xvm.log ничего не пишет. Хотя xvm этот мод немножко видит, и пишет в этот файл вот что: 2017-02-06 18:42:42: xvm_integrity results: incorrect!extra file res_mods/mods/packages/xfw_hello_world/as_battle/xfw_hello_world.swfextra file res_mods/mods/packages/xfw_hello_world/python/__init__.py Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #378767 Posted February 6, 2017 Вроде он в бою должен рисовать. Quote Share this post Link to post Short link Share on other sites
John_Nash 41 #378770 Posted February 6, 2017 Ура! в бою рисует! СПАСИБО. Щас гляну логи и начну все остальные моды выкидывать. А в логи не пишет ничего, хотя в акшионскриптах в конструкторах есть строчки типа DebugUtils.LOG_DEBUG("XFW: Hello, world!"); Кстати, что работает по заходу в бой, это очень неудобно для тестирования. Вот заодно попробую и изменить :) Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #378771 Posted February 6, 2017 Для проверки боя есть реплеи. Для ангарных модов нужно использовать wg_lobby.swc. Для логов есть Logger. В общем, лучше примеры смотреть в XVM. Quote Share this post Link to post Short link Share on other sites
John_Nash 41 #378773 Posted February 6, 2017 Для проверки боя есть реплеи. Да, с реплеями я протупил. Всё же раз xfw.hello_world заработал, попробую обновить для него доки. Может быть, стоит проверить, работает ли он со старыми версиями swc библиотек. Хотя ну его. Напишу в доках и норм. Кстати, пока возился, обратил внимание, что функция для пинга серверов написана на C. Почему? Разве в питоне нет подходящей библиотеки? Или оно тормозит? Quote Share this post Link to post Short link Share on other sites
Mixaill 1,740 #378783 Posted February 6, 2017 Кстати, пока возился, обратил внимание, что функция для пинга серверов написана на C. Почему? Разве в питоне нет подходящей библиотеки? Или оно тормозит?Питоновоскому пингу нужен запуск игры с правами администратора, а ВГшный показывает всё что угодно, кроме самого пинга. Quote Share this post Link to post Short link Share on other sites
John_Nash 41 #378813 Posted February 7, 2017 Питоновоскому пингу нужен запуск игры с правами администратора, а ВГшный показывает всё что угодно, кроме самого пинга. Спасибо. Странно, что питоновский пинг требует прав админа, ну, тут уж ничего не сделать. Хотя если так легко обойти, через нативные внешние модули -- странно. А запускать игру с правами админа не вариант? Небезопасно? Сделал форк репо xfw.hello_world на битбакете, обновил файлы библиотек, добавил инфу в ридми. Заслал пулл реквест. Автор xfw.hello_world вроде бы Олег Савченко, но в списке мемберов XVM-а его не нашёл. Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #378824 Posted February 7, 2017 Я смержил. Quote Share this post Link to post Short link Share on other sites
John_Nash 41 #378837 Posted February 7, 2017 Я смержил. Спасибо. Кажется, боьших глупостей не написал. Навстречу следующим граблям :) Quote Share this post Link to post Short link Share on other sites
Mixaill 1,740 #378839 Posted February 7, 2017 (edited) Странно, что питоновский пинг требует прав админа, ну, тут уж ничего не сделать. Они решили его сделать через Raw Sockets, которые требуют прав администратора Хотя если так легко обойти, через нативные внешние модули -- странно. Мы используем функцию IcmpSendEcho() из Windows API, ей права администратора не нужны. А запускать игру с правами админа не вариант? Небезопасно? Во-первых да, а во-вторых, у игрока банально может быть учетная запись пользователя. Автор xfw.hello_world вроде бы Олег Савченко, но в списке мемберов XVM-а его не нашёл. mr13, пятая строчка :) Edited February 7, 2017 by Mixaill Quote Share this post Link to post Short link Share on other sites