IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Live Tracker Poker


Sujet :

Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 15
    Par défaut Live Tracker Poker
    Bonjour a tous

    voila je voudrais realiser un programme dans le style de pokerOffice ou pokerTracker.
    pour ceux qui ne connaissent pas : ces programmes analysent et donnent des statistiques en temps reel pour une partie de poker en reseau.

    ma question est la suivante :
    dapres vous comment ces 2 programmes reçoivent les données ?
    selon moi par un tracker de packet (en analysant les pacquets destiné au client poker)
    ou alors en analysant la fenetre du client (graphique) ?

    selon moi le tracker est plus plausible mais jaurais voulu avoir votre avis

    si vous avez un peu d'experience dans le domaine j'aimerai que vous me conseillez un bon site explicatif pour realiser ce genre de programme

    d'avance merci a tous

    john

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    Réponse 3: à mon avis, ce n'est aucune des deux solutions que tu proposes.

    Ces logiciels doivent à mon avis être programmés en se greffant sur des API spécifiques fournies par les sites de jeux en ligne, avec des méthodes permettant de se connecter et de suivre en direct les parties en cours.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 15
    Par défaut
    je ne pense pas que les sites de jeux de ligne (tel que full tilt poker) proposent de telles API, en effet ils ont LEUR client pour suivre les parties en ligne ...

    de plus en fouillant dans pokerOffice (fait en java) et en decompilant les classes
    je trouve des appels a des methodes de la librairies aetdata qui est une sorte de tracker ...
    ce qui me fait hesiter entre les 2 solutions c'est que dans les sources il y a aussi des classes servant a la reconnaissance de caractere (style OCR) ...

    mais le plus gros du code est dans des *.xclass qui sont crypté, je vais donc essayer de les charger avec le loader qui est fournit pour ces classes et essayer de trouver un moyen d'en extraire le code ...

    voila voila ...

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Par défaut
    L'outil que j'utilise pour faire du poker en ligne stocke tout simplement :

    - sur mon poste,
    - dans une petite base de donnée (SQLite),

    les stats des mains qui ont été jouées.

    Il suffit alors d'aller lire les infos, pas besoin d'intercepter quoique ce soit !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 15
    Par défaut
    excuse moi de te dire ca Duc Lebowski,
    mais je ne vois pas en quoi te remarque est pertinente ...

    c'est tres bien pour toi si tu utilise un programme qui te convient,
    moi mon but, c'est d'enprogrammer un dans le genre ...

    et donc je cherche des gens savant comment faire pour intercepter les donneées sur les parties (envoyée par le serveur)

    j'ai essayé la libraire jpcap mais je ne trouve pas de bonne documentation ...

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Par défaut
    Tu demandais comment fait PokerTracker, je te le dit voilà tout. Après fais ce que tu veux...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2003
    Messages : 15
    Par défaut
    non tu ne dis pas comment il fait pour recuperer les données du serveur,

    L'outil que j'utilise pour faire du poker en ligne stocke tout simplement :

    - sur mon poste,
    - dans une petite base de donnée (SQLite),

    les stats des mains qui ont été jouées.

    Il suffit alors d'aller lire les infos, pas besoin d'intercepter quoique ce soit !
    tu explique juste (en gros) ce que fait ce programme avec les données qu'il a interceptées

    bon je vais eclaircir la question parceque jai 'limpression que tu ne la comprends pas ...

    si pokertracker ou pokeroffice n'existait pas ...
    comment feriez vous pour intercepter les données envoyées par un serveur a un client, sans que le serveur ou que le client ne soient au courant ...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 67
    Par défaut
    Salut,
    Je m'interesse actuellement à la meme chose que toi.

    Je pense qu'il y a plusieurs techniques pour faire ce genre de choses :
    - Sniffing des connexions réseaux (protocole crypté??!!!)
    - Interception/détournement de la messagerie windows
    - Trouver les structures de données interessantes en mémoire par reverse engineering, pour faire des ReadMemory
    - API Hooking
    - Pattern matching

    Vous en connaissez d'autres ?

  9. #9
    Nouveau candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut sqlite
    Tout dabord salut a tous, je suis nouveau sur le forum et j'espere pouvoir contribuer a sa pertinence.

    Sinon j'ai moi aussi l'intention de developpé un tel utilitaire.
    Et Duc lubowski, a raison et vous a mis sur une piste, car a mon avis vous pouvez oublier toutes les autres (Sniffing de trame, Hooking de message, API dedié ...) qui serais eventuellement possible, mais bien trop compliqué. et puis pourquoi faire compliqué qd on peut faire simple .... tel est ma devise en developpement.

    Pour info,
    Je joue sur un site de poker online. celui ci stock toutes les statistiques de mes sessions automatiquement dans une base de donnée locale. cette base de donnée est gerer par SQLITE (en tout cas pour mon site de poker) et le fichier se nomme nomdujoueurStatistic.db. en plus en fouillant en peu, on se rend compte qu'il y'a meme un petit exe nommé "sqlite3.exe" ... ^^ humm sympa.

    du coup j'ai essayer ca:
    "sqlite3.exe NomDuJoueurStatistic.db" en ligne de commande et hop me voici connecter a une base de donné ??!! cool , ensuite quelque petit select du genre: select * from player
    ou encore select * from hand ... et la stupefaction , tout l'historique de toutes mes mains ... bah voila y'a plus qu'a (bon ok pour le nom des tables, j'ai trouver dans le fichier de creation de base qui est juste a coté du fichier de stat ...)

    sachant que cette base est allimentée par toutes vos mains, suffit d'allé taper dedans pour recuperer tout ce qui vous interresse pour faire vos stats ... facile nan ?

    voilou j'espere que ca pourra vous aider.
    bon dev et a++

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Par défaut
    Merci Kelesys, j'avais abandonné tout espoir de convaincre que celà ne sert à rien de prendre une massue pour tuer une mouche !

    Surtout que d'aller sniffer les trâmes IP, sachant qu'on se retrouve certainement avec des protocoles "maison" spécifiques selon le logiciel de poker utilisé ! Bon courage pour décrypter le bazard !

    Autant s'attaquer directement à des sites bancaires, ça peux gagner plus que le poker

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 67
    Par défaut
    J'ai vérifié je n'ai pas de base de données SQL avec mon appli de poker...
    Et puis j'aimerais également comme poker office, calculer les cotes en temps réel. Pour ca, on ne peut pas utiliser l'historique des mains!
    J'ai regardé en sniffant les echanges client / serveur. Je n'ai rien pu tirer.
    Au niveau messagerie windows, les seuls evenements que je vois, ce sont des WM_PAINT et WM_TIMER. La non plus, on ne peut pas faire grand chose.

    Pour conclure, je suis dans l'impasse

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Par défaut
    Arfff, c pas de bol !

    Et pourquoi tu ne veux pas utiliser PokerTracker ou PokerOffice ?

  13. #13
    Nouveau candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut
    c'est clair, c'est pas cool, si ya pas ce genre de fichier locale ...
    Pour ma part l'envie de faire un tel tool est toute fraiche. et je n'ai regarder que ce que je pouvait trouver pour mon appli, je n'ai pas regarder comment stocké les autres sites.
    quel est ton site de poker ? je jetterais un oeil, car j'aimerais essayer de faire une appli qui gere +ieurs site poker.

    mais je pense qu'il doit y avoir des infos stockées quelque part sur ton pc, peut etre pas dans une base de donnée. car poker tracker fonctionne sur ce modele, on lui indique pour quel site de poker on veux recuperer les stats, et il vas "taper" dans des infos stocké en locale ... et apparement poker tracker gere beaucoup de site de poker different, et tous sont basé sur un fichier locale ...
    dailleur, je te conceillerais dans un premier temps de jouer avec poker tracker, ca t'eclaireras surement. et en plus ca devrait te donner pas mal d'idées pour ton soft a toi.

    enfin voilou, bon courage en tout cas, et hesite pas a tenir au courant de ton avancement.

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 67
    Par défaut
    Citation Envoyé par Duc Lebowski Voir le message
    Et pourquoi tu ne veux pas utiliser PokerTracker ou PokerOffice ?
    Pour le fun, ca faisait une petite idée de projet...
    Et puis ils sont payants

    Sur les rooms ipoker, les historiques sont stockés sous forme xml. Donc c'est facile à utiliser. Je crois que je vais me rabbattre la-dessus.

  15. #15
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Par défaut
    La plupart des sites de poker sauvent l'historique des mains en local, et c'est cet historique que lit PokerTracker / pokeroffice.
    C'est sous la forme de fichier xml, txt(everest) ou base sql (ongame) sur les sites que je connais...

    de mon coté, j'essaie de rendre compatible avec PockerTracker le site sur lequel je joue.
    J'ai des fichiers xml que pokertracker ne sait pas lire et je voudrais les traduire en un format qu'il arrive a importer (donc au format d'un autre site de poker).

    Est ce que quelqu'un peut eventuellement m'aider a creer un outil pour ce faire?
    J'ai regardé en direction de XLST mais ca me parait tres compliqué...

    Je ne suis pas developpeur, mais il me semble que c'est un projet interessant. Je n'ai aucune idee de la difficulté de celui ci cependant...

  16. #16
    Membre éclairé Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Par défaut
    pour ma part, je parse le résultat des parties qui sont stockées sur http://www.pokernetwork.co.uk/games/...P4-55343131-15 par exemple.

    (le lien de la partie est indiqué dans tous les logiciel online que j'ai testé)

  17. #17
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Par défaut
    comment tu fais pour parser ?

  18. #18
    Membre éclairé Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Par défaut
    hé bien, c'est beaucoup plus facile à dire qu'à faire :
    Le programme que j'ai fait télécharge la page web, vire les balises html puis analyse ligne par ligne le jeu de chacun.

    Le probleme est que je ne fais pas de statistiques : j'analise partie par partie sans prendre en compte ce qui c'est passé aux parties précédentes.
    En gros, j'affiche différament ce qu'il y a sur cette page web.


    Au fait, ou sont stocqués vos fichier xml, txt ou base sql?? Je ne pense pas en avoir étant donné que je joue dans un applet java via europoker ou pokerroom

  19. #19
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Par défaut
    c'est plus ou moins ce que je cherche a faire ... sans arriver a voir comment le faire.
    Je veux transformer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <game id="10463649-2650" starttime="20071209131802" numholecards="2" gametype="2" realmoney="true" data="20071209|Lima (10463649)|10463649|10463649-2650|false">
    	<players dealer="4">
    		<player seat="3" nickname="chuk101" balance="$0.60" dealtin="true" />
    		<player seat="5" nickname="ITZAHOLDUP" balance="$4.33" dealtin="true" />
    		<player seat="2" nickname="groovybabe" balance="$7.25" dealtin="true" />
    		<player seat="4" nickname="Seb" balance="$9.85" dealtin="true" />
    	</players>
    	<round id="BLINDS" sequence="1">
    		<event sequence="1" type="SMALL_BLIND" player="5" amount="0.05"/>
    		<event sequence="2" type="BIG_BLIND" player="2" amount="0.10"/>
    		<event sequence="3" type="INITIAL_BLIND" player="3" amount="0.10"/>
    	</round>
    	<round id="PREFLOP" sequence="2">
    		<event sequence="4" type="CHECK" player="3"/>
    		<event sequence="5" type="FOLD" player="4"/>
    		<event sequence="6" type="CALL" player="5" amount="0.05"/>
    		<event sequence="7" type="CHECK" player="2"/>
    		<cards type="HOLE" cards="2d,8s" player="4" hand="Eight High"/>
    	</round>
    	<round id="POSTFLOP" sequence="3">
    		<event sequence="8" type="ALL_IN" player="5" amount="4.23"/>
    		<event sequence="9" type="CALL" player="2" amount="4.23"/>
    		<event sequence="10" type="FOLD" player="3"/>
    		<event sequence="11" type="SHOW" player="2"/>
    		<event sequence="12" type="SHOW" player="5"/>
    		<cards type="COMMUNITY" cards="Js,8c,5c" hand="Pair of Eights"/>
    		<cards type="SHOWN" cards="7c,Jd" player="2"/>
    		<cards type="SHOWN" cards="4d,5d" player="5"/>
    		<cards type="COMMUNITY" cards="Js,8c,5c,3d" hand="Pair of Eights"/>
    		<cards type="COMMUNITY" cards="Js,8c,5c,3d,6h" hand="Pair of Eights"/>
    		<winner amount="8.33" uncalled="false" potnumber="1" player="2" hand="Pair of Jacks" pottype="n"/>
    	</round>
    </game>

    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <HAND time="1179328991" id="1531673381" index="1" blinds="$.05/$.10" stakes="$.10/$.10">
      <SEAT position="0" name="Blind.09220" balance="100"/>
      <SEAT position="1" name="b1a1l1i" balance="535"/>
      <SEAT position="2" name="jailedroit" balance="275"/>
      <SEAT position="3" name="bielekusen" balance="760"/>
      <SEAT position="4" name="Seb" balance="700"/>
      <DEALER position="0"/>
      <BLIND position="1" amount="5" penalty="0"/>
      <BLIND position="2" amount="10" penalty="0"/>
      <BLIND position="3" amount="10" penalty="0"/>
      <BLIND position="4" amount="10" penalty="0"/>
      <HOLE position="1">--</HOLE>
      <HOLE position="2">--</HOLE>
      <HOLE position="3">--</HOLE>
      <HOLE position="4">5s</HOLE>
      <HOLE position="0">--</HOLE>
      <HOLE position="1">--</HOLE>
      <HOLE position="2">--</HOLE>
      <HOLE position="3">--</HOLE>
      <HOLE position="4">Qh</HOLE>
      <HOLE position="0">--</HOLE>
      <BET position="3" amount="0"/>
      <BET position="4" amount="0"/>
      <BET position="0" amount="100" allin="1"/>
      <FOLD position="1"/>
      <BET position="2" amount="90"/>
      <FOLD position="3"/>
      <FOLD position="4"/>
      <SWEEP rake="11">214</SWEEP>
      <SHOW position="2">Jh, 2h</SHOW>
      <SHOW position="0">5h, 4c</SHOW>
      <COMMUNITY>Ah, 2d, 10c, Jd, 9s</COMMUNITY>
      <SHOW position="0">5h, 4c</SHOW>
      <SHOW position="2">Jh, 2h</SHOW>
      <WIN position="2" amount="214" pot="0", potAmount="214"/>
    </HAND>

  20. #20
    Membre éclairé Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Par défaut
    Ca ne sera pas fait en 2-2

    il faut faire un programme qui analyse le fchier xml initial (en utilisant le dom par exemple) pour en construire tes objets se rapprochant le plus près possible du format de fichier de sortie

    ensuite tu écris tes objets dans un fichiers sous le format de ton 2ieme fichier xml.

    Les deux fichiers sont tout de meme assez différents donc il n'est pas sure de trouver "tel quel" les infos dans le premier fichier pour les mettre dans le second.


    Bon courage.

Discussions similaires

  1. Poker Statistique Tracker
    Par guillaume_pays_ceven dans le forum Général Python
    Réponses: 4
    Dernier message: 10/12/2008, 22h44
  2. [plugins] Equivalent des Live Templates dans Intellij
    Par rozwel dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 04/02/2005, 06h37
  3. [SWT] Utilisation de la classe Tracker
    Par arN34 dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 24/11/2004, 10h28
  4. Problème avec une carte Sound Blaster Live
    Par zogstrip dans le forum Matériel
    Réponses: 4
    Dernier message: 25/09/2004, 20h43
  5. Réponses: 5
    Dernier message: 24/04/2003, 22h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo