Anti-cheat

Add your suggestions for improving Poker Mavens
Demented
Posts: 83
Joined: Sun May 10, 2009 1:00 am

Anti-cheat

Post by Demented »

Not sure if this is possible or not. Would be pretty awesome if it is.

A "smart" code that pays attention to how people bet. Like if two people constantly play each other, and one of the people always loses and folds an all-in after pushing all of their chips but one in, the code recognizes it and if they're on the same IP or not, and after xx times it boots them from the server for 15 minutes and is shown in a log of people doing that. Easier to catch cheaters and keep it under control without having to prevent the same IP from being logged in multiple times at once.

I can explain it better if needed.
Kent Briggs
Site Admin
Posts: 5878
Joined: Wed Mar 19, 2008 8:47 pm

Re: Anti-cheat

Post by Kent Briggs »

Demented wrote: A "smart" code that pays attention to how people bet. Like if two people constantly play each other, and one of the people always loses and folds an all-in after pushing all of their chips but one in, the code recognizes it and if they're on the same IP or not, and after xx times it boots them from the server for 15 minutes and is shown in a log of people doing that. Easier to catch cheaters and keep it under control without having to prevent the same IP from being logged in multiple times at once.
What you described is "chip dumping". Normally that's only an issue in tournaments. That's occurring in ring games at centpoker because of your policy of allowing unlimited account reloads. It's unlikely I'd bloat the game server code with that kind of site-specific micro-management. It wouldn't know what context things were happening under. But you can parse the hand history files with your own code to detect whatever betting patterns you don't allow. And then give warnings, suspend accounts, etc.
Demented
Posts: 83
Joined: Sun May 10, 2009 1:00 am

Re: Anti-cheat

Post by Demented »

Does the hand history record how many chips where bet, how many chips the player had in hand, and how many they had left when they folded? If not, I really do not see how that would help spot patterns other then just seeing if someone constantly folds to one account.
Kent Briggs
Site Admin
Posts: 5878
Joined: Wed Mar 19, 2008 8:47 pm

Re: Anti-cheat

Post by Kent Briggs »

Demented wrote:Does the hand history record how many chips where bet, how many chips the player had in hand, and how many they had left when they folded?
Yes, of course, that's what a hand history file is for. You can reconstruct every aspect of the hand with it. Below is one hand I just grabbed client-side from your site. The same data is saved server-side in files if that option is enabled in the server settings. The server side file also have the option of saving the table chat and can be retrieved remotely via the API.

Hand #1812963-69 - 2009-06-02 21:53:28
Game: No Limit Hold'em (500 - 1500) - Blinds 10/20
Site: CentPoker.com
Table: Ring Game #16
Seat 1: MrGoodCat (1000)
Seat 3: riptiderat (3050) - sitting out
Seat 5: Paugh (440)
Seat 6: NumberTwo (810)
Seat 7: cbarr (2130)
Seat 8: ilovelamp (857)
Seat 10: diaper_dandy (390)
ilovelamp has the dealer button
diaper_dandy posts small blind 10
MrGoodCat posts big blind 20
** Hole Cards **
Paugh folds
NumberTwo calls 20
cbarr folds
ilovelamp raises to 80
diaper_dandy folds
MrGoodCat calls 60
NumberTwo calls 60
** Flop ** [Ad Qc 3c]
MrGoodCat checks
NumberTwo checks
ilovelamp bets 100
MrGoodCat folds
NumberTwo calls 100
** Turn ** [Js]
NumberTwo bets 50
ilovelamp calls 50
** River ** [9d]
NumberTwo bets 100
ilovelamp calls 100
** Pot Show Down ** [Ad Qc 3c Js 9d]
NumberTwo [Kd Ac] has a Pair of Aces +KQJ
ilovelamp [7h As] has a Pair of Aces +QJ9
NumberTwo wins Pot (750) with a Pair
Demented
Posts: 83
Joined: Sun May 10, 2009 1:00 am

Re: Anti-cheat

Post by Demented »

Awesome.
Alex
Posts: 53
Joined: Sun Mar 08, 2009 10:08 pm

Re: Anti-cheat

Post by Alex »

How can we save it to a database?
Kent Briggs
Site Admin
Posts: 5878
Joined: Wed Mar 19, 2008 8:47 pm

Re: Anti-cheat

Post by Kent Briggs »

Alex wrote:How can we save it to a database?
The hand history file? I suppose the same way you would save any piece of text data. Use the LogsHandHistory API to retrieve them from the game server.
Alex
Posts: 53
Joined: Sun Mar 08, 2009 10:08 pm

Re: Anti-cheat

Post by Alex »

we want something we can easily parse in PHP to upload to a MySQL database

is that possible?
vpalmer
Posts: 5
Joined: Thu Sep 04, 2008 1:05 am

Re: Anti-cheat

Post by vpalmer »

Hey Kent, long time no see. I've been working with Alex on getting a method to parse hand history into a standard MySQL database type format.

The problem we're running into is that the history is very "conversational" in tone, and hard to parse with PHP.

It would make it a lot easier on us if the reports were in a much more standardized fashion ... and actually, I imagine it would make it easier on you as well since I know you have to have this information raw somewhere on the server. For example, something like just like a flat-file format such as:

HAND_ID DATE_TIME STAGE PLAYER_NAME SEAT_NUMBER ACTION AMOUNT CARD1 CARD2 CARD3 CARD4 CARD5
HAND_ID DATE_TIME STAGE PLAYER_NAME SEAT_NUMBER ACTION AMOUNT CARD1 CARD2 CARD3 CARD4 CARD5
HAND_ID DATE_TIME STAGE PLAYER_NAME SEAT_NUMBER ACTION AMOUNT CARD1 CARD2 CARD3 CARD4 CARD5
HAND_ID DATE_TIME STAGE PLAYER_NAME SEAT_NUMBER ACTION AMOUNT CARD1 CARD2 CARD3 CARD4 CARD5

obviously, many of these fields would be blank, such as when McCatt folds, well, then amount would be 0, etc, because it's not relevant. But that's fine for us. It's far easier for us to discard useless information than to try to reconstruct what IS useful.

So basically, what we're asking for is a play-by-play of the hand with as MUCH state information as possible, even (especially) if most of it never get's used. We have space, it's just hard to process natural language (although, you've done a GREAT job at getting a human readable summary of the hand btw ... hats off to you sir!).

Victor
rjones33
Posts: 98
Joined: Tue Jun 24, 2008 6:51 pm
Location: Warrenville, SC
Contact:

Re: Anti-cheat

Post by rjones33 »

The log files are not that hard to parse. They represent everything that happened in the hand already. The files are broken up nicely into sections from the seating, Hole Cards, Flop, Turn, River, Pot Show Down. You can parse through each section and do what ever you want (Extract info and store in your MySQL database) or whatever you are looking to do. I am using vb.net in conjunction with the api , but the logic would be similar no matter what language is used. I'm not a PHP guy, but I would venture to say from the code examples that Kent has already posted that you can achieve what you want in PHP.
Post Reply