13 3,395 #100471 Posted September 15, 2013 @JustPotter, что имено не работает и где именно пишет Error? Опишите ситуацию подробнее, прикрепите скриншоты и логи (файлы XVM.log и Python.log из папки игры) Share this post Link to post Short link Share on other sites
JustPotter 0 #100558 Posted September 15, 2013 @JustPotter, что имено не работает и где именно пишет Error? Опишите ситуацию подробнее, прикрепите скриншоты и логи (файлы XVM.log и Python.log из папки игры) Error пишет там, где должен отображаться пинг к серверам И не показывает стату во время загрузки боя и в самом бою. Вот скрины и логи https://www.dropbox.com/s/m9oge6damwa1uib/python.log https://www.dropbox.com/s/86mszz1rhw4ape5/xvm.log OS: Xubuntu 13.04 Wine: 1.6 Share this post Link to post Short link Share on other sites
Yupi 505 #100590 Posted September 16, 2013 @JustPotter, пинг не работает потому что он сделан через виндовый ping.exe. Надо как-то скормить его вайну. Стату не показывает потому что она отключена в конфиге, включи и заработает. Share this post Link to post Short link Share on other sites
JustPotter 0 #100988 Posted September 16, 2013 @JustPotter, пинг не работает потому что он сделан через виндовый ping.exe. Надо как-то скормить его вайну. Стату не показывает потому что она отключена в конфиге, включи и заработает. Спасибо, конфиг правил ранее, но почему то не сохранился. Включил еще раз - работает. Share this post Link to post Short link Share on other sites
hash 26 #101739 Posted September 17, 2013 Виндозный ping.exe скормить не получиться никак, в Linux'е создание сетевых пакетов, обычному-ушастому юзеру запрещено, как следствие виндозный ping.exe работать будет но не сможет отослать ни единого пакета. Попытался сделать софт-лин с /bin/ping в <путь до WorldOfTanks.exe>/ping.exe, но ожидаемо это не спасло так-как формат вывода виндозного ping.exe и Linux'ового ping разный. Ща попробую сделать врапер чтоб вывод Linux'ового превращать в виндозный... Share this post Link to post Short link Share on other sites
thazideek 78 #102074 Posted September 18, 2013 (edited) Виндозный ping.exe скормить не получиться никак, в Linux'е создание сетевых пакетов, обычному-ушастому юзеру запрещено, как следствие виндозный ping.exe работать будет но не сможет отослать ни единого пакета. http://wiki.winehq.org/Ping Edited September 18, 2013 by melizetinger Share this post Link to post Short link Share on other sites
garaland 7 #102300 Posted September 18, 2013 народ а вы к wot на андройд будете делать xvm?? Share this post Link to post Short link Share on other sites
13 3,395 #102442 Posted September 18, 2013 Открепляю, т.к. начиная с XVM 5.0.0 использование XVMfs более не требуется для статистики под Linux/MacOS. Share this post Link to post Short link Share on other sites
hash 26 #103097 Posted September 19, 2013 http://wiki.winehq.org/Ping Пасиб за линк, не знал что Wine'шники одумлялись этим, но ситуации это не меняет. Виндозный ping.exe не работает а Linux'овый не прокатыввает так-как вывод не совместим. PS: Хотя, в последнем транке ping'ера есть какая-то система определения операционки и передача ping'у других параметров с иной обработкой вывода, так что надежда есть. :) Share this post Link to post Short link Share on other sites
sirmax 5,499 #103104 Posted September 19, 2013 PS: Хотя, в последнем транке ping'ера есть какая-то система определения операционки и передача ping'у других параметров с иной обработкой вывода, так что надежда есть. :) Осталось только чтобы кто-то с линухом довел это до ума. Share this post Link to post Short link Share on other sites
Harkonnen 6 #103257 Posted September 20, 2013 http://wiki.winehq.org/Ping Эта устаревшая вики. В современом вайне ping.exe - это заглушка, ждущая -w секунд и возвращающая 0. (В винде нету команды sleep, скрипты всякие командлайные вместо этого используют ping -w). Share this post Link to post Short link Share on other sites
thazideek 78 #103283 Posted September 20, 2013 Эта устаревшая вики. Да, скорее всего вы правы (давно уже wine не пользовался). Просто у меня в конце 2007 (если не путаю). на компе стоял тогда еще Debian Etch, была проблема с ping.exe. Помнится, перерыл половину Интернета тогда и на одном из сайтов нашел варианты решения и эту ссылку. Ссылку эту сейчас легко нашел, т.к. первой же строчкой выдает в поисковике при запросе "wine ping". Share this post Link to post Short link Share on other sites
hash 26 #105709 Posted September 25, 2013 В wine wiki на самом деле написано что ничего работать не будет, так как давай права ping.exe или нет, а процесс будет не ping.exe а wine а потом wineserver, а им всем этого надовать... В общем не вариант, да ещё и в wine и wineserver стоит проверка на всякие попытки не коректных привелигерованных действий и отбой, чтоб всякие бяки из под wine не могли ничего плохого системе сделать. Осталось только чтобы кто-то с линухом довел это до ума. А в этом "доведении" нужно знать python? Share this post Link to post Short link Share on other sites
sirmax 5,499 #105715 Posted September 25, 2013 В wine wiki на самом деле написано что ничего работать не будет, так как давай права ping.exe или нет, а процесс будет не ping.exe а wine а потом wineserver, а им всем этого надовать... В общем не вариант, да ещё и в wine и wineserver стоит проверка на всякие попытки не коректных привелигерованных действий и отбой, чтоб всякие бяки из под wine не могли ничего плохого системе сделать. А в этом "доведении" нужно знать python? немного нужно, тем более что вроде все уже сделано, нужно только как-то определить OS. Скорей всего она из-под wine определяется как винда, поэтому и не работает. Нет линуха под рукой, на котором можно было бы проверить. Share this post Link to post Short link Share on other sites
hash 26 #105787 Posted September 25, 2013 (edited) А может проще будет обойтись без определения через python а воспользоваться стандартной системной командой? "uname" есть во всех Линуксах, если её выполнить без параметров она вернёт "тип" Линукса. Не знаю что она вернёт на MacOS, на любом Линуксе она вернёт "Linux". Ну а в винде этой команды просто нету. Мнда, не проверил и ошибся, раньше из под wine можно было любую Линуксовую команду выполнить, сейчас уже чего-то не получается. Но есть другой вариант, везде в Линуксе, будет переменная "DISPLAY", нормально она будет равна ":0", но важно что она должна быть, и должна не быть пустой так что можно проверку сделать на это. PS: Кстати, у Линуксового ping'a есть аналог параметра "-w", это то-же "-W" но заглавная. Edited September 25, 2013 by hash Share this post Link to post Short link Share on other sites
thazideek 78 #105913 Posted September 26, 2013 (edited) нужно только как-то определить OS А нужно именно определить ОС? Поможет ли как-нибудь знание того, что мы просто из-под wine сейчас? Что-нибудь вида: import _winreg try: explorer = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,"Software\\Wine") except WindowsError, e: print "error" т.к. import sys print sys.platform полагаю, вернет из под wine win32 Edited September 26, 2013 by melizetinger Share this post Link to post Short link Share on other sites
sirmax 5,499 #106008 Posted September 26, 2013 Проблема не в том, как сделать, а в том, кто это может сделать. У меня нет линуха под рукой, в виртуалке танки пускать совсем нет желания. Share this post Link to post Short link Share on other sites
hash 26 #106105 Posted September 26, 2013 (edited) Я "живу" на Линуксе, так что у меня "проблема" винду запустить, ну конечно не проблема, 250 виндозных юзеров не дают забыть этот "офф-топик", но на моих компах винда только в виртуалке. Только в питоне я не бум-бум, из языков программирования ASM(лет 10ть назад) / Pascal(И турбо и дельфи) / ну и всяческие скриптинги т.е. DOS'овский comman.com, NT'ишный cmd.exe, VBS скриптики для домена и конечно sh/bash немного AWK/sed. Но эти "зубодробительные конструкции" на python'e/perl'e для разбора строк, у меня мозги в папирус сворачиваются от них! :) Если что надо быстренько проверить или от дебажить на Линуксе, всё есть, всё под парами, чего нет соберу/запатчу. А нужно именно определить ОС? Поможет ли как-нибудь знание того, что мы просто из-под wine сейчас? Что-нибудь вида: import _winreg try: explorer = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,"Software\\Wine") except WindowsError, e: print "error" т.к. import sys print sys.platform полагаю, вернет из под wine win32 Да, wine под страхом смертной казни не ппризнается что она не натуральная "блЯндинЬка", то-есть не натуральная винда, так что либо искать этот кусок реестра, который wine будет всегда создавать, или переменную DISPLAY, без DISPLAY wine просто стартовать откажется. Мнда, вкратце, Линуксойдам можно забыть про ping'er. Более развёрнуто: Можно почитать "ломание копий" с разрабами wine в 2009м году, всё на аглицком. Вкратце, аргумент разрабов wine: Нефиг детектить и подстраиваться, лучше напишите тестовую прогу для нужной не работающей или не корректно работающей функции и помогите её пофиксить. Детектить ветку реестра не вариант, её создаёт ещё и wined3d, компанент который ставиться на винду для сборки виндозной проги для работы её в Линуксе в "почти" нативном виде. Конечно шанс на пересечение Танков и "wined3d на одном компе минимален, но дядька Мэрфи всегда с нами! :) Но сошлись что такая функция таки нужна хотя-бы для того чтоб разрабы прог могли проанализировать как много народу гоняют их прогу под wine. Для обнаружения wine "всего лишь" нужно проверить наличие функции wine_get_version в ntdll. Только это нам уже не поможет. Так как родной, системный, Линуксовый ping из под wine больше не запустить. В общем сушите вёсла господа. PS:Есть один вариантик который надо тщательно проверить, но надежда минимальна... Edited September 26, 2013 by hash Share this post Link to post Short link Share on other sites
sirmax 5,499 #106223 Posted September 26, 2013 блин, хватит уже. нет никакой проблемы, нужно просто сесть и сделать. пойду виртуалку ставить, надоело это уже Share this post Link to post Short link Share on other sites
hash 26 #106226 Posted September 26, 2013 Очень надеюсь и жду чуда от вас Sir Max, как это обычно и случается, вы крайне верно выбрали как ник так и аватарку! :) Share this post Link to post Short link Share on other sites