Skip to content

Overview

Multiplayer, done right.

Golem Engine lets you build server-authoritative multiplayer backends in Go. Describe your entities and commands in YAML, and generate type-safe clients for multiple languages and engines from one shared protocol. It is built for worlds with high player and entity density, where the server owns the truth and clients just send input.

  • Authoritative by default. The Go server runs the simulation and decides what is true. Interest management sends each player only what is near them, and per-session ownership lets a client drive its own entity.
  • Schema-driven. Define entities, commands, and events in YAML; golem-bake generates server scaffolding, an entities.proto reference, and type-safe client classes.
  • Multi-stack clients. One protocol shared across Go (Ebiten), JavaScript and TypeScript (Phaser), and C# (Unity).
  • Built for density. A fixed tick loop and compact binary deltas keep hundreds of players and thousands of entities in sync.
  • Batteries included. Physics, navigation, world snapshots, map tile serving, and modern WebSocket or WebTransport networking.

New to Golem? Install the tools, then wire up your first server.

Go deeper once you are running: