27 self-hosted LAN board, card, party, puzzle, and real-time games. Start one server, share one room code or QR code, and play from any browser on the same WiFi.
🚀 Live Demo — try it without installing.
简体中文 | English
GameNest is a lightweight open-source tabletop game room for family nights, dorm rooms, classrooms, offices, and small parties. One laptop or Android phone hosts the room, everyone else joins from a browser on the same local network, and the stack stays intentionally simple: Express 4, ws, and plain HTML/CSS/JavaScript.
- 27 built-in games covering classic boards, party cards, poker, deduction, puzzle races, and real-time battles.
- Local-first multiplayer: no account system, no cloud dependency, just one host and one shared WiFi.
- Room code and QR-code joining for phones, tablets, and laptops.
- Waiting-room flow with player names, emoji avatars, ready state, seat swaps, bots, and per-game options.
- AI opponents for most turn-based games, useful for solo testing or small groups.
- Browser-first renderers with hidden-information views, legal-move hints, canvas boards, and lightweight animations.
- Optional Android host wrapper powered by nodejs-mobile, so the same project can run as a portable local server.
If GameNest saved your game night, please ⭐ it so others can find it.
GameNest runs as a shared LAN lobby, a QR-code waiting room, and browser-based game boards:
Mobile and join-flow previews:
Requires Node.js 18 or later.
npm install
npm startOpen the lobby on the host machine:
http://localhost:3000
Other phones, tablets, or laptops on the same WiFi can join with:
http://<host-ip>:3000
If port 3000 is still occupied on Windows:
taskkill /f /im node.exe- Start GameNest on one computer or Android device.
- Open the lobby and choose a game.
- Create a room, then share the room code, host IP, or QR code.
- In the waiting room, adjust seats, add bots, change avatars, and mark players ready.
- Start the match and keep playing in the browser while state syncs over WebSocket.
- If someone briefly leaves, they can return to the room from the lobby resume card.
| Category | Games |
|---|---|
| Classic board | Tic-Tac-Toe, Gomoku, Flight Chess, Chinese Chess, Chess, Checkers, Connect Four, Reversi, Go 9x9 |
| Party cards | UNO, Exploding Kittens, Number Bomb, Old Maid, Draw & Guess, Truth or Dare |
| Deduction | Davinci Code, Liar's Bar |
| Poker | Dou Dizhu, Big Two, Texas Hold'em |
| Tabletop strategy | Rummikub, Monopoly |
| Brain racing | 24 Game, Minesweeper Race, Sheep Tile |
| Real-time battle | Snake Battle, Suika Battle |
npm start # start the LAN server
npm test # run regression tests
npm run check # syntax-check project JavaScript
npm run test:monopoly # run focused Monopoly tests
npm run build:desktop # build Windows standalone exeCI currently runs npm run check and npm test on GitHub Actions.
- Requires Node.js
18+ - HTTP and WebSocket share port
3000 - Best fit for laptops, desktops, classrooms, and home LAN play
The Android project wraps the same Node.js server with nodejs-mobile and a WebView.
cd android
.\copy-nodejs-project.ps1Then open android/ in Android Studio and run the app. Full setup details live in android/SETUP.md.
.
|-- server.js # Express + WebSocket server, rooms, routing, bots
|-- main.js # nodejs-mobile entry point for Android
|-- games/ # game rules and state transitions
|-- bots/ # AI move generators
|-- lang/ # server-side text
|-- public/ # browser lobby, game shell, renderers, styles, assets
|-- scripts/ # smoke simulations and maintenance helpers
|-- tests/ # node:test regression suites
|-- android/ # Android Studio wrapper project
`-- docs/ # architecture and release notes
More details:
lang/— server-side text packspublic/js/lang/— browser language packspublic/js/game-catalog.js— built-in game metadatascripts/generate-cover-art.js— cover art generator- docs/ARCHITECTURE.md explains the server, WebSocket, and renderer flow.
- CONTRIBUTING.md has the new-game checklist.
- docs/STORE_LISTING.md collects app-store copy and asset planning.
Bug reports, rules fixes, AI improvements, renderer polish, and new games are welcome. Start with CONTRIBUTING.md.




