10 Replies - 198 Views - Last Post: 05 February 2012 - 09:17 PM Rate Topic: -----

Topic Sponsor:

#1 nick2price  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 503
  • View blog
  • Posts: 2,595
  • Joined: 23-November 07

real poker app

Posted 04 February 2012 - 07:58 PM

Hi guys. I have been given permission by one of the largest poker sites to develop a poker app. The main part of this app will be similar to others out there, and from the time you first run the app, it will collect information about every hand you play, and the hands of the players you play against. It will also collect other information such as pot sizes and other percentages.
Basically, the whole idea of the app is to build up your own personal database of player statistics.

According to the poker site I am in contact with, they dont have any api or anything. So my question is this. How do you reckon the existing apps grab this information on the players you play against? There must be some communication with the poker client, I really cant think of any other way of achieving this. How can my app tell that the player I am playing against has KQ of spades? Even though the poker site dont support the development of these apps in any way, there must be a way of hooking into the system. I dont know to much about socket programming, but I was thinking maybe something down these lines?

Anyways, and thoughts and opinions appreciated.

Cheers (mods - didnt know where to post this, feel free to move)

Is This A Good Question/Topic? 0
  • +

Replies To: real poker app

#2 no2pencil  Icon User is online

  • 2 girls, 1 club
  • member icon

Reputation: 3062
  • View blog
  • Posts: 22,963
  • Joined: 10-May 07

Re: real poker app

Posted 04 February 2012 - 08:03 PM

I don't have any advice, but would like to say congrats on landing the gig!
Was This Post Helpful? 0
  • +
  • -

#3 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon


Reputation: 7523
  • View blog
  • Posts: 28,896
  • Joined: 27-December 08

Re: real poker app

Posted 04 February 2012 - 08:10 PM

If this is a website, they probably use the Java EE platform if they're using Java. This probably means it will be more database heavy than anything else. If it is divided up into Poker rooms, there should be a table to relate which players are in which rooms. I'd try and make this database intensive.

And congrats on the gig!
Was This Post Helpful? 1
  • +
  • -

#4 nick2price  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 503
  • View blog
  • Posts: 2,595
  • Joined: 23-November 07

Re: real poker app

Posted 04 February 2012 - 08:11 PM

Actually, anyone can do it as long as you keep to the rules. Infact, get something good up and running, it can become very profitable. I dont plan on making anything commercial, but something personalised to myself. I could do the simple thing and purchase one of the apps out there, just thought it would be more fun coding my own :whistling:
Was This Post Helpful? 0
  • +
  • -

#5 blackcompe  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 719
  • View blog
  • Posts: 1,692
  • Joined: 05-May 05

Re: real poker app

Posted 04 February 2012 - 08:12 PM

I'm confused. Are you hooking into an existing system or are you basically developing the entire system from the ground up? How does their system work now? Is it client/server? A networked poker game could be client/server or P2P. It would be built just like any other networked game.

If the game uses a web client (in flash or something), then Java EE would probably be used, that's if the they're using Java. But if your talking Swing desktop/mobile client, Java EE isn't necessarily being used.

This post has been edited by blackcompe: 04 February 2012 - 08:17 PM

Was This Post Helpful? 1
  • +
  • -

#6 nick2price  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 503
  • View blog
  • Posts: 2,595
  • Joined: 23-November 07

Re: real poker app

Posted 04 February 2012 - 08:30 PM

I will be developing it from the ground up. The poker clients I will need to hook into are desktop clients. The current poker system would be client/server.

So basically I will have the poker client running on my desktop. I will then run my app alongside this. My app should somehow be able to grab data from the poker client. This is the challenging part. I dont have access to their server and the poker clients do not freely allow access to their server. This is not to say that I cant try and create my own way of accessing their server. This must be how other apps like the one I want to develop grab their data, I cant think of any other way which isnt ridiculous (I was even starting to think that maybe they run an artificial intelligent program which is able to see the screen of the user who is using the app, and then through a process similar to facial recognition, be able to identify the cards which are dealt, lol. I suppose this could work, but I think this would be slightly over the top).
Was This Post Helpful? 0
  • +
  • -

#7 blackcompe  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 719
  • View blog
  • Posts: 1,692
  • Joined: 05-May 05

Re: real poker app

Posted 04 February 2012 - 08:45 PM

So basically, I open a Swing app, which connects to a central server. I'm thrown in a game with several other players. The server relays all peer-to-peer communication. Am I right so far?

Quote

So basically I will have the poker client running on my desktop. I will then run my app alongside this. My app should somehow be able to grab data from the poker client.


Then I open another app which has to somehow get access to all the data being sent to and from the client (via the server). Is this correct? There are no client plug-ins to facilitate this. Is that correct?

Quote

This must be how other apps like the one I want to develop grab their data, I cant think of any other way which isnt ridiculous (I was even starting to think that maybe they run an artificial intelligent program which is able to see the screen of the user who is using the app, and then through a process similar to facial recognition, be able to identify the cards which are dealt, lol. I suppose this could work, but I think this would be slightly over the top).


That's funny...

This post has been edited by blackcompe: 04 February 2012 - 08:47 PM

Was This Post Helpful? 0
  • +
  • -

#8 nick2price  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 503
  • View blog
  • Posts: 2,595
  • Joined: 23-November 07

Re: real poker app

Posted 04 February 2012 - 09:00 PM

pretty much correct in everything. Not sure if the poker client is Swing though. Remember, I didnt create the poker client. I have no association with it whatsoever. Infact, you could say that I have no knowledge of it in the slightest, besides the fact that it lets me play poker against other players. In a sense, I am blind! The app I developer basically needs to have a communication with the poker client and ask it things like what cards were dealt to me in that hand. My funny thoughts are becoming more realistic by the minute :bigsmile:
Was This Post Helpful? 0
  • +
  • -

#9 blackcompe  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 719
  • View blog
  • Posts: 1,692
  • Joined: 05-May 05

Re: real poker app

Posted 04 February 2012 - 09:13 PM

As long as you have access to the game's protocol specification, you can capture and analyze network packets with Jpcap. Then send your analysis results off to the poker servers. There are good C# libraries out there too.

This post has been edited by blackcompe: 04 February 2012 - 09:18 PM

Was This Post Helpful? 2
  • +
  • -

#10 blackcompe  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 719
  • View blog
  • Posts: 1,692
  • Joined: 05-May 05

Re: real poker app

Posted 05 February 2012 - 08:27 PM

If there's application-layer encryption, packet inspection may not work.
Was This Post Helpful? 0
  • +
  • -

#11 MasterZeddicus  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 27
  • Joined: 30-January 12

Re: real poker app

Posted 05 February 2012 - 09:17 PM

Unless you actually have access to the server this isn't going to work at all, from what your story is sounding like it sounds more like developing from a 3rd party standpoint without any access to any code or even user permissions to log into their databases. Without that what you're trying to accomplish is impossible.

Personally I made one to track my gaming from the text logs generated from most random poker games but this will only ever tell you the hands which won, or were shown due to an all in. You can also code it to check for showing cards via which image packet is sent to your client in order to recognize your own hand, but not other players you are never sent these packets.

As far as reading the rest of the hands, again without proper access it's literally impossible. How an actual poker hand works in a game is more like the following.

Player Joins Table, takes seat, and places blinds.
A player ID is generated and the table class is told that it has to deal to an extra player.

The "shuffle" and all cards to be dealt are generated. But they STAY SERVER SIDE!

Once the random selection of cards is made packet is sent to each player ID saying to display the cards which the player was dealt. You are not sent your cards, you are not sent the values of them, nothing, just an object your client decodes to see which two images to display for your cards, and which three for the flop, turn, and river when they are respectively "dealt".

Depending on whether you raise or whatever these packets are sent to the server. And the game goes on like so.

The important thing to understand is that client side has absolutely no access to the cards other players have. The server knows the cards, and the server determines the winning hands, then credits the player ID in question. You seeing the flop, or seeing the river on your screen, or being told you won the hand are all just methods being run telling your screen what to display and are entirely independent on the methods which held the actual values of the cards in play, or who won, or any of that.

So in the end the only way to code something like this would be integrated into the game, or running along side of it, and either way it would have to be done server side with a whole lot more access rights than is possible from client side.

Hope this helps.
Z
Was This Post Helpful? 1
  • +
  • -

Page 1 of 1