Himela 5 Опубликовано 2 июня, 2021 Жалоба Поделиться Опубликовано 2 июня, 2021 (изменено) Привет, если вы тоже столкнулись с проблемой того, что волкер не всегда патчится при запуске под linux, я написал скрипт, который автоматизирует процесс запуска, надеюсь, будет кому-то полезно: #!/bin/bash #echo off echo "How many windows should be running? [3]" read targetNum targetNum=${targetNum:-3} #put path to your bot folder here: cd /home/username/.wine/drive_c/Games/l2bot echo "Checking WP..." pgrep WP667f && echo "WP already running" || (nohup wine WPF/WP667f.exe < /dev/null &>/dev/null &) echo "Checking WSS..." pgrep WSS && echo "WSS already running" || (nohup wine WSS.exe < /dev/null &>/dev/null &) echo "Getting ready..." sleep 2 for attempt in {1..50} do echo "Attempt: " $attempt nohup wine L2Walker.exe < /dev/null &>/dev/null & sleep 2 #clean not patched wmctrl -lp | grep "L2Walker 10.8.6" | grep -v Patched | while read -r d z pid rest; do kill "$pid"; done #count patched running=($(pgrep -c L2Walker)) if [ $running == $targetNum ]; then echo "enough!" break fi done Изменено 2 июня, 2021 пользователем Himela 3 Ссылка на сообщение Поделиться на другие сайты
Intervence 51 Опубликовано 5 июня, 2021 Жалоба Поделиться Опубликовано 5 июня, 2021 Ничоси, оно под вайном работает? Я думал WP будет испытывать проблемки, ан нет. А если в WSS даблкликом тыкать по процессу, патчится? Или задача была просто не морочиться и отловить тот раз, когда пропатчит сам? Ссылка на сообщение Поделиться на другие сайты
Himela 5 Опубликовано 9 июня, 2021 Автор Жалоба Поделиться Опубликовано 9 июня, 2021 On 05.06.2021 at 09:31, Intervence said: Ничоси, оно под вайном работает? Я думал WP будет испытывать проблемки, ан нет. А если в WSS даблкликом тыкать по процессу, патчится? Или задача была просто не морочиться и отловить тот раз, когда пропатчит сам? Работает Да, у WP много проблем и мало инструментов для отладки, основная проблема именно на запуске - он может не увидеть новый процесс, может вообще зависнуть при старте волкера (в таком случае приходится убивать и WP, и то окно волкера, которое послужило проблемой) - в итоге старт даже 3х окон ручками - это процесс минут на 10. WSS при дабл-клике тоже фейлится (причем как на непропатченном, так и на пропатченном) - ругается на несоответствие версии, хотя в автоматическом режиме может пропатчить. Поэтому, да - задача была просто отловить те N раз, когда он пропатчит сам. Quote Игроки под linux больше любят играть в запуск игр, чем в сами игры по скрипту апдейт - слипы можно еще чуть-чуть поднять - в зависимости от скорости компа может не хватать Ссылка на сообщение Поделиться на другие сайты
Himela 5 Опубликовано 27 июня, 2021 Автор Жалоба Поделиться Опубликовано 27 июня, 2021 Если будет полезно - обновление скрипта: Перенес запуск WPF в конец, т.к. он не нужен для старта окон, но может повиснуть в процессе Добавил запуск полезных программ: Sublime (если надо быстро подправить какой-то скрипт); Chrome; Папку с ботом в менеджере файлов (для ручного перезапуска при необходимости) Код: #!/bin/bash #echo off echo "How many bot windows should be running? [3]" read targetNum targetNum=${targetNum:-3} #TODO: put here the favorite file manager fileManager=caja #TODO: replace here the path to bot folder botPath=/home/user/.wine/drive_c/Games/l2bot cd $botPath ####### # WSS # ####### echo "Checking WSS..." if pgrep WSS; then echo "WSS already running" else echo "Starting WSS..." nohup wine WSS.exe < /dev/null &>/dev/null & sleep 2 for attempt in {1..50} do if pgrep WSS; then echo "WSS started" break else echo "Wait for WSS: " $attempt sleep 2 fi done fi ####### # bot # ####### for attempt in {1..50} do echo "Walker Attempt: " $attempt nohup wine L2Walker.exe < /dev/null &>/dev/null & sleep 3 #clean not patched wmctrl -lp | grep "L2Walker 10.8.6" | grep -v Patched | while read -r d z pid rest; do kill "$pid"; done #count patched running=($(pgrep -c L2Walker)) if [ $running == $targetNum ]; then echo "enough!" break fi done running=($(pgrep -c L2Walker)) if [ $running != $targetNum ]; then echo "Aborting..." sleep 1 exit 0 fi ###### # WP # ###### echo "Checking WP..." if pgrep WP667f; then echo "WP already running" else echo "Starting WP..." nohup wine WPF/WP667f.exe < /dev/null &>/dev/null & sleep 2 for attempt in {1..50} do if pgrep WP667f; then echo "WP started" break else echo "Wait for WP: " $attempt sleep 2 fi done fi ######## # soft # ######## pgrep sublime && echo "Sublime...ok" || (echo "Starting sublime..."; nohup /opt/sublime_text/sublime_text &) pgrep sublime && echo "Chrome...ok" || (echo "Starting chrome..."; nohup /opt/google/chrome/chrome &) # TODO: doesn't work on mint #pgrep $fileManager && echo "File Manager...ok" || (echo "Starting File Manager..."; nohup $fileManager &) nohup $fileManager $botPath & 1 Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти