13 Posted September 15, 2013 Share Posted September 15, 2013 @JustPotter, что имено не работает и где именно пишет Error? Опишите ситуацию подробнее, прикрепите скриншоты и логи (файлы XVM.log и Python.log из папки игры) Link to comment Short link Share on other sites More sharing options...
JustPotter Posted September 15, 2013 Share 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 Link to comment Short link Share on other sites More sharing options...
Yupi Posted September 16, 2013 Share Posted September 16, 2013 @JustPotter, пинг не работает потому что он сделан через виндовый ping.exe. Надо как-то скормить его вайну. Стату не показывает потому что она отключена в конфиге, включи и заработает. Link to comment Short link Share on other sites More sharing options...
JustPotter Posted September 16, 2013 Share Posted September 16, 2013 @JustPotter, пинг не работает потому что он сделан через виндовый ping.exe. Надо как-то скормить его вайну. Стату не показывает потому что она отключена в конфиге, включи и заработает. Спасибо, конфиг правил ранее, но почему то не сохранился. Включил еще раз - работает. Link to comment Short link Share on other sites More sharing options...
hash Posted September 17, 2013 Share Posted September 17, 2013 Виндозный ping.exe скормить не получиться никак, в Linux'е создание сетевых пакетов, обычному-ушастому юзеру запрещено, как следствие виндозный ping.exe работать будет но не сможет отослать ни единого пакета. Попытался сделать софт-лин с /bin/ping в <путь до WorldOfTanks.exe>/ping.exe, но ожидаемо это не спасло так-как формат вывода виндозного ping.exe и Linux'ового ping разный. Ща попробую сделать врапер чтоб вывод Linux'ового превращать в виндозный... Link to comment Short link Share on other sites More sharing options...
thazideek Posted September 18, 2013 Share Posted September 18, 2013 (edited) Виндозный ping.exe скормить не получиться никак, в Linux'е создание сетевых пакетов, обычному-ушастому юзеру запрещено, как следствие виндозный ping.exe работать будет но не сможет отослать ни единого пакета. http://wiki.winehq.org/Ping Edited September 18, 2013 by melizetinger Link to comment Short link Share on other sites More sharing options...
garaland Posted September 18, 2013 Share Posted September 18, 2013 народ а вы к wot на андройд будете делать xvm?? Link to comment Short link Share on other sites More sharing options...
Solution 13 Posted September 18, 2013 Solution Share Posted September 18, 2013 Открепляю, т.к. начиная с XVM 5.0.0 использование XVMfs более не требуется для статистики под Linux/MacOS. Link to comment Short link Share on other sites More sharing options...
hash Posted September 19, 2013 Share Posted September 19, 2013 http://wiki.winehq.org/Ping Пасиб за линк, не знал что Wine'шники одумлялись этим, но ситуации это не меняет. Виндозный ping.exe не работает а Linux'овый не прокатыввает так-как вывод не совместим. PS: Хотя, в последнем транке ping'ера есть какая-то система определения операционки и передача ping'у других параметров с иной обработкой вывода, так что надежда есть. :) Link to comment Short link Share on other sites More sharing options...
sirmax Posted September 19, 2013 Share Posted September 19, 2013 PS: Хотя, в последнем транке ping'ера есть какая-то система определения операционки и передача ping'у других параметров с иной обработкой вывода, так что надежда есть. :) Осталось только чтобы кто-то с линухом довел это до ума. Link to comment Short link Share on other sites More sharing options...
Harkonnen Posted September 20, 2013 Share Posted September 20, 2013 http://wiki.winehq.org/Ping Эта устаревшая вики. В современом вайне ping.exe - это заглушка, ждущая -w секунд и возвращающая 0. (В винде нету команды sleep, скрипты всякие командлайные вместо этого используют ping -w). Link to comment Short link Share on other sites More sharing options...
thazideek Posted September 20, 2013 Share Posted September 20, 2013 Эта устаревшая вики. Да, скорее всего вы правы (давно уже wine не пользовался). Просто у меня в конце 2007 (если не путаю). на компе стоял тогда еще Debian Etch, была проблема с ping.exe. Помнится, перерыл половину Интернета тогда и на одном из сайтов нашел варианты решения и эту ссылку. Ссылку эту сейчас легко нашел, т.к. первой же строчкой выдает в поисковике при запросе "wine ping". Link to comment Short link Share on other sites More sharing options...
hash Posted September 25, 2013 Share Posted September 25, 2013 В wine wiki на самом деле написано что ничего работать не будет, так как давай права ping.exe или нет, а процесс будет не ping.exe а wine а потом wineserver, а им всем этого надовать... В общем не вариант, да ещё и в wine и wineserver стоит проверка на всякие попытки не коректных привелигерованных действий и отбой, чтоб всякие бяки из под wine не могли ничего плохого системе сделать. Осталось только чтобы кто-то с линухом довел это до ума. А в этом "доведении" нужно знать python? Link to comment Short link Share on other sites More sharing options...
sirmax Posted September 25, 2013 Share Posted September 25, 2013 В wine wiki на самом деле написано что ничего работать не будет, так как давай права ping.exe или нет, а процесс будет не ping.exe а wine а потом wineserver, а им всем этого надовать... В общем не вариант, да ещё и в wine и wineserver стоит проверка на всякие попытки не коректных привелигерованных действий и отбой, чтоб всякие бяки из под wine не могли ничего плохого системе сделать. А в этом "доведении" нужно знать python? немного нужно, тем более что вроде все уже сделано, нужно только как-то определить OS. Скорей всего она из-под wine определяется как винда, поэтому и не работает. Нет линуха под рукой, на котором можно было бы проверить. Link to comment Short link Share on other sites More sharing options...
hash Posted September 25, 2013 Share Posted September 25, 2013 (edited) А может проще будет обойтись без определения через python а воспользоваться стандартной системной командой? "uname" есть во всех Линуксах, если её выполнить без параметров она вернёт "тип" Линукса. Не знаю что она вернёт на MacOS, на любом Линуксе она вернёт "Linux". Ну а в винде этой команды просто нету. Мнда, не проверил и ошибся, раньше из под wine можно было любую Линуксовую команду выполнить, сейчас уже чего-то не получается. Но есть другой вариант, везде в Линуксе, будет переменная "DISPLAY", нормально она будет равна ":0", но важно что она должна быть, и должна не быть пустой так что можно проверку сделать на это. PS: Кстати, у Линуксового ping'a есть аналог параметра "-w", это то-же "-W" но заглавная. Edited September 25, 2013 by hash Link to comment Short link Share on other sites More sharing options...
thazideek Posted September 26, 2013 Share 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 Link to comment Short link Share on other sites More sharing options...
sirmax Posted September 26, 2013 Share Posted September 26, 2013 Проблема не в том, как сделать, а в том, кто это может сделать. У меня нет линуха под рукой, в виртуалке танки пускать совсем нет желания. Link to comment Short link Share on other sites More sharing options...
hash Posted September 26, 2013 Share 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 Link to comment Short link Share on other sites More sharing options...
sirmax Posted September 26, 2013 Share Posted September 26, 2013 блин, хватит уже. нет никакой проблемы, нужно просто сесть и сделать. пойду виртуалку ставить, надоело это уже Link to comment Short link Share on other sites More sharing options...
hash Posted September 26, 2013 Share Posted September 26, 2013 Очень надеюсь и жду чуда от вас Sir Max, как это обычно и случается, вы крайне верно выбрали как ник так и аватарку! :) Link to comment Short link Share on other sites More sharing options...
Recommended Posts