Play poker in your terminal over SSH

cli.poker

2 min read Original article ↗

Play Texas Hold’em poker over SSH

No install needed. Just open your terminal and type:

your ssh key is your identity

See it in action

How it works

cli.poker is an SSH client for playing ranked heads-up No-Limit Hold’em matches against other players who are online.

When you connect, we look for another player to match you with. If no match is found after about 45 seconds, we connect you to a bot instead.

Matches against other players are rated. Each result updates your monthly and all-time rating and determines your position on the leaderboards.

We use Glicko-2, a rating system created by statistician Mark Glickman for head-to-head competition. It is widely used in chess; Lichess uses it for its player ratings.

Each player has a rating and an uncertainty score.

The rating is the system’s estimate of a player’s strength. The uncertainty score is called rating deviation, or RD. A new player starts with a high RD because there are not enough results to know how accurate the initial rating is.

Every completed match updates both numbers.

Winning raises your rating and losing lowers it. The size of the change depends on your opponent’s rating and RD. Beating a stronger player raises your rating more than beating a weaker player. Losing to a stronger player lowers it less.

Ratings become more stable as you play.

As you complete more matches, RD falls and the system becomes more certain about your rating. New results still change the rating, but a single match has less influence. If you stop playing for a while, RD rises because an older rating is less certain.

The leaderboard uses a conservative score.

Poker has more short-term variance than chess. To avoid placing a player with a high but uncertain rating at the top, the leaderboard ranks a score we call Skill.

Skill = Rating − 2 × RD

A lower RD produces a Skill score closer to the underlying rating. Players remain provisional until their RD falls below 75. Every completed match updates both monthly and all-time ratings.

Why use a public rating?

A rating gives each completed match context and gives players a reason to return and improve. It also makes the public table a more useful place to practice decisions against a range of opponents.