usunpokertools - бесплатная пробивка в OPR, SharkScope, ProLabs в HUD нотсы

    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      Привет,
      Выкладываю на суд общественности набор программ для полу и полностью автоматических пробивок турнирных и кэш игроков через различные хост системы (OPR, SharkScope, ProLabs, PTR). На основе результатов пробивки генерируется ноутс на игрока в настраиваемом формате, который сохраняется в локальный трэкер/HUD (Poker Tracker 3, 4; Holdem Manager 1,2) и может быть выведен в HUD во время игры.

      Программы бесплатны и с открытым исходным кодом на Java.
      Лицензии и Ограничения

      Лицензия на тулы - BSD с тремя пунктами. По этой лицензии, код защищен копирайтом, разрешено использовать код в том числе в проектах с закрытым кодом и для коммерческого использования, можно расширять и багфиксить без требований к предоставлению кода.

      Исследование лицензий всех задействованных систем, и 3 явных ограничения накладываемых на тулы по результатам исследования (на англ): https://sourceforge.net/p/usunpokertools/wiki/Licenses%20and%20Restrictions/

      Ограничения:
      - OPR интеграция - демонстрационная и официально не предназначена для продакшен использования. По умолчанию для OPR настроена максимальная нагрузка 5-10 операций каждые 2 минуты, дабы снизить риск бана. Можно на свой страх и риск отключить (или если настроить хорошие прокси) или изменить значения.
      - запрещено выкладывать, шарить, распространять кэши тулов для SharkScope, ProLabs/Top Shark, PTR систем, они исключительно для индивидуального пользования;
      - фича по оценке закрытых данных на OPR, если Вы ее вдруг решите использовать в нарушение первого пункта, одобрена PokerStars для ее специально модифицированной версии, начиная с версии 1.3 и далее.

      PokerStars официально одобрил тулы начиная с версии 1.3+ без ограничений, они могут использоваться во время игры.

      SharkScope официально одобрил тулы и предоставил лицензию по их использованию. Помимо запрета обмениваться кэшами, тулы теперь не поддерживают те 5 бесплатных поисков в день, доступные через сайт.

      Послал письма в ProLabs/Top Shark, PTR c запросом разрешения на интеграцию с ними с учетом озвученных ограничений. Ответов пока не получил.


      Поддерживаемые пробивкой хост системы, и покер румы/сети для каждой из них (в скобках указаны конкретные румы, на которых тестировалось, другие румы той же сети обычно тоже работают, но это не гарантируется):


      Поддерживаемые трэкеры/HUD:
      • Poker Tracker 3 - основное тестирование ведется на нем;
      • Poker Tracker 4 - иногда проверяю;
      • Holdem Manager 1 - периодически тестирую к релизам;
      • Holdem Manager 2 - есть только базовая поддержка, но пока работает очень плохо и во время игры нотсов не видно (но в базе они есть и их видно если перегрузить весь HM2, например), виной всему нетривиальная функциональность кэширования, которая не делает ресинхронизацию с базой данных. Я послал запрос создателям программы с просьбой добавить возможность интеграции;
      • PokerHands - бесплатный HUD, есть только прототип интеграции, нотсы сохраняются в базе данных трэкеров для игрока, но похоже сам HUD пока еще не поддерживает их отображение.


      Скриншот и формат данных:


      Вот настраиваемые шаблоны, в каком виде генерировать нотс для разных хост систем:
      code:
      # Для OPR.
      # Пример шаблона: "opr${playerInfoVersion}${prefixDate}: ${distanceMark}${ROI}ROI/${ITM}ITM/${distance}($${ABI})/${AFS}AFS/${RA}RA/$${prizes}(${profit}) ${stagesFinish}" 
      # вот, что генерируется: "opr31226: +170ROI/16ITM/484($9)/516AFS/13RA/$12k(+7.8k) 2/10/53/21/13"
      .hostsystem.opr.extra.NOTES_TEMPLATE=opr${playerInfoVersion}${prefixDate}: ${distanceMark}${estimatedMark}${ROI}ROI/${ITM}ITM/${distance}($${ABI})/${AFS}AFS/${RA}RA/$${prizes}(${profit}) ${stagesFinish} ${rating}
      
      # Для Shark Scope.
      # Пример шаблона: "ss${playerInfoVersion}${prefixDate}: ${distanceMark}${ROI}ROI/${distance}($${ABI})/$${profit}/${ability}" 
      # вот, что генерируется: "ss11226: +5ROI/110($120)/$+3.5k/67"
      .hostsystem.sharkscope.extra.NOTES_TEMPLATE=ss${playerInfoVersion}${prefixDate}: ${distanceMark}${ROI}ROI/${distance}($${ABI})/$${profit}/${ability}
      
      # Для ProLabs.
      # Пример шаблона: "plb${playerInfoVersion}${prefixDate}: ${distanceMark}${ROI}ROI/${ITM}ITM/${distance}($${ABI})/$${profit} ${stagesFinish}" 
      # вот, что генерируется: "plb10526: +5ROI/16ITM/110($120)/$+3.5k/58 2/10.3/52.7/21/13"
      .hostsystem.prolabs.extra.NOTES_TEMPLATE=plb${playerInfoVersion}${prefixDate}: ${distanceMark}${ROI}ROI/${ITM}ITM/${distance}($${ABI})/$${profit}/${rating} ${stagesFinish}
      
      # Для PTR (кэш) шаблон пока не настраивается и данные в одном и том же виде,
      # например: ptr21226: ?vstable +2.17NLH25FR, <=rake; ??vl-vaPF/aF/okT/pR/vhSD
      
      
      



      Есть интеграция как с прокси сервером одиночным, так и с файлом со списком проксей, если чейто IP заблокировали в OPR по недоразумению.
      Пробивка игроков сохраняется в локальных кэшах и это ликвидирует проблему хождения на сервер за пробивкой каждый раз.
      Настраиваемы периоды истечения валидности пробивки, после чего игрок будет пробит снова и будет добавлен новый нотс в HUD.

      Тулам уже пара-тройка лет, я их сначала писал для себя, а потом выложил для всех и постепенно поддерживаю и расширяю. Они не самые user friendly, но я работаю над этим.

      Ссылки на скачивание текущей версии, информация об установке, настройке и использовании и общая поддержка вот тут:
      1.x: Мои основные тулы usunpokertools (интеграция с SharkScope, OPR, ProLabs, PTR).
      1.x: Мои вспомогательные тулы.

      Вот еще больше информации со скриншотами как пользоваться тулами: 1.x: Мои основные тулы usunpokertools - дополнения.


      Cтарая секция относящаяся к 0.x версии тулам:


      Помимо самой пробивки игроков, в дистрибутив входит множество других полезных тулов разной степени готовности для публичного использования:
      - пробивка составов турниров Stars, Fulltilt по Summary файлов и их автоатический анализ - это в состоянии для использования обычными пользователями.
      - наверняка устаревшие автопробивки для кэш игры через PTR, Poker-Edge для PartyPoker (программисты могут допилить напильником)
      - вспомогательные программы для расчетов покерной математики (аля MTT Стадия Push/Fold игра с коротким стеком ) - опять же программисты могут использовать

      Ссылки на скачивание текущей версии, информация об установке, настройке и использовании и общая поддержка вот тут:
      0.x: Мои основные тулы usunpokertools (интеграция с SharkScope и OPR).
      0.x: Мои вспомогательные тулы.

      Алгоритм по траблшутингу, если тулы не работают: usunpokertools - бесплатная авто-пробивка в OPR, SharkScope в HUD нотсы

      Вот мое видео с живой демонстрацией как я пользуюсь этими программами в реальной сессии:
      http://ul.to/rjq3xjf6 - 54 минуты, 120mb, MP4
      вот быстрее ссылка для рунета: http://narod.ru/disk/39569719001.e71a4102a25c32fa81c5e19918e7865f/usun_freezout_ES.mp4.html
      с тех пор нотсы были расширены и формат стал настраиваться произвольным образом.

      Поскольку видео слишком большое, вот оттуда минимальная вырезка с демо тулов, MP4, 21mb, 12 минут:
      http://narod.ru/disk/45477435001.b4df0ccb18eff7ffb2c6b8f525c4b416/usunpokerutils_demo1.mp4.html
      http://ul.to/ckud9hlc


      Старая линейка 0.x будет некоторое время поддерживать параллельно. Вся старая докупентация и посты, которые были для 0.x останутся на месте, новая документация будет добавлятся в новые места, ссылки на которые будут приводится и обновляться по ходу дела.

      Первые несколько страниц темы несколько устарели (хотя там видно как недавние фичи добавлялись, как планировалась и велась разработка 1.x тулов). Вот здесь была выпущена первая версия 1.x тулов: usunpokertools - бесплатная пробивка в OPR, SharkScope, ProLabs в HUD нотсы
  • 350 ответов
    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      Сразу предупреждаю, что по приведенным ссылкам указаны лицензионный ограничения, ибо на некоторых румах некоторая онлайн пробивка может быть запрещена (например SharkScope на PokerStars), но она разрешена при выключенном покерном клиенте, так что ответственность как Вы используете эти тулы лежит полностью на Вас.

      При чрезмерном использовании, существует риск бана по IP со стороны OPR - http://www.officialpokerrankings.com/register/opr-terms-and-conditions.htm пункт №3 (потому настоятельно не рекомендую пробивать турниры в OPR целиком по Summary соотв тулом даже с установлением шага каждый 10ый или каждый 100ый, чтобы больше 500 человек на турнир не пробивать - они и так дают достаточную выборку для генерации отчета о состава участников турниров).

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

      Насчет конкуренции с платной OpenTool - OpenTool - софт для OPR - я не в коей мере не ставлю себе такой задачи. Мои тулы менее дружественны для пользователей, в них больше недоработок, в них меньше красивых бантиков, они будут заведомо хуже поддерживаться. Плюс я не буду договариваться с румами и сторонними системами, а потому использование моих тулов потенциально рисковее.
      Потому если Вам не жалко денег, лучше купите OpenTool и спокойствие себе. А если же Вы Java программист, то думаю Вам будет гораздо интереснее взять мои тулы и расширить их для своих нужд самостоятельно.
    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      Немного об общих технических принципах как работает автопробивка и через OPR, и через SharkScope:
      1) настраивается для каких румов использовть OPR, для каких SharkScope, можно и то и другое например для Party, Carbon, Ongame (я не знаю разрешен ли там все еще шаркскоуп).
      2) настраивается для каждого рума из №1 где хэнд хистори искать, можно несколько каталогов с рекурсией по подкаталогам для каждого.
      3) все файлы из всех указанных каталогов и подкаталогов каждые 3 минуты сканируются на предмет новых игроков еще не пробитых.
      4) каждый новый игрок пробивается через OPR или SharkScope, данные все сохраняются в локальном кэше.
      5) генерируется ноутс в настраиваемом формате и сохраняется как ноутс в Базе Данных Holdem Manager или PokerTracker. Так что если вывести поле notes для HM ил PT3 в HUD - сгенеренный ноутс появится в HUD мгновенно.


      При этом, не обязательно пользоваться именно тулами сканнерами для авто пробивки, в релиз входят тулы консольные для одиночных ручных пробивок, которые показывают более подробную инфу на игрока.
    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      УСТАРЕЛО, это только для 0.x тулов

      Детальный алгоритм сканера такой (на примере OPR тула), если программистам интересно:
      code:
      1. логин в OPR
      
      2. вечный цикл (пока не произойдет исключительная ситуация, для Shark Scope тула это окончание дневного лимита на поиск, для OPR кажись он будет тут вечно крутиться пока окно не прибьется)
        2.1. пытаемся отпроцессить список отложенных игроков (это те, которые на предыдущей итерации цикла тул достал из хэндхисторей, но которые еще не были записаны в HM или PT3 базу их автоимпортом) - см как это делается в 2.3 подшагах. Если опять не находим игрока - опять его откладываем на следующую итерацию цикла. 
        2.2. скан хэнд хисторей всех зарегленных румов, определяются все новые (т.е. те которых нет в локальном кэше, которых нам не удалось пока пробить) имена игроков и заносятся в список
        2.3. цикл по всем новым игрокам, процессим каждого
           2.3.1. если игрок еще не в БД от HM или PT3 - добавляем его в список отложенных игроков и идем к следующему игроку
           2.3.2. если мы уже искали этого игрока больше трех раз и пометили как не найденного - просто игнорируем  и переходим к след игроку.
           2.3.3. ищем игрока в локальном кэше OPR для каждого рума, где он был найдет во время чтения соотв хэнд хистори. для каждого рума, откуда мы его зачитали, пытаемся его пробить в OPR, если его нет в кэше локальном OPR.
           2.3.4. если не нашли его ни в одном руме, то регистрируем неуспешную попытку для этого опа. Если число попыток достигло 3х - апдейтаем/добавляем ноутс (см как в 2.3.5), что он не найден (not_found!).
           2.3.5. если нашли хоть где-то игрока, то используя данные локального кэша для OPR для всех найденных румов апдейтаем/добалвяем ноутсы в БД HM или PT3
              2.3.5.1. генерируем ноутс пробитого игрока. если он был найден в нескольких румах - то несколько строчек генерируется с результатами пробивки для каждого рума.
              2.3.5.2. читаем ноутсы для игрока уже сохраненные в БД HM или PT3.
              2.3.5.3. Старый алгоритм: если определяем, что есть строчка в существуещем нотсе начинающаяся как "t<OPR_версии и префикс даты>:" - то значит мы уже писали сюда ноутс и просто выходим из функции записи ноутсов. Новый алгоритм: Вот тут был изменен алгоритм немного недавно чтобы поддерживалось истечение сроков записи, так что он добавит все равно новый нотс, если мы перепробивали его снова в OPR и меняли локальный кэш.
              2.3.5.6. иначе, добавляем в конец существующего ноутса наш сгенеренный ноутс. и все это содержимое отправляем на запись в базу данных.
                 2.3.5.6.1. Если это PT3 просто добавляем новый ноутс для игрока.
                 2.3.5.6.2. Если это HM удаляем старый ноутс и добавляем игроку новый, где к старому содержимому добавляется новая строчка пробивки
      
        2.4. засыпаем на 3 минуты.
      
      3. логофф из OPR
      
      
      



      Технические детали интеграции с OPR:
      Интеграция с OPR.

      Интеграция с SharkScope тривиальна по сравнению с OPR.
    • vpmarat
      vpmarat
      Модератор
      Модератор
      На форуме с: 22.01.2008 Сообщения: 83.735
      дело, конечно, ваше
      но я бы не рекомендовал пользоваться прогой, котрая:
      а) своим функционалом жестко нарушает правила рума
      б) еще самому сайту может не понравиться
    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      Оригинал пользователя vpmarat
      дело, конечно, ваше
      но я бы не рекомендовал пользоваться прогой, котрая:
      а) своим функционалом жестко нарушает правила рума
      б) еще самому сайту может не понравиться
      эта прога НИЧЕМ не отличается по функционалу от OpenTool официально разрешенному POkerStars. Единственное не надо запускать SharkScope пробивку - а OPR и SharkScope 2 ОТДЕЛЬНЫХ тула - при запущенных клиентах, где шаркскоуп запрещен.

      И я конечно извиняюсь, но что-тро мне подсказывает, что бесплатная программа для личного пользования сторонним системам, особенно OPR понравится априари больше чем платная для коммерческого использования.
    • Tramantana09
      Tramantana09
      Бронза
      На форуме с: 13.07.2010 Сообщения: 767
      Как по мне -- пока OPR разрешен на старсах -- никаких проблем быть не должно. В каком месте любопытно = жестоко нарушает ?

      б) еще самому сайту может не понравиться


      А к этому похоже и идет -- если начался бан по IP -- то это уже полпути к ограничению числа поисков. выставят 5-10 поисков в день на один акк -- и прокси-лист уже слабо помогать будет -- когда оперативная инфа нужна.
    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      если администрация считает необходимым закрыть или удалить эту тему исходя из вышеуказанного, то ок
    • Groging
      Groging
      Бронза
      На форуме с: 15.09.2010 Сообщения: 19.011
      своим функционалом жестко нарушает правила рума

      а в чём нарушение например правил pokerstars?
      Вроде как OPR там не запрещен, ну а пробивку по шарку просто запускать лишь при закрытом руме ?(
    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      Тут некоторые форумисты обратились ко мне с вопросом неужели только программисты могут использовать эти тулы?
      Сразу хочу развеять недоразумение - любой пользователь может использовать:
      - ручную и авто пробивку через OPR для турниров,
      - ручную и авто пробивку через SharkScope для турниров,
      - пробивку и анализ состава участников турниров для Stars через OPR.

      Программисты же плюс могут использовать некоторые пока недоработанные тулы для общего пользования, чьи исходники есть в релизе:
      - составление и графическое представление расписания турниров (наверное стоит доделать этот тул для общего пользования, он полезен IMHO),
      - покерная математика,
      - пробивка на Party для кэш игроков трехлетней давности через PTR (тогда он был еще бесплатен и разрешен там), и базовая интеграция для Poker-Edge, который наверное уже везде запрещен.
      - ну и основные тулы могут расширить или исправить, например легко добавить поддержку новых румов, или не дожидаться меня и пофиксать какие проблемы румов в случае изменения ими формата хэндхистори (привет Party с его покерфестами и прочими подставами).

      Вобщем, мои тулы относительно недружественны потому, что они в основном консольные приложения с настройками в текстовых файлах и поддерживаются мною в свободное время. Т.е. от OpenTools они отличаются примерно как ранний Linux от Windows :)
    • FaystVII
      FaystVII
      Бронза
      На форуме с: 31.10.2010 Сообщения: 278
      что-то я видимо совсем туплю( хотел воспользоваться твоей прогой,но файлы .bat открываются и мгновенно закрываются,почему так происходит?
    • hodly
      hodly
      Гость
      На форуме с: 10.11.2010 Сообщения: 4.420
      Оригинал пользователя FaystVII
      что-то я видимо совсем туплю( хотел воспользоваться твоей прогой,но файлы .bat открываются и мгновенно закрываются,почему так происходит?
      так ты троян хапнул и все))миссия выполнена)))
    • FaystVII
      FaystVII
      Бронза
      На форуме с: 31.10.2010 Сообщения: 278
      мой антивирь такое не допустил бы)
    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      Оригинал пользователя FaystVII
      что-то я видимо совсем туплю( хотел воспользоваться твоей прогой,но файлы .bat открываются и мгновенно закрываются,почему так происходит?
      добавь плиз последней строчкой в .bat файлы который ты запускаешь комманду:
      pause

      это остановит консоль перед сворачиванием и можно посмотреть будет что за ошибка.

      альтернативно, можно запускать .bat файл через виндовую консоль: Start->Run и там вызвать cmd

      потом пройти в каталог где батники в консоле: cd тут_полный_путь_к_директории
      и набрать имя bat файла там и выполнить - тогда он тоже не свернет окно после окончания.

      p.s. я вообще подумывал, чтобы эту pause комманду сразу по дефолту добавлять, но там есть неприятный сторонний эффект, если приложение вылетает (например не нашло ни одной годной прокси, если они настроены для использования или дневной лимит закончен дял шаркскоупа), то окошко останется открытым и это будет дезориентировать игрока, который будет думать, что пробивка все еще идет. черт его знает что хуже.

      как вариант могу добавить просто дубликаты батников с этой коммандой исключительно для траблшутинга, но я боюсь наличие множества bat файлов еще больше всех запутает.
    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      Оригинал пользователя hodly

      так ты троян хапнул и все))миссия выполнена)))
      я не уверен, что существуют трояны на Java :)
    • FaystVII
      FaystVII
      Бронза
      На форуме с: 31.10.2010 Сообщения: 278
      теперь пишет "системе не удается найти указанный путь"
    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      Оригинал пользователя FaystVII
      теперь пишет "системе не удается найти указанный путь"
      можно скриншот окошка консоли с ошибкой сюда?
    • FaystVII
      FaystVII
      Бронза
      На форуме с: 31.10.2010 Сообщения: 278
      http://floomby.ru/content/jVIiFaQR0u
    • usun
      usun
      Бронза
      На форуме с: 06.01.2009 Сообщения: 1.675
      это первый вариант с коммандой
      pause ?

      тогда еще плиз удали первую строчку "@echo off" во всех .bat файлах и еще раз запусти и скриншоты сними (там он выволит все выполняемые комманды в консольный лог и видно будет где именно он умирает)

      возможно он не находит какого-то пути. возможно JAVA_HOME переменная системная указывает на неверные каталог или еще что-то типа того
    • FaystVII
      FaystVII
      Бронза
      На форуме с: 31.10.2010 Сообщения: 278
      _setEnv
      http://floomby.ru/content/BbdcyYYjzk

      runOPRConsole
      http://floomby.ru/content/TfrP96hh5U

      runOPRMTTAnalysisConsole
      http://floomby.ru/content/2VIQckQe0q

      runOPRScanTables
      http://floomby.ru/content/lRyMpq0HD0