GamesFor.Me
GamesFor.Me release status
This package is work in progress: all seven games pass local two-player and two-process polling tests, including worker replacement with the same connection identifiers. Live cPanel filesystem and lock behavior, retention policy, real-device accessibility, operator facts, and Escape Games remain production blockers.
Last updated: July 14, 2026
Locally verified
- Every public game creates a room or sector and connects two isolated synthetic browser sessions through the Passenger-compatible protected polling transport.
- Each two-player flow assigns separate identities, accepts a valid game action, and broadcasts authoritative state to the other browser.
- A round-robin loopback harness sends requests for every game through two independent Python worker processes that share one private SQLite database; both workers receive traffic and player isolation remains intact.
- An established Tic-Tac-Toe polling connection continues with the same opaque connection identifiers after one of the two worker processes is replaced.
- Reconnect coverage exists for Tic-Tac-Toe, 3D Tic-Tac-Toe, Connect 4, 3D Connect 4, Twixt, Dots and Boxes, and Starfighter Arena.
- Tournament coverage creates two entrants and opens a playable match for every game family.
- Checksummed, generation-checked SQLite snapshots restore board rooms, tournaments, reconnect digests, global and private Starfighter sectors, polling ownership, group membership, and bounded event queues after worker replacement.
- Strict TypeScript checks, production bundles, Python tests, static security analysis, source scanning, sitemap checks, structured-data checks, and asset budgets are part of the package verification path.
What local tests cannot prove
- Whether the actual cPanel workers share the configured database, server key, and POSIX file lock, plus long-poll timeout, proxy buffering, TLS, compression, and effective security headers.
- Network behavior on real mobile Safari, desktop Safari, Firefox, Edge, assistive technologies, or WebXR hardware.
- The separate Escape Games subdomain, whose source and deployment are outside this repository.
Production blockers
- No authoritative automatic retention and cleanup period is configured for completed or abandoned durable snapshots.
- Live multi-worker behavior is unverified. The host must provide one persistent shared filesystem and working POSIX file locks for cPanel polling; standalone WebSocket groups remain process-local and must still use one process unless external pub/sub is added.
- Authoritative operator identity, public support contact, privacy-contact route, and jurisdiction facts are not configured.
- A live post-deployment two-device, multi-worker, and controlled-restart smoke test is required before player invitations can be treated as production reliable.
Safe verification after deployment
- Open /health/ready and confirm a 200 JSON response reports seven games and the polling transport.
- Create one private room, join from a second private browser window, make one valid move from each player, refresh one browser, and confirm it reconnects to the correct seat.
- When cPanel starts multiple Python workers, alternate requests between workers if the host exposes that control, replace one worker, and confirm the same polling connection continues without crossing player identities.
- Repeat the smoke flow for one 2D board game, one 3D board game, Dots and Boxes, Twixt, and Starfighter Arena before announcing the release.
- Do not publish room links, reconnect credentials, or browser-network captures containing private identifiers.