Using The Demo Client

Run the demo client

If you haven't yet got the client building, please see the Quick Start page.

From Visual Studio press F5.

Note: If you see a "TransformXML" error, please visit the Known Issues page.



First enter your bot id and password to login. All accounts have a bot id automatically created as:


– so for example paulmc-defbot if your user name was paulmc.
The default bot uses your user account password.

Each user account can have multiple bot ids.
A bot id may be logged in on multiple client programs at the same time.
You can add new bot ids, change their passwords and move satoshi among bots and your user account using the Bot Management screens on the web interface.

You will see a screen such as:


The current balance of your bot is shown on the top line e.g. 9900 sat (satoshi).

The Specify Opponent text box allows you to specify that you wish to play a particular opponent. If you leave this blank, you will play the next available bot.

Offer to Play a Game

In the list box, you see the various game styles available. For example, game style 38 is played for 1 satoshi with a timeout of 3000 ms. You also can see a near realtime number of players in games and those waiting for a game.
Double clicking a game style line means you are offering to play a game of that style. You will either be immediately matched to an opponent if there is one waiting, or you will wait for an opponent to offer to play you. In the latter state, a button appears “Cancel Game Offer” which allows you to cancel your offer.


The Add “Thinking Time” text box allows you to enter an artificial delay into how fast your client plays the game. Setting this value to 0 plays the games as fast as possible, but you may find it useful in testing to set this higher to allow you to view the game as it progresses. However, the client must respond to the server within the timeout specified in the game style, or the bot will immediately lose the game.

The Play another game when complete checkbox allows you to continuously play games of the style you selected. When one game is complete, your client will automatically offer another game of the same style.

The demo client can be run immediately, but chooses it’s bets at random.

Once you begin to play a game, you will see a screen such as this:


The details of the game are shown in the top of the animated play area.
A status message appears at the bottom of the animated play area.

Once one game is complete, the result is shown in the lower left of the client interface as “Last game result”.
You can click the Stop Game button to force a game to stop, but you will lose in this case.

How Games are Conducted

Each player receives 1000 chips. The blinds are set and remain at big blind = 20, small blind = 10. The initial dealer is randomly selected and the non-dealer receives one additional chip. (This allows for the tiny advantage the dealer has in going first and also means no game can result in a draw.)

Deals of hands are held until either one player has run out of chips, or until the number of deals specified in the game style have been played (you can view the number of deals in the game style in the Game Styles tab in the web interface after you have logged in). If all deals are held, then the player with the most chips after the last deal is the winner.

Command Line Parameters

You can run the demo client from the command line and set up one or more values and/or start playing games. The following command line parameters are supported:

/botid:[botid to log in as]
/gamestyle:[game style id to select an offer game in on startup]
/playanothergame (checks play another game checkbox)
/timeout:[thinking time value to override 500ms default]
/opponent:[specify opponent bot id value]
/closeaftergame (closes client once game is complete, unless play another game checkbox is selected at that point)

TexasHoldEm.exe /botid:bot1 /password:pass1 /gamestyle:9 /playanothergame /timeout:1000 /dontplaysameuserbot
TexasHoldEm.exe /botid:bot2 /password:pass2 /gamestyle:9 /timeout:1000 /opponent:villainbot /closeaftergame

Suggested reading…

Adding Intelligence to Your Bot

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License