Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tournament Timer

A self-hosted, single-tenant poker tournament tool. One device, one admin password, one tournament running at a time. Includes a full-screen tournament timer with theme/layout editor, blind-structure presets, payout structures, and a check-in dashboard with table assignment, rebuys, addons, eliminations, and walk-up QR registration.

Forked from Isorgcom/GameNight at v0.19249 — same timer code, stripped of the multi-user social platform (no events, no leagues, no email/SMS, no invitations, no posts, no contacts).

What's in the box

  • Tournament timer — full-screen blinds/level/clock display with a positionable theme editor, smart-alignment snap guides, multi-select drag, font controls, NoSleep wake-lock fallback, streaming-video panel (YouTube/Twitch/Vimeo/Kick), and per-alarm stream auto-mute.
  • Check-in dashboard — add players, assign tables/seats, manage buy-ins, rebuys, addons, eliminations, finish positions, payouts.
  • Walk-up QR registration — print a QR code; players scan and add themselves to the active tournament.
  • Themes — save / load / import / export .gnt.json theme files (compatible with GameNight themes).
  • Blind-structure presets — save your favourites; ships with a sensible default.
  • Payout structures — preset percentage splits (50/30/20 default).
  • Cast / TV display mode — open the timer fullscreen on a separate device via a QR-coded remote URL.

Status

Pre-alpha v1.0.0. The fork is structurally in place — db layer, auth shell, login/logout, tournaments page, settings page, and the timer page's PHP head all run cleanly against the new schema. Not yet wired: the check-in dashboard and walk-up flow still carry references to upstream's events and event_invites tables; those queries will fail until the helper paths are rewritten. The timer remote-key viewer and theme system work. See CHANGELOG.md for what's done and what isn't.

Install (Docker)

git clone https://github.com/Isorgcom/GameNight-TournamentTimer.git
cd GameNight-TournamentTimer
cp config/config.example.php config/config.php
mkdir -p db uploads && sudo chown -R 33:33 db uploads   # 33 = www-data in the container
docker compose up -d --build

Open http://localhost:8081/login.php. On the first visit it prompts you to set an admin password; the hash is saved to the SQLite database and you're signed in immediately.

How auth works

There's one shared admin password, hashed and stored in the SQLite site_settings table (admin_password_hash). Set it on first run, change it any time from /settings.php. Anyone with the password can configure the tournament. Tournament participants don't need to sign in — the timer (/timer.php), the walk-up display (/walkin.php?key=…), and the cast receiver (/cast_receiver.php) are public.

Layout

www/
├── timer.php            full-screen tournament timer
├── timer_dl.php         timer AJAX endpoints
├── checkin.php          check-in dashboard
├── checkin_dl.php       check-in AJAX endpoints
├── walkin.php           walk-up player self-registration
├── walkin_display.php   QR code display page
├── cast_receiver.php    cast/TV display mode
├── tournaments.php      tournament CRUD (admin)
├── settings.php         admin settings (site name, timezone, password change)
├── index.php            router
├── login.php            single-password sign-in
├── logout.php
├── auth.php             session + CSRF + admin gate
├── db.php               schema + helpers (10 tables)
├── _poker_helpers.php   calc_pool + table-management
├── _timer_theme.php     theme defaults + CSS-var emitter
├── _nav.php  _footer.php
└── version.php

License

MIT — see LICENSE.

Acknowledgements

The timer rendering, layout editor, theme system, streaming-video panel, NoSleep wake-lock fallback, and snap/multi-select drag all come straight from GameNight. This repo strips out the social/multi-user pieces; everything timer-related is upstream's work.

About

Standalone fork of the GameNight tournament timer + check-in: single-tenant, single shared admin password, no events/leagues/users. PHP + SQLite + Docker.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages