Starter Templates
templates/ in the repository holds three complete minimal games built on framework APIs only. Each template is one server module and one client module — small enough to read in one sitting, complete enough to play.
Install: copy the Server.luau body into src/Server/Bootstrap.luau and the Client.luau body into src/Client/Bootstrap.luau (or require the files from those bootstraps). Map requirements sit at the top of each server file. Templates are reference code — they are not part of the Rojo project and never sync into a place by themselves.
| Template | What it plays like | Kits & systems exercised |
|---|---|---|
| GunArena | Team deathmatch with hitscan weapons | WeaponKit, Rewind lag compensation, TeamKit, RoundKit, Leaderstats, Leaderboards |
| WizardDuel | Projectile spells, parries, and mobility duels | SpellKit, MeleeKit parries, MoveKit double jumps, curse/ward Effects |
| Obby | Checkpoint platformer with speedrun boards | CheckpointKit, MoveKit air steps, kill-brick Zones, Leaderboards |
Why they matter
Section titled “Why they matter”The templates are the framework’s answer to “what does correct usage look like?”:
- Every channel is defined through the Registry — one shared module, both sides, validators declared next to schemas.
- Every gameplay decision happens server-side — the client code in each template is input, prediction, and rendering only.
- CI lints them with the same StyLua + Selene config as the framework itself, so they never drift into pseudo-code.
Read one before building your own game structure: the fastest way to internalize Core Concepts is seeing all five primitives working together in ~two files.