A complete, self-contained 9-seat Texas Hold'em platform written in plain PHP.
No MySQL required — game state is stored in JSON files on disk, so it runs on any
shared host with PHP 7.4+.
The strategic bots work fully offline; you can optionally plug in a
DeepSeek API key to make them even sharper — one file,
off by default.
Strategic bots Preflop GTO-informed ranges and Monte Carlo equity — plus an optional DeepSeek AI layer for sharper, exploitative play.
Hand history & replay Every hand is recorded and can be replayed street by street.
Theme system Auto-discovered CSS themes; players pick their own in the Profile dialog.
Quick start
Upload the CONTENTS of the Source/ folder to your web host
(the files go directly into the web root, NOT into a "Source" sub-folder).
Do NOT upload Documentation/.
Run setup: open https://your-site.com/setup.php and follow the 2 steps.
Play: open index.php, register, and take a seat.
Important: after setup, use the one-click cleanup button to delete
setup.php.
2–9 players per table; multiple rooms via the URL hash (index.php#RoomName).
Tournament mode — the seated players vote a freezeout: buy-in from the account, rising
blinds with a PokerStars-style ladder, scheduled breaks, late registration, limited rebuys and
a payout split (winner takes all / percentage / fixed). See
Tournament Mode.
Account system with avatars, country flags and per-user themes.
In-game chat with moderation (configurable banned-word list).
All-in run-out with equity display, hand history with replay.
Fair, unpredictable deal — the deck is shuffled server-side with PHP's CSPRNG
random_int() inside a Fisher–Yates loop (never rand()/mt_rand()
/shuffle()), one deck per hand, cards removed as dealt, and the deck never sent to the
browser. See User Guide.
Responsive layout with a dedicated mobile stylesheet.
Pure PHP — no Composer, no database (JSON file storage).
15 bundled CSS themes (14 load optional Google Fonts — see
Configuration to make them offline).
Live win-% display at all-in showdowns, hand-name display under the pot.
Rabbit Hunt — when a hand ends by fold-out, the cards that would have come next fly out
of the deck and flip over for about 3.5 seconds (5 cards after a preflop fold-out, 2 after the
flop, 1 after the turn). See User Guide.
Full side panel: Chat, Game info (log), Hands (replay).
Optional AI opponents (DeepSeek) — a hybrid layer that judges on top of the bot engine's
own equity/pot-odds numbers; validated, leashed, auto-fallback, and off by default. See
Configuration.
Bot personalities — every bot draws one of four archetypes when it sits down (TAG 40%,
Rock 25%, LAG 25%, Station 10%) on top of the same GTO + Monte-Carlo engine, with a human-like
thinking time that depends on the style and on how close the decision is. One switch
(POKER_BOT_STYLES_ENABLED) makes them identical again. See
User Guide.
Themes
15 bundled CSS themes, auto-discovered from assets/themes/. Players pick one in the
Profile dialog; guests can switch from the top bar.