The profitable bots are a lot more than just shove bots. They take into account:
Hand ranges, Nash Equilibrium (This is really cool stuff imo),EV of flop/turn/river, return from promotions, rake,reaction time of user, position, table image
The last I saw the custom bots being run were buying up hand histories by the millions and using pre-flop agression and all the other factors to preform clustering. Then they clusters were used to choose a strategy.
Stars and FTP are both pretty good about finding bots. But poker bot writers are learning from game bot makers. They are pretty well protected on the client end. So as long as the bots have some variance they are really hard to spot. And a lot of the variance comes from choosing how to play the person who is betting. Though it looks like some bot writers have not been putting enough variance into their bots.
For a long time the big push was to find ways to make the input look like it came from a human. Moving the cursor to the exact middle of the button you want to push every time in <100ms is a dead give away. I don't really know if this was ever something that FTP and stars used though.
> Moving the cursor to the exact middle of the button you want to push every time in <100ms is a dead give away.
This seems intuitive, but it is actually false. The majority of "grinders" (mid-stakes players who multi-table 9-24 tables at a time for a living) use programs like autohotkey that actually do exactly this, allowing players to play with the keyboard and even console (e.g. PS3) controllers. The most popular poker sites explicitly allow those helper programs.
Going further, it would be trivial to randomize delays and user input, but the more difficult thing would be to make it random in a human way. Human input is obviously not random but fits into detectable patterns with certain levels of variance. I'm sure the people running the sites could use all sorts of stats in their bot detection algorithm such as when the time gets past midnight in the local time zone human users starts to get sleepy and the avg response time goes down by 50ms or whatever...
Clicking the button in the exact same spot is not a good way to detect a robot though. Many multi-tabling players use hotkeys to trigger their actions, which is much nicer than a mouse and is almost essential once you get up to 12+ tables.
AutoIt and others don't actually click the button though. So they are not the same behavior.
Poker sites can tell if the keyboard interrupt came from which usb id so that isn't really an option. Moving the mouse is much more likely not to have a way to see if the hardware caused it. Hence why it is used more often.
The last I saw the custom bots being run were buying up hand histories by the millions and using pre-flop agression and all the other factors to preform clustering. Then they clusters were used to choose a strategy.
Stars and FTP are both pretty good about finding bots. But poker bot writers are learning from game bot makers. They are pretty well protected on the client end. So as long as the bots have some variance they are really hard to spot. And a lot of the variance comes from choosing how to play the person who is betting. Though it looks like some bot writers have not been putting enough variance into their bots.
For a long time the big push was to find ways to make the input look like it came from a human. Moving the cursor to the exact middle of the button you want to push every time in <100ms is a dead give away. I don't really know if this was ever something that FTP and stars used though.