Andrew Steinheiser (iamandrew.io) shared this template in the Phaser Discord after about a year of building it. His goal was to create the kind of Phaser multiplayer starter he wished had existed when he started: a complete setup that gets you from zero to a working real-time online game without having to stitch everything together yourself.
TypeScript Online Game Template: Stack and Features
The template is a monorepo with three apps and five shared packages. The tech stack covers rendering, networking, desktop packaging, auth and a marketing site, all wired together with Turborepo and Vite. It also supports Progressive Web Apps (PWA).
The three apps are a desktop game client built with Electron, React and Phaser; a game API server handling game state and WebSockets via Colyseus; and a web marketing site that can serve as a devlog, download page and landing page. Shared packages include core game logic, auth components, UI components and shared TypeScript and ESLint configs. The whole setup comes with a complete CI/CD pipeline via GitHub Actions, with hosting costs starting at around $24/month.

Client-Side Prediction and Server Reconciliation with Phaser and Colyseus
One of the more technically interesting parts of the template is the included client-side prediction and server reconciliation demo. All game logic runs on the server. Clients send their input and the server authorises the result, which is a solid baseline anti-cheat setup. The client predicts the outcome locally to keep things feeling responsive, and reconciles with the server state when it arrives. It's a good foundation for anyone building an MMO-style game or any real-time multiplayer experience.
The load test results Andrew included show the template handling up to 200 concurrent players across multiple rooms on a $4/month DigitalOcean droplet, with CPU peaking around 88% at full load. Useful data if you're trying to figure out how far a cheap server will take you.
How to Set Up the TypeScript Phaser Multiplayer Template
If you're already familiar with pnpm and Docker, you can be up and running in four commands:
pnpm i
pnpm db:start
pnpm db:sync
pnpm dev

Running pnpm dev spins up the web page at localhost:4200, the desktop game client, the Colyseus playground and monitor, and the Apollo GraphQL playground. The full deployment setup covers GitHub Pages for the web app, GitHub Releases for desktop builds, and a DigitalOcean droplet for the game server.
Andrew has a working demo at ts-game.online where you can download the client and join a game with up to 10 players. He also has a first project built on the template at ore-rush.online.
Bring Your Own Game Systems: What the Template Leaves Open
Andrew is deliberate about what he left out. The template is a clean slate for game systems: no ECS, no specific gameplay logic, no opinionated game structure beyond the rendering and networking layer. He suggests bringing your own systems, like miniplex for ECS if that's your approach. The idea is that the hard infrastructure parts are solved, and you own the game design from there.
He's also looking for help getting the Colyseus game API test suite working with vitest instead of mocha. If that's something you know how to fix, PRs are welcome. The template is open source and available on GitHub.
View the Template on GitHub
Open source, free to use. Feedback and contributions welcome.




