colyseus is a free, open source gaming project written in TypeScript and released under MIT. It has 7,307 GitHub stars, 664 forks and 19 open issues, and was last pushed 3 days ago. On this registry it ranks #12 of 14 tracked projects in Gaming, with 5 head-to-head comparisons available.

What is colyseus?

Colyseus is an MIT-licensed authoritative multiplayer framework for Node.js that provides synchronizable data structures, room-based matchmaking, and client SDKs for TypeScript, React, Unity, Godot, GameMaker, Defold, Construct, Haxe, and C, aimed at developers building realtime and turn-based multiplayer games.

What it is

Colyseus is a multiplayer framework built on Node.js and TypeScript. It supplies an authoritative server model in which game logic runs on the server rather than the client, together with synchronizable data structures that keep client state aligned with server state automatically. The framework ships official client SDKs across a wide range of platforms and engines, including @colyseus/sdk for TypeScript, @colyseus/react for React, a Unity plugin distributed as Colyseus_Plugin.unitypackage, native SDKs for Godot, GameMaker and C, an addon for Construct, and haxelib install colyseus for Haxe. The stated mission is to serve as a standard netcode and matchmaking solution for any kind of project.

The concrete problem it solves is the netcode and matchmaking layer that teams would otherwise assemble themselves. Instead of writing bespoke WebSocket state synchronization, binary encoding, room lifecycle, queueing and reconnection handling, a developer defines state on the server and the framework synchronizes it to all clients, delta-compressed and binary-encoded. Matchmaking is room-based, with filtering, queuing and reconnection supported out of the box, so the framework replaces hand-rolled transport, state replication and lobby logic within the Node.js ecosystem.

Key capabilities

  • Automatic state synchronization: define state on the server and it synchronizes to all clients, delta-compressed and binary-encoded.
  • Room-based matchmaking with filtering, queuing and reconnection support built in.
  • Authoritative server model, so game logic runs on the server rather than the client.
  • Horizontal and vertical scaling from 10 to 10,000+ CCU using Redis and load balancers.
  • Client SDKs for TypeScript (npm install @colyseus/sdk), React (npm install @colyseus/react), Unity, Godot, GameMaker, Defold, Construct, Haxe (haxelib install colyseus) and C static libraries.
  • Project scaffolding through npm create colyseus-app@latest.
  • Support for both realtime and turn-based games.

Who uses it and how

  • Teams building realtime multiplayer games on a Node.js and TypeScript stack, using the same language on server and client.
  • Studios working in Unity, Godot, GameMaker, Defold or Construct that integrate a native client SDK while keeping the server in Node.js.
  • Turn-based game projects that need room matchmaking and reconnection rather than continuous tick synchronization.
  • Projects scaling beyond a single process, adding Redis and load balancers to move from roughly 10 to more than 10,000 concurrent users.
  • Developers who want an authoritative model so that game logic is not trusted to the client.

Getting started

Scaffold a server with npm create colyseus-app@latest ./my-server, then run cd my-server and npm start. Client code uses the matching SDK for the target platform, such as npm install @colyseus/sdk for TypeScript or npm install @colyseus/react for React.

How it compares

The facts provided do not name any similar or competing tools, so Colyseus stands alone in this registry. No comparison against paid alternatives can be made from the available information.

When to use it — and when not to

A self-hoster runs a Node.js server, and for horizontal scaling must also operate Redis and load balancers, so the operational surface grows with player count. Developers outside the Node.js and TypeScript ecosystem, or those who want a managed service with no infrastructure to run, should weigh that before adopting it; Colyseus Cloud subscriptions and sponsorships are what sustain the project. The framework is also still working toward version 1.0 according to its public roadmap, which is worth noting for teams that require a long-settled API.

project readme (upstream, from github) — read inline


Discussion forum

Multiplayer Framework for Node.js.
View documentation

Colyseus is an Authoritative Multiplayer Framework for Node.js, with SDKs available for all major platforms and engines.

Client SDKs

Platform Install Documentation Demo
TypeScript npm install @colyseus/sdk Getting Started PlayCanvas
React npm install @colyseus/react Getting Started R3F Lobby
Unity Download Getting Started Tank Battle
Godot Download Getting Started Tank Battle
GameMaker Download Getting Started Tank Battle
Defold See documentation → Getting Started Tank Battle
Construct Download Getting Started Raw Demo
Haxe haxelib install colyseus Getting Started Tank Battle
C / Static Libraries Download GitHub raylib

The project focuses on providing synchronizable data structures for realtime and turn-based games, matchmaking, and ease of usage both on the server-side and client-side.

The mission of the framework is to be a standard netcode & matchmaking solution for any kind of project you can think of!

Why developers choose Colyseus:

  • ⚡️ Real-time state sync that just works → Define your state on the server and it automatically synchronizes to all clients, delta-compressed and binary-encoded.
  • ⚔️ Built-in matchmaking → Room-based architecture with filtering, queuing, and reconnection support out of the box.
  • 📈 Scalable → Go from 10 to 10,000+ CCU by scaling vertically or horizontally with Redis and load balancers.
  • 🛡️ Cheat-proof by design → Authoritative server model ensures game logic runs on the server, not the client.
  • 🛠️ Use the tools you already know → Built on Node.js and TypeScript with a simple, familiar API on both server and client.
  • 💙 Free forever → MIT licensed, even for commercial games.

See public roadmap for version 1.0.

🚀 Quickstart

Set up your own Colyseus server project for your game using npm create colyseus-app@latest:

npm create colyseus-app@latest ./my-server
cd my-server
npm start

Sponsors

The sustainability of the project relies on Colyseus Cloud subscriptions and sponsorships. If you are not using Colyseus Cloud, please consider sponsoring the project 💖

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Aymeric Chauvin

💬 💡

Brian Hay

🖋

Damian A. Pastorini

💬 📖 🐛

Darek Greenly

💬 🐛 💻

David Rydwanski

💬 💻

Dr.

readme truncated — read the full docs on github

Frequently asked questions

Is colyseus free to use?

colyseus is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does colyseus do?

⚔ Multiplayer Framework for Node.js

What is colyseus written in?

colyseus is primarily written in TypeScript. Its source is publicly available at https://github.com/colyseus/colyseus, and it has 7,307 GitHub stars.