Building a Server‑Authoritative Poker Engine: Phase 1 of 3
I'm a high school student developer, and for the past few months I've been building a real‑time multiplayer Texas Hold'em game from scratch. This is Phase 1: a fully functional local prototype that runs on Node.js + Socket.IO.
Important: This is not deployable yet. It's a local‑only testing prototype. I have two more major phases planned before it's ready for public release on platforms like Itch.io, CrazyGames, and Poki.
🛠️ What's Built So Far
- Real‑time multiplayer: up to 12 players per table
- Full game logic: side pots, rebuys, all‑in, showdown
- Spectator mode: watch games and request to join (host approved)
- 20‑second turn timer: auto‑fold on timeout with visual countdown
- Floating emojis: YouTube‑live style reactions
- Sound effects: synthesised via Web Audio API (no external files yet)
- Host controls: kick players, edit chips, change password, toggle rebuys, change max players
- Responsive UI: works on desktop and mobile
🧠 Technical Highlights
The entire game state is managed server‑side to prevent cheating. Some of the more interesting parts I had to figure out:
- Side‑pot algorithm: calculating multiple pots when players go all‑in
- Hand evaluator: ranking 5‑card hands from 7 cards (with kickers)
- Turn timer: server‑enforced 20s limit with auto‑fold
- Spectator flow: separate chat, request‑to‑join with host approval
🔮 What's Coming (Phases 2 & 3)
- Phase 2: major content and mechanics additions (the fun stuff).
- Phase 3: complete aesthetic overhaul and UI polish, making it ready for public platforms.
💬 Why I'm Sharing Now
I want early feedback on the core logic, UX, and any bugs before I build more on top of it.
Since I'm a student doing this in my free time, I'll respond to feedback and fix reported issues within 2 weeks (best case). If I can't make that window, I'll reply to let you know when I can, and ping you again once the fix is live.
🚀 Try It Yourself
git clone https://github.com/zihanlei/hokus-pokers
cd hokus-pokers
npm install
npm start
Visit http://localhost:3000 in your browser, host a game, and open a second tab to join as a player.
📦 Repo
https://github.com/zihanlei/hokus-pokers
Open to all feedback – feel free to open an issue, start a discussion, or email me directly at zihanlei0512@gmail.com. Thanks for reading!
Top comments (5)
Amazing work! I'm genuinely impressed with what you've built, especially as a high school student. The server authoritative architecture, side pot logic, and overall attention to detail really stand out.
I also noticed the repository doesn't have any contributors yet. If you're interested, I know a community of open source contributors who enjoy exploring promising projects like this. Bringing in contributors can lead to valuable feedback, bug reports, feature suggestions, and increased visibility. Many contributors also choose to follow the project, star the repository, or fork it if they find it useful.
I just followed you and gave your repository a star and a fork to show my support. Looking forward to seeing Phases 2 and 3. Keep up the great work!
Hi Aremu, can i also share my project with your contributors? If they find it valuable, I'd appreciate their feedback, bug reports, contributions, and support by following my GitHub profile, starring, and forking the repository.
Thank you so much. I would love it if you have any suggestions on bringing in contributers!
@zihanlei Wow I'm impressed that you are already building projects like this and you are still in high school! Keep going, you'll go far!
Thank you so much!