Netpoker: a suite of programs for playing poker over the internet

A de-html-ized version of this announcement was originally posted to rec.gambling.poker on Sep 25, 1995.

Last modified, Dec 16, 1995.

Announcing netpoker-0.9 (beta).

Netpoker is a suite of programs that allow you to play poker (currently only 2-4 Limit Hold'em ) over the internet. It is freely available under the GNU General Public License . At the moment, I still consider it "under development", but it is stable enough to provide hours of entertainment, and possibly even education. I intend to continue developing it, but I am releasing it now in the hope that others might take an interest and write some code as well, or just suggest directions for future development.

The idea is that a 'holdemdealer' runs somewhere on the net and you connect to it with a 'holdemplayer'. Your opponents may be other humans, or they may be computer 'robots'. The robots that exist now are rather poor players, but they can certainly be improved with some programming effort (hint! hint!).

Netpoker is different from most other internet poker programs because it allows you to actually compete against other players. This is not Vid-poker. It's Hold'em, with real opponents, raises, bluffs, and all the rest.

One interesting feature of the player side code is that it will run a Monte Carlo "analysis" of the current situation for you. Just type 'h' at the "Bet" prompt, and it will deal a few thousand virtual hands and report some statistics about how your hand fared. The code to do this is very fast. A few thousand hands are analyzed in the blink of an eye. You can learn a lot from this kind of analysis, but it's not enough to make you a good player, as evidenced by the rather poor play of the current crop of 'robots'.

Netpoker is NOT an interface to the IRC poker channel. It is a completely separate package. Why not?

Since netpoker is available under the GPL, you can obtain it free of charge. Nevertheless, it's always nice to know that people are actually enjoying it. So in lieu of any shareware "fee", please send me an interesting postcard from your home town, university or someplace you've travelled to. I'd especially like to receive cards posted from outside the U.S. Send those cards to:

 
John Salmon 
206-49 Caltech 
Pasadena, CA 91125
	USA
Thanks and enjoy!

Collusion and cheating

Collusion between players or control of multiple players by one person is trivially easy and is grossly unfair. It is cheating. Don't do it! It does not demonstrate any cleverness whatsoever to "beat" the game in this way. The obvious situation is one where two players are sharing information about the cards they hold. In hold'em this isn't a show-stopper, but it does provide some advantage. More insidious is the possibility that two players (or one player with two seats at the table) will re-raise one another to extract the maximum bets from the other players at the table. There is very little I can do to address this problem technologically. Remember, it's not real money! We must rely on people's good will, sense of fair play, and on the general acceptance of the notion that we are playing for fun. I hope that there will be very few people who derive satisfaction from beating the game by cheating.

Playing netpoker by telnet

You can now play netpoker via telnet to sockeye.fishnet.caltech.edu and log in as 'netpoker' with password 'holdem'. If your browser supports telnet you might just be able to click on the hyperlink. Otherwise you'll have to run telnet manually. If you are able to, you are strongly encouraged to obtain and compile the netpoker code (see below). It puts a lot less strain on my system if you run the player yourself. Telnet access may go away at any time if the load gets too bad.

Getting the software

At this time, I am only doing a source-code release. To use it, you should be comfortable with extracting a gzip'ed tar file and running configure and make to build an executable on your UNIX platform. I will consider doing a binary release in the future. The code is very UNIX-specific at the moment, but if some ambitious person wants to port it to some radically different platform, be my guest. That's why it's under the GPL.

You will need:

Various versions of the source code, and some documentation is available by anonymous ftp in the directory ftp://ftp.cco.caltech.edu/pub/johns/netpoker/, or via the links below. Note that to use the links below, you may have to shift-click on the hyperlink to force your browser to save the file to disk, rather than attempt to display it.

The latest "released" version (currently 0.9, 126k, last modified Oct 31, 1995) can be obtained by shift-click'ing in most browsers. The most important new feature is that the dealer maintains a database of players so your wins and losses accumulate over time. You can also run a "private" game accessible only to players on the same machine as the dealer. The dealer running on sockeye.fishnet.caltech.edu is compiled from the version 0.9 code. It should be compatible with either version 0.8 or version 0.9 players, but the version 0.9 player gives you the opportunity to select how much you 'buy in' for.

I occasionally fix bugs, create esoteric new features, add documentation, etc. If you consider yourself part of the software avant-garde, you'll want to download the latest "pre-release" version (currently 0.10pre, last modified Dec 16, 1995). I won't knowingly put a broken version under this hyperlink, but be aware that it hasn't gone through the "rigorous testing procedures" that make the released version so stable :-).

If you find any bugs or portability problems PLEASE SEND ME EMAIL.

If for some reason you are interested in an older version, version 0.8 (121k), is here. You can also look in the anonymous ftp directory ftp://ftp.cco.caltech.edu/pub/johns/netpoker for various short-lived versions, although I can't imagine why you'd be interested.

If you don't have gunzip, you can retrieve the uncompressed version 0.9 file, but it's almost four times as large (460k).

Portability

I have compiled and run the programs under: Linux i486, Sun sparc (SunOS and Solaris), IBM rs6000, Dec MIPS, and SGI indy. I have compiled it with both native compilers and gcc where available. It compiled and ran, but the player hangs on an HP/UX machine. The player appeared to work, but the dealer hung on a Dec Alpha. I'd be very interested to hear from someone who wants to look into the problems on HP/UX or the Alpha.

Mailing list

I am optimistic that people will find this program to their liking, so I have created a mailing list for discussion of any topic related to netpoker. This might include bug reports and fixes, ideas for future development, announcements of internet sites running dealers, or anything else. To subscribe, send an email message to

majordomo@fishnet.caltech.edu containing the body:

subscribe netpoker

The mailing list has very low volume, as you can see by checking the archive. Don't be shy about joining.

Acknowledgments

Netpoker has been thoroughly tested by Dave Fullagar and Kim Sebo . They are responsible for any and all bugs that remain in the released versions :-).

Enjoy,

John Salmon

email: johns@cco.caltech.edu