Jump to content

pokerish

From Hugo's wiki

pokerish is a Texas Hold'em poker simulation: a game engine, a WebSocket server and an optional raylib table GUI in one binary. Remote clients, human players or bots, connect over WebSockets and talk JSON.

Game modes

  • Cash game (default): 2–10 seats, empty seats filled by auto bots, busted players rebought; the game never ends.
  • Tournament (--tournament): sit-and-go with rising blinds, antes, a countdown and winner-takes-all elimination.

Features

  • All-in-one server; --headless skips the GUI.
  • A raylib play client for humans and several reference bots, from a minimal example to a GTO bot with opponent modeling.
  • Human-like thinking delays with --simulate.
  • Hand history export in PokerStars format (--export-dir hands).
  • Seeded determinism for tests and experiments.

Building

It is C++17 and needs make, cmake, libwebsockets and the raylib platform packages. The third-party libraries are submodules:

$ git clone --recursive --depth 1 https://github.com/hugoocoto/pokerish
$ cd pokerish
$ make

This builds the server, the bots and the human client. It runs on Linux, macOS and Windows (MSYS2).

Documentation

Document Contents
HOW_TO_HOST.md Running the server: flags, modes, tournaments
HOW_TO_BOT.md Writing a bot
API.md The WebSocket/JSON protocol

See also