Jump to content
Korean Random
John_Nash

Сборка XVM из исходников: мелочи

Recommended Posts

Продолжаю забег по граблям. С нуля осваиваю XFW & XVM.

 

Решил скомпилировать XVM из исходников. (Резон такой: тестовый мод xfw.hello_world , компилится, но как его деплоить? На выходе один swf файл, а чтобы всё летало и стреляло нужно xfw скомпилированный разложить по нужным папкам, а файлов там богато. Догадаться, конечно, можно и руками, но в XVM-e оно заведомо автоматизировано. Вот и решил xvm скомпилить.)

 

Однако вот так вот просто скачать из репозитория и запустить билд-скрипт не выходит. Потому как в исходниках xvm-а нету xfw. Мануал молчит.

 

Оказалось, нужно содержимое XFW_ROOT_DIR скопировать в XVM_ROOT_DIR/src/

(Правда, пока с клиентом ещё не тестил.)

 

С удовольствием добавил бы инфу в доки для xfw, или xfw.hello_world,  буде отцы-командиры дадут доступ. Потому как сейчас пока помню, а потом забуду же. Да и другим может пригодиться. У меня всё только начинается,  явно же будет куча дурацких мелочей, глядишь, и задокументирую.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

xfw не нужно руками копировать, он как subrepo добавлен. Так же для сборки нужна libpython, которая тоже как subrepo подключена.


В xfw.hello_world подразумевается, что xfw берется уже собранный из ночников, и из него .swc файлы копируются в папку swc/, по идее этого должно быть достаточно для сборки.

Насчет док - согласен, надо бы их подробней написать.

Share this post


Link to post

Short link
Share on other sites

 

 

В xfw.hello_world подразумевается, что xfw берется уже собранный из ночников, и из него .swc файлы копируются в папку swc/, по идее этого должно быть достаточно для сборки.

 

Спасибо за инфу. К сожалению, в доках по xfw.hello_world про это ничего, вот я и.

 

 

 

Насчет док - согласен, надо бы их подробней написать.

 

Я бы взялся, там не так и много. Раз уж я всё это ковыряю.

Share this post


Link to post

Short link
Share on other sites

 

 

Для xfw.hello_world можешь просто сделать изменения в README.md и прислать pull request.

 

ОК, как только разберусь, то есть, когда у меня мод пойдёт на клиенте. Без этого как-то неудобно :-)

 

Кстати, про xfw.hello_world. Он идёт без билд-скрипта. То есть там АС3 компилируется в swf и всё. А куда потом этот swf кидать? Непонятно. Почему, собственно, и взялся за xvm -- думал посмотреть, разобраться. Отчасти и разобрался, из билд-скриптов, вот куда xfw  складывать.

Share this post


Link to post

Short link
Share on other sites

 

 

Там есть 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 и там искать нужные зависимости. Потом выкинуть все остальные моды. Да, изврат, но как же иначе развернуть этот тестовый мод.

Share this post


Link to post

Short link
Share on other sites

Тв swc в hello.world обновил?

XFW, действительно, должен ставиться отдельно.

Share this post


Link to post

Short link
Share on other sites
Тв swc в hello.world обновил?

В смысе -- в проекте? Не-а. Брать их из последнего релиза xfw ?

Edited by John_Nash

Share this post


Link to post

Short link
Share on other sites

 

 

Тв 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.swf
extra file res_mods/mods/packages/xfw_hello_world/python/__init__.py

Share this post


Link to post

Short link
Share on other sites

Ура! в бою рисует! СПАСИБО.

 

Щас гляну логи и начну все остальные моды выкидывать.


А в логи не пишет ничего, хотя в акшионскриптах в конструкторах есть строчки типа

DebugUtils.LOG_DEBUG("XFW: Hello, world!");

 

Кстати, что работает по заходу в бой, это очень неудобно для тестирования. Вот заодно попробую и изменить :)

Share this post


Link to post

Short link
Share on other sites

Для проверки боя есть реплеи.

Для ангарных модов нужно использовать wg_lobby.swc.

Для логов есть Logger.

В общем, лучше примеры смотреть в XVM.

Share this post


Link to post

Short link
Share on other sites

 

 

Для проверки боя есть реплеи.

Да, с реплеями я протупил.

 

Всё же раз xfw.hello_world заработал, попробую обновить для него доки.

 

Может быть, стоит проверить, работает ли он со старыми версиями swc библиотек. Хотя ну его. Напишу в доках и норм.

 

Кстати, пока возился, обратил внимание, что функция для пинга серверов написана на C. Почему? Разве в питоне нет подходящей библиотеки?  Или оно тормозит?

Share this post


Link to post

Short link
Share on other sites

Кстати, пока возился, обратил внимание, что функция для пинга серверов написана на C. Почему? Разве в питоне нет подходящей библиотеки?  Или оно тормозит?

Питоновоскому пингу нужен запуск игры с правами администратора, а ВГшный показывает всё что угодно, кроме самого пинга.

Share this post


Link to post

Short link
Share on other sites

 

 

Питоновоскому пингу нужен запуск игры с правами администратора, а ВГшный показывает всё что угодно, кроме самого пинга.

Спасибо.

 

Странно, что питоновский пинг требует прав админа, ну, тут уж ничего не сделать. Хотя если так легко обойти, через нативные внешние модули -- странно.  А запускать игру с правами админа не вариант? Небезопасно?

 

Сделал форк репо xfw.hello_world на битбакете, обновил файлы библиотек, добавил инфу в ридми. Заслал пулл реквест. Автор xfw.hello_world вроде бы Олег Савченко, но в списке мемберов XVM-а его не нашёл.

Share this post


Link to post

Short link
Share on other sites

 

 

Я смержил.

Спасибо. Кажется, боьших глупостей не написал.

 

Навстречу следующим граблям :)

Share this post


Link to post

Short link
Share on other sites

Странно, что питоновский пинг требует прав админа, ну, тут уж ничего не сделать.

Они решили его сделать через Raw Sockets, которые требуют прав администратора

 

Хотя если так легко обойти, через нативные внешние модули -- странно.

Мы используем функцию IcmpSendEcho() из Windows API, ей права администратора не нужны.

 

А запускать игру с правами админа не вариант? Небезопасно?

Во-первых да, а во-вторых, у игрока банально может быть учетная запись пользователя.

 

Автор xfw.hello_world вроде бы Олег Савченко, но в списке мемберов XVM-а его не нашёл.

mr13, пятая строчка :)

Edited by Mixaill

Share this post


Link to post

Short link
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...