Server authority
The server owns state and validates every payload, so cheating by packet forgery isn't a thing you bolt on later. Interest management (AOI) sends each client only what it can see — anti-wallhack by construction.
An open-source SDK you deploy to your own Cloudflare account in minutes — the free tier works, no lock-in. One Durable Object per room, placed near your players in ~275 cities. State lives on the server, clients send intents, reconnection is built in.
Built so AI coding agents ship multiplayer games in one session.
The server owns state and validates every payload, so cheating by packet forgery isn't a thing you bolt on later. Interest management (AOI) sends each client only what it can see — anti-wallhack by construction.
Each room is its own Durable Object, spun up on demand across ~275 cities and placed near its players. Rooms scale horizontally, and state-preserving reconnection is built into the core.
Genre presets pick your netcode in one decision. An in-repo
AGENTS.md and llms.txt make a coding agent
productive in one context window — npx create-tikron and go.
# 1. clone + install
git clone https://github.com/ONOFFERDEV/tikron-platform
cd tikron-platform && pnpm install
# 2. log in to Cloudflare (free tier works)
pnpm exec wrangler login
# 3. ship a starter game to the edge
pnpm --filter tikron-starter deploy
import { CasualRealtimeRoom, type Client } from "@tikron/server";
interface State { cursors: Record<string, { x: number; y: number }> }
export class Board extends CasualRealtimeRoom<State> {
onCreate() {
this.setState({ cursors: {} });
this.onMessage("move", (c, p) => {
const me = this.state.cursors[c.id];
if (!me || typeof p?.x !== "number") return;
me.x = p.x; me.y = p.y;
this.markStateChanged(); // synced to everyone
});
}
onJoin(c: Client) { this.state.cursors[c.id] = { x: 0, y: 0 }; this.markStateChanged(); }
onSeatExpired(c: Client) { delete this.state.cursors[c.id]; this.markStateChanged(); }
}
Tikron is open core: the SDK runs on your own Cloudflare account (you self-host the rooms). Optional hosted services add leaderboards and a usage dashboard, keyed by API key.
A room-hour = one live room for one hour; idle rooms cost nothing. Self-hosted rooms bill to your Cloudflare account — roughly ~$0.006 per room-hour at Cloudflare's own Durable Object pricing (approximate).
What Tikron does and doesn't do today — so you can decide before you commit.
.io games; not for competitive twitch shooters (head-of-line
blocking under packet loss). WebTransport is on the roadmap.roadmap
Full detail: AGENTS.md → Limits & roadmap.