Triggair vs Nakama: do you need a game server?
6 min read
Nakama comes up the moment your game needs real multiplayer. It is the open-source game server a lot of teams reach for when "broadcast everyone's position" is not enough and you need the server to actually decide what happened. That is a real need, and it is worth being clear about which side of that line your game is on.
What each one is
Nakama, by Heroic Labs, is an open-source game server. You run it yourself (it sits on top of Postgres) or you pay for Heroic Cloud to run it for you. It gives you authoritative and relayed realtime multiplayer, a matchmaker, parties, chat, presence, a storage engine, leaderboards and tournaments, friends and groups, and a server runtime where you write custom logic in Go, TypeScript, or Lua. It is powerful, and it expects you to be comfortable operating a backend.
Triggair is a managed, full backend for browser games behind one import and one publishable key. It covers identity, cloud saves, leaderboards, an economy, live-ops, competition, moderation, compliance, realtime rooms (live server-backed rooms start on the Indie plan), and analytics. Its realtime is deliberately simple: managed broadcast rooms with presence, plus async and turn-based matches. There is nothing to host and no server code to deploy.
The dividing line is authority. Nakama can run your game's logic on the server and be the referee. Triggair's realtime is client-authoritative fan-out, which is right for casual games and wrong for competitive ones.
Side by side
| Nakama | Triggair | |
|---|---|---|
| Model | Open-source game server, self-host or cloud | Managed backend, nothing to host |
| Realtime | Authoritative and relayed, matchmaker | Broadcast rooms, async / turn-based |
| Server logic | Custom runtime (Go / TS / Lua) | Managed rules, config, live-ops |
| Ops burden | You run it (or pay Heroic Cloud) | None |
| Integration | Engine and JS SDKs | One import, one publishable key |
| Economy | Storage-based, you model it | Server-authoritative wallet, store, loot |
| Moderation | Bring your own | Built in: names, chat, UGC, compliance |
| Lock-in | Low (Apache-licensed, self-hostable) | Managed service, ejectable on higher plans |
| For AI agents | Docs and SDKs | Errors carry fix hints, MCP tools, self-test |
Where Nakama wins
If your game is genuinely competitive or simulation-heavy, this is not close. Nakama is the right tool.
- Server authority. When the server must decide who got hit, who reached the tile first, or whether a move was legal, you need authoritative multiplayer. Broadcasting client state cannot give you that, and Triggair does not pretend to.
- Custom server code. Matchmaking rules, tick loops, and validation logic run on the server in a real runtime. That is exactly what an authoritative game needs.
- Open source and self-hostable. Apache-licensed. You can run it on your own infrastructure, read every line, and avoid vendor lock-in entirely.
- Multiplayer at depth. Parties, matchmaker, relayed and authoritative matches, all first-class.
If a determined player could ruin the game by lying about their state, you want a referee, and Nakama gives you one.
Where Triggair wins
Most browser games are not authoritative simulations. They are casual, cooperative, or asynchronous, and for those, running a game server is a cost with no payoff.
- Nothing to operate. No Nakama nodes, no Postgres to babysit, no deploy pipeline for server code. The realtime room is a single call. (Live server-backed rooms need the Indie plan or higher; on Free and Dev the same call runs on a local mock transport.)
const room = await tg.realtime.join('arena-lobby-1');
room.on('message', ({ from, data }) => updateRemotePlayer(from, data));
room.send({ x: player.x / WORLD_WIDTH, y: player.y / WORLD_HEIGHT });
- Everything else is already here. Nakama is a multiplayer server first; saves, economy, moderation, and compliance are things you assemble on top of its storage. In Triggair they are ready-made and on by default.
- Web-first and agent-first. A publishable key, a JS/TS SDK, errors that carry fix hints, MCP tools, and a self-test. A coding agent can integrate it without learning to operate a server cluster.
- Flat pricing, no infra bill. A prepaid plan with a player cap, not a cloud invoice that scales with your node count; realtime minutes are a plan-tiered allowance metered on top of that cap.
When to pick which
Pick Nakama if your game needs server authority (competitive scoring, real matchmaking, anti-cheat that depends on the server owning state), you want to run or self-host your own logic, or avoiding lock-in is a hard requirement. Bring some backend operating experience.
Pick Triggair if your multiplayer is casual or asynchronous, you want the rest of the backend (saves, economy, moderation) handled too, and you would rather ship a game than operate a server. If the phrase "and then you deploy the Nakama cluster" made you tired, that is the tell.
Nakama is the backend for the game that needs a referee. Triggair is the backend for the game that just needs everyone in the room.