Перейти к содержимому

Фото

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


  • Чтобы отвечать, сперва войдите на форум
22 ответов в теме

#1 John_Nash

John_Nash
  • Пользователь
  • 49 сообщений
  • Nick:John Nash

Опубликовано 05 Февраль 2017 - 11:31

Продолжаю забег по граблям. С нуля осваиваю 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

#2 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 673 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 05 Февраль 2017 - 12:52

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


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

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


  • 0

#3 John_Nash

John_Nash
  • Пользователь
  • 49 сообщений
  • Nick:John Nash

Опубликовано 05 Февраль 2017 - 17:45

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

 

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

 

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

 

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


  • 0

#4 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 673 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 05 Февраль 2017 - 18:25

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

Для http://xfw.readthedocs.io/ доступ может дать Mr 13 или Mixaill.


Изменено: sirmax, 05 Февраль 2017 - 18:25

  • 0

#5 John_Nash

John_Nash
  • Пользователь
  • 49 сообщений
  • Nick:John Nash

Опубликовано 05 Февраль 2017 - 20:07

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

 

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

 

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


  • 0

#6 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 673 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 05 Февраль 2017 - 20:36

Там есть test.cmd, который копирует куда надо.


  • 0

#7 John_Nash

John_Nash
  • Пользователь
  • 49 сообщений
  • Nick:John Nash

Опубликовано 06 Февраль 2017 - 15:06

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


  • 0

#8 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 673 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 06 Февраль 2017 - 15:43

Тв swc в hello.world обновил?
XFW, действительно, должен ставиться отдельно.
  • 0

#9 John_Nash

John_Nash
  • Пользователь
  • 49 сообщений
  • Nick:John Nash

Опубликовано 06 Февраль 2017 - 15:46

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

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


Изменено: John_Nash, 06 Февраль 2017 - 15:47

  • 0

#10 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 673 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 06 Февраль 2017 - 16:25

Да


  • 0

#11 John_Nash

John_Nash
  • Пользователь
  • 49 сообщений
  • Nick:John Nash

Опубликовано 06 Февраль 2017 - 16:55

Тв 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


  • 0

#12 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 673 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 06 Февраль 2017 - 16:56

Вроде он в бою должен рисовать.


  • 0

#13 John_Nash

John_Nash
  • Пользователь
  • 49 сообщений
  • Nick:John Nash

Опубликовано 06 Февраль 2017 - 17:33

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

 

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


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

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

 

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


  • 0

#14 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 673 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 06 Февраль 2017 - 17:45

Для проверки боя есть реплеи.
Для ангарных модов нужно использовать wg_lobby.swc.
Для логов есть Logger.
В общем, лучше примеры смотреть в XVM.
  • 0

#15 John_Nash

John_Nash
  • Пользователь
  • 49 сообщений
  • Nick:John Nash

Опубликовано 06 Февраль 2017 - 18:00

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

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

 

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

 

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

 

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


  • 0

#16 Mixaill

Mixaill
  •  XVM Developer
  • 624 сообщений
  • Nick:Mixailos
  • WoT Server:RU (Русский)
  • Город: Минск

Опубликовано 06 Февраль 2017 - 22:12

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

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

#17 John_Nash

John_Nash
  • Пользователь
  • 49 сообщений
  • Nick:John Nash

Опубликовано 07 Февраль 2017 - 12:22

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

Спасибо.

 

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

 

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


  • 0

#18 sirmax

sirmax

    [XVM] Разработчик

  •  XVM Developer
  • 12 673 сообщений
  • Nick:sirmax2
  • WoT Server:RU (Русский)

Опубликовано 07 Февраль 2017 - 14:14

Я смержил.


  • 0

#19 John_Nash

John_Nash
  • Пользователь
  • 49 сообщений
  • Nick:John Nash

Опубликовано 07 Февраль 2017 - 16:57

Я смержил.

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

 

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


  • 0

#20 Mixaill

Mixaill
  •  XVM Developer
  • 624 сообщений
  • Nick:Mixailos
  • WoT Server:RU (Русский)
  • Город: Минск

Опубликовано 07 Февраль 2017 - 17:00

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

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

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

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

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

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

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

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


Изменено: Mixaill, 07 Февраль 2017 - 17:01

  • 0





0 пользователей читают эту тему

0 зарегистрированных, 0 гостей, 0 невидимых

© Mr 13