Multiplayer Framework for Node.js.
Colyseus is an Authoritative Multiplayer Framework for Node.js, with clients available for the Web, Unity3d, Defold, Haxe, and Cocos2d-X. (See official clients)
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!
You're encouraged to take a look on some games being developed with it and make your own!
⭐️ Enjoying Colyseus? Show your support by starring the project on GitHub ⭐️
What Colyseus provides to you:
- WebSocket-based communication
- Simple API in the server-side and client-side.
- Automatic state synchronization between server and client.
- Matchmaking clients into game sessions
- Scale vertically or horizontally
What Colyseus won't provide:
- Game Engine: Colyseus is agnostic of the engine you're using. Need Physics? Add your own logic / package.
- Database: It's up to you to configure and select which database you'd like to use.
See roadmap for our future plans.
Create a bare-bones Colyseus server by using
npm init colyseus-app.
npm init colyseus-app my-colyseus-server cd my-colyseus-server npm start
🏟 Colyseus Arena: Fast & Scalable Cloud Hosting
- Looking for a fully managed solution for your Colyseus game server?
- Want to focus on game development and not on the hosting and infrastructure?
- Launching a production title and need a solution for 1,000 to 100,000+ CCUs?
If so Colyseus Arena cloud hosting is the solution you are looking for. Easily upload your existing Colyseus Server code and get started today for Free!
🕹️ Official Client Integration
- Unity (unity3d.com)
- Defold Engine (defold.com)
- Haxe (haxe.org)
- Construct 3 (construct3.net)
- Cocos2d-x (cocos2d-x.org)
- @colyseus/social - Authentication and Social features for Colyseus
- @colyseus/proxy - Proxy & Service Discovery for scaling Colyseus
- @colyseus/monitor - A Web Monitoring Panel for Colyseus
- @colyseus/loadtest - Utility tool for load testing Colyseus
Tools made by the community ❤️
- colyseus-hxjs: Haxe externs for colyseus server (by @serjek)
- colyseus-kotlin: Client for Java/Kotlin (by @doorbash)
- Stencyl Extension: Stencyl extension to communicate with a Colyseus server (by MdotEdot)
- Colyseus-ObjC: Client for Objective C (by @swittk)
- Colyseus-for-C2: Client for Construct 2 (by @Keevle)
See the official examples for usage reference with the latest version of Colyseus.
- Tech Demo: Shooting Gallery - Unity + Colyseus "Shooting Gallery" Tech Demo
- Colyseus + PixiJS Boilerplate (source-code) - Simplistic agar.io implementation using PixiJS
- Colyseus + BabylonJS Boilerplate (source-code) - Bare-bones BabylonJS example
- Tic Tac Toe (source-code) - Tic Tac Toe using PixiJS and Defold Engine
- Collaborative Drawing Prototype (source-code) - Collaborative drawing using HTML5 canvas.
- (outdated: < v0.8.x): tanx, react-example, LD35 entry: dotower
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind are welcome!
We encourage you to contribute to Colyseus! Please check out the Contributing guide for guidelines about how to proceed. Join us!
Everyone interacting in Colyseus and its sub-projects' codebases, issue trackers and chat rooms is expected to follow the code of conduct.
Backers / Supporters via Patreon