Try the public test server · Download for Windows · Report an issue
Open Party Lab is a browser-based party-game platform for a shared screen and players’ phones. Run it on your local network or use the hosted test server. The platform and its games are actively developed; most games are in alpha or beta.
The Render service is for testing, not production. It can take about a minute to wake after inactivity, and rooms are kept in memory rather than saved permanently.
The catalog includes 19 optional game projects. Twelve are currently recommended for playtesting; the rest are smaller prototypes, and Dungeon Party is an early development build. All are subject to change.
| Recommended games | Style |
|---|---|
| Arena Survivor | Cooperative arena survival |
| Buzzwort | Word guessing with forbidden words |
| Chaos-Kommando | Turn-based artillery |
| Drift Racer | Arcade racing |
| Flatterfluff | Comic-style gallery shooter |
| Kartentisch (Card Table) | Card games, including Doppelkopf, Rommé and Symboljagd |
| Magic Arena | Hex tactics |
| Magic Duell | Wizard duels with phone-drawn spells |
| MinionsTD | Competitive tower defense |
| Schaetzorama | Estimation quiz |
| Word Tiles | Shared word board |
| Zeichnen & Erraten | Drawing and guessing |
Other known games include Air Hockey, Imposter, Light Trails, Pantomime, Schattenjagd and Tap Race. Dungeon Party is in development. Optional games are separate repositories, so a fresh source checkout does not include their files until you clone them. The Windows release and hosted build assemble the known game repositories for you.
These screenshots include the current host catalog and a live Buzzword round, alongside sample rounds from other games.
| Arena Survivor: Frostfire Saga | Buzzword host round | MinionsTD |
|---|---|---|
![]() |
![]() |
![]() |
| Magic Arena | Chaos-Kommando | Schaetzorama |
![]() |
![]() |
![]() |
| Zeichnen & Erraten | Word Tiles | Drift Racer |
![]() |
![]() |
![]() |
Open the public test server, create a room, and scan its QR code with the phones joining the game. The free service may need around a minute to start after sitting idle. Rooms are temporary and may be lost when the service restarts.
Download the latest Open-Party-Lab-windows-x64.zip from GitHub Releases, extract the complete archive, then start Open-Party-Lab.exe. The shared screen opens in a browser; players join from phones on the same Wi-Fi using the QR code. The release bundles Node.js and the games, so you do not need to install Node.js or npm. Windows may show a SmartScreen warning because community builds are not code-signed.
Requirements: Node.js 20+ and npm 10+.
npm ci
npm run games:clone-recommended
npm run build
npm run dev:allnpm run dev:all starts the local server, shared-screen host and controller. The default addresses are:
- Host:
http://localhost:5173 - Controller:
http://localhost:5174 - Server:
http://localhost:3000
For phones to connect, they must use the computer’s LAN address, not localhost. On Windows, the launcher tries to find that address. If needed, set it explicitly:
powershell -ExecutionPolicy Bypass -File .\scripts\dev-all.ps1 -LanIp 192.168.0.156To stop the local stack, run npm run dev:stop.
The server owns room state, game rules, timers, scoring and round transitions. The host renders the shared screen, while controllers send player input and show phone-sized UI.
apps/server— authoritative Socket.IO server and room lifecycleapps/host— shared-screen app for a TV, monitor or computerapps/controller— browser controller for phonespackages/protocol— shared socket and room contractspackages/game-core— game manifests, common types and layout keyspackages/ui-kitandpackages/utils— shared interface tokens and utilities
Games live in separate repositories under the ignored local-games/ directory. config/known-games.json lists the repositories; npm run games:sync-local links the ones present on your machine and generates the local app registries. Missing optional repositories are skipped.
npm run games:list # Show known games and local links
npm run games:clone-all # Clone all known game repositories
npm run games:sync-local # Refresh local game links and registries
npm run games:clear-local # Remove generated local links
npm run dev:all # Start the local development stack on Windows
npm run dev:stop # Stop the local development stack
npm run typecheck # Type-check the platform and linked games
npm run build # Build the platform and linked games
npm run release:windows # Build, check and ZIP a complete Windows x64 releaseTo create a distributable Windows build, clone all known games first with npm run games:clone-all, then run npm run release:windows. Share artifacts/Open-Party-Lab-windows-x64.zip; the receiving PC needs no Node.js or npm. Keep the launcher window open while playing and close it to stop the server. See portable build instructions.
To refresh the recommended-game collage, start the host first, then run:
npm run screenshots:readme -- --collage-onlyThe screenshot command uses Chromium or Edge through the Chrome DevTools Protocol and includes screenshots from recommended game repositories when available. The host-selection and live-round images above are captured from the running host.
For AI browser checks, add virtual players to an existing room:
npm run ai:controllers -- --room DEBU --players 4 --ready true --hold-ms 600000Small, focused contributions are welcome: playtest a game, improve phone controls or host readability, clarify rules, or build a new mini-game. The server must remain authoritative, and user-facing text should follow the project’s localization patterns.
Start with AGENTS.md, CONTRIBUTING.md, the architecture guide, the mini-game SDK, the multi-repo game guide, and playtesting notes. See project status for current limitations and Render deployment for hosting details.
Code is licensed under the Apache License 2.0; see LICENSE. Assets, names, generated media and third-party references have separate rights considerations; see NOTICE.md.









