一个完全功能的 Pokerbot,可在 PartyPoker、PokerStars 和 GGPoker 上运行,使用 Open-CV (可通过 gui 进行自定义) 或 神经网络 来抓取表格,并做出决策。
一个完全功能的 Pokerbot,可在 PartyPoker、PokerStars 和 GGPoker 上运行,使用 Open-CV (可通过 gui 进行自定义) 或 神经网络 来抓取表格,并做出决策。
This pokerbot plays automatically on Pokerstars, Partypoker and GG Poker. Any other table can be mapped as well. It works with image recognition, montecarlo simulation and a basic genetic algorithm. The mouse is moved automatically and the bot can potentially play for hours based on a large number of parameters.
You can download the binaries and run the executable directly from here: http://www.deepermind-pokerbot.com
Partypoker:
* Use Fast Forward Tables
* Select Official PartyPoker table scraper
.. figure:: doc/partypoker.gif
Pokerstars:
.. figure:: doc/ps-example.png
GGPoker:
Make sure your GGPoker setup looks as follows when using it with the Official GGPoker Table:
.. figure:: doc/ggpk2.png
General setup:
If you just want to run the bot, please do the following:
Install the binearies of the bot from here: http://www.deepermind-pokerbot.com
You can then immediately run the bot. It will analyze the poker client, move the mouse and play in accordance with one of its pre-programmed strategies. Most of the strategies are based on zoom or Fast Forward tables. You are welcome to edit and imporve any strategies to optmize the play of the bot for your needs.
In most cases it may be useful to put the poker client inside a virtual machine to avoid it from interfering with the bot. Also, the bot will then be able to control the mouse inside the virtual machine, without blocking the whole computer:
Download Virtualbox: https://www.virtualbox.org/
Download Windows 10 Iso File for example from here https://www.softlay.com/apps/operating-system
Create a new virtual box environment and use the ISO file as a startup
Make sure to give the Virtualbox only 1 CPU as the computing power is needed for the bot (mainly for OCR)
Install Partypoker or Pokerstars in the virtual box environment
Install the pokerbot directly onto your computer (outside of the virtual box)
In the Setup select your virtual box instance (instead of direct mouse control)
Join the discord chat by pressing the chat button or joining this link: https://discord.gg/xB9sR3Q7r3
The current version Only works on windows
Do not obstruct the view of the table as the bot is based on image recognition
Only one table window should be visible.
For best performance minimize all windows in the vm, except the table window itself
Don't use any dpi scaling in the virtualbox
In setup, try to select your virtual machine instead of direct mouse control. That way mouse movements won't obstruct you.
Looking at the stacked bar chart in more detail, gives you clues how to adjust the strategy to maximize your wins:
.. figure:: doc/analyzer_bar2.png
Analyze individual rounds within each stage:
.. figure:: doc/analyzer_bar3.png
Analyze individual hands:
.. figure:: doc/strategy_analyzer.gif
A variety of factors are taken into consideration when the bot makes decisions and they can be adjusted in the strategy editor:
.. figure:: doc/strategy2.png
A variety of other options can be edited for each strategy:
.. figure:: doc/strategy_editor.gif
Advice how to improve strategies:
* You will generally require at least 2000 hands played with a strategy to draw any conclusions. Even better 5000 hands. Anything less than 1000 hands is completely random.
* Best buy in more than the minimum, this will improve the bots performance as it has more leeway to play. For example on a 0.01/0.02 table, buy in more than the minimum of $2. Ideally start with $4 or even more.
* Look at the strategy analyzer and work your way backwards. First improve the River play, then once this is good move on to the Turn, then to the Flop etc. This is because the game is path dependent.
* If you make changes in the ranges, you may need to adapt all minimum equities as it changes the equity calculation.
* Good Luck!
Full version:
~~~~~~~~~~~~~
The full version allows you to:
* Edit and create new Strategies
* View all Strategies of all users
To purchase, please follow this link. You'll then receive a password within 24 hours.
http://www.deepermind-pokerbot.com/purchase
Alternatively you can contact me via email or discord and request a password directly and pay bitcoin to:
1Py5o4WLYMizXc8pFPqzD4yeCAm53BhJit
You can also get a free subscription if you make some meaningful contribution to the codebase.
The easiest way to contribute is by:
- Adding new tables
- Adding new strategies
- Directly add fixes to the code and create a pull request
Mapping new tables
------------------
The bot can learn to read new tables, either by using templates or by training a neural network that uses data augmentation based on the given templates.
`Click this link to see a Video description how to add a new table <https://rb.gy/jut3ws>`_ or watch the video on www.deepermind-pokerbot.com
The setup to add new tables looks like this:
.. figure:: doc/scraper.png
- Open the pokerbot and click on table setup to open the window that helps you create new tables.
- Open the poker client next to it, make sure it's not dpi scaled, so the pokerbot can take screenshots.
- Start with creating a new template, you can do this by entering a name for your template, for example Pokerstars 1-2 zoom poker. Click on 'Blank new'.
- Now the first think you want to do is to take a screenshot of the pokerstars window with the table. You can do this by pressing on the Take screenshot button. You should not see in the lower window a full screenshot of what is on your screen.
- The first step is now to mark the top left corner of the poker tables window, which will be the point of reference for everything else that will follow. To mark the top left corner, you need to mark it by first clicking on the top left part of it and then on the right lower part of it. once you have done this, it will appear in the second window. You can save it by clicking on the "save newly selected top left corner" button.
- Now you can crop it by pressing on the crop from top left corner button. This will discard most of the screenshot and only keep the screenshot from the top left corner and everything a few hundred pixels to the right of it and below.
- Next you will want to mark everything else in the window. Start with the Buttons search area. You can do this again by clicking on the top left area of the buttons and then on the bottom right area of where the buttons appear. Once you are happy with the selection, click on the "Buttons search area".
- If you hover over the buttons, you will get a more detailed description of what you need to pay attention to.
- Note that you will need to take many screenshots, crop them (don't select the top left corner again, as this you should only do once), instead load it and then crop the image. After that make your selection of the different images and save them by pressing on the corresponding button. You'll need to teach it every card and every button etc.
Notes to keep in mind:
------------------------------
**IT IS NOT RECOMMENDED TO CONDUCT TESTS WITH REAL ACCOUNTS UNTIL YOU VERIFY THE CORRECT FUNCTIONING OF THE BOT (ALSO TO AVOID LOSS OF ACCOUNTS AND CAPITAL)**
- Minimum system requirements to run the bot:
- Windows 10 x64 or later (It may work in previous versions but its correct operation has not been verified)
- RAM memory 4 GB or more
- hard drive space 1.6 GB (as always the more the better)
- Micro processor with 4 cores and 4 threads or higher
- GPU is not necessary (neural training gives the option to do it on GPU)
- screen resolution 1920*1800 (it can work with less but its correct operation has not been verified)
- consider the consumption of Virtual box if used and add them to the system explained above
- Poker apps usually run on W7 or higher
- VirtualBox version 7.0.12 or higher with its respective expansion pack
Running via docker
------------------------------
- ``$ git clone https://github.com/dickreuter/Poker.git``
- ``$ cd Poker``
- ``$ docker compose up -d``
- ``$ xhost local:root # This permits the root user on the local machine to connect to X windows display``
- ``$ docker-compose exec app python3 main.py # once the container is running you can launch the bot with this command``
Running via python source code
------------------------------
- Download pycharm communite edition as an IDE from here: https://www.jetbrains.com/pycharm/download/#section=windows
- Install anaconda https://www.anaconda.com/products/distribution
- Download tesserocr: https://github.com/simonflueckiger/tesserocr-windows_build/releases/download/tesserocr-v2.6.0-tesseract-5.3.1/tesserocr-2.6.0-cp311-cp311-win_amd64.whl -Out tesserocr-2.6.0-cp311-cp311-win_amd64.whl and install the whleel file with pip install
- Create an environment with ``pip install -r requirements.txt`` and separately run pip install tesserocr
- You also may need to get c++ runtime distributable: https://visualstudio.microsoft.com/downloads/
- Install virtualbox from https://www.virtualbox.org/wiki/Downloads and put the poker client into the virtual box. That way it can be controlled without having to use the mouse in your main window.
- Run ``main.py`` from pycharm after setting up the above created virtual environment as interpreter (check youtube)
Packages and modules:
~~~~~~~~~~~~~~~~~~~~~
main.py: entry point
poker.scraper
^^^^^^^^^^^^^
Contains user interface and routines that help map new tables
- ``recognize_table``: Functions to recognize the different items on the table, based on the created mapping
- ``screen_operations``: Various routines, such as taking screen shots, cropping etc
- ``table_setup``: Routines in relation to the gui
- ``ui_table_setup``: QT user interface. Corresponding py file is created with makegui.bat in the parent folder. To edit the gui download QT Designer and open the .ui file.
poker.decisionmaker
^^^^^^^^^^^^^^^^^^^
- ``decisionmaker.py``: The ultimate decision what action should be taken based on the input
- ``montecarlo_numpy2.py``: fast numpy based montecarlo simulation to
calculate equity. Not yet working correctly. Some tests are failing. Feel free to fix them.
- ``montecarlo_python.py``: relatively slow python based montecarlo for equity calculation. Supports
preflop ranges for other players.
poker.tests
^^^^^^^^^^^
- ``test_montecarlo_numpy.py``: tests for the numpy montecarlo
- ``test_pylint.py``: pylint and pydoc tests to ensure pep8 standards and static code analysis
Graphical user interface (gui)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Download QT for open source project: https://www.qt.io/download-open-source
- Use the qt designer to edit any of the .ui files in gui/ui
Next Priorities
---------------
- [ ] Update tests. Some are currently outdated. More tests are needed
- [ ] Add more strategies
- [ ] Switch
暂无开放 Issues,或尚未同步最近议题。