{"id":13527635,"url":"https://github.com/colyseus/colyseus","last_synced_at":"2026-04-11T02:58:17.952Z","repository":{"id":37396527,"uuid":"46684632","full_name":"colyseus/colyseus","owner":"colyseus","description":"⚔ Multiplayer Framework for Node.js","archived":false,"fork":false,"pushed_at":"2026-04-08T03:31:07.000Z","size":10920,"stargazers_count":6817,"open_issues_count":23,"forks_count":635,"subscribers_count":152,"default_branch":"master","last_synced_at":"2026-04-08T05:25:01.339Z","etag":null,"topics":["colyseus","game-server","multiplayer","multiplayer-game-engine","multiplayer-game-server","networking","nodejs","realtime-games","turn-based","websockets"],"latest_commit_sha":null,"homepage":"https://colyseus.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/colyseus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG_0.17.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"endel","patreon":"endel","custom":"https://www.paypal.me/endeld"}},"created_at":"2015-11-22T22:57:33.000Z","updated_at":"2026-04-08T03:28:36.000Z","dependencies_parsed_at":"2023-02-14T01:46:06.663Z","dependency_job_id":"2cc2b1be-b14c-48ad-a11e-6f627e894777","html_url":"https://github.com/colyseus/colyseus","commit_stats":{"total_commits":1300,"total_committers":50,"mean_commits":26.0,"dds":"0.11076923076923073","last_synced_commit":"1a7da98cbeee551587e6119d06a39a441421827b"},"previous_names":["gamestdio/colyseus"],"tags_count":192,"template":false,"template_full_name":null,"purl":"pkg:github/colyseus/colyseus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colyseus%2Fcolyseus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colyseus%2Fcolyseus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colyseus%2Fcolyseus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colyseus%2Fcolyseus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/colyseus","download_url":"https://codeload.github.com/colyseus/colyseus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colyseus%2Fcolyseus/sbom","scorecard":{"id":300528,"data":{"date":"2025-08-11","repo":{"name":"github.com/colyseus/colyseus","commit":"3e50db161dace1b3ab7708137d4ed64fce3068aa"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":10,"reason":"10 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/publish_and_release.yml:4","Warn: no topLevel permission defined: .github/workflows/stale.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":1,"reason":"Found 3/30 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/colyseus/colyseus/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/colyseus/colyseus/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/colyseus/colyseus/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/colyseus/colyseus/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_and_release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/colyseus/colyseus/publish_and_release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_and_release.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/colyseus/colyseus/publish_and_release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_and_release.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/colyseus/colyseus/publish_and_release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_and_release.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/colyseus/colyseus/publish_and_release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish_and_release.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/colyseus/colyseus/publish_and_release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/colyseus/colyseus/stale.yml/master?enable=pin","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 3 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"13 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-h5c3-5r3r-rr8q","Warn: Project is vulnerable to: GHSA-rmvr-2pp2-xj38","Warn: Project is vulnerable to: GHSA-xx4v-prfh-6cgc","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-67mh-4wv8-2f99","Warn: Project is vulnerable to: GHSA-8gh8-hqwg-xf34","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-jgmv-j7ww-jx2x","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-8cj5-5rvv-wf4v","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-17T20:29:48.903Z","repository_id":37396527,"created_at":"2025-08-17T20:29:48.903Z","updated_at":"2025-08-17T20:29:48.903Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31667034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["colyseus","game-server","multiplayer","multiplayer-game-engine","multiplayer-game-server","networking","nodejs","realtime-games","turn-based","websockets"],"created_at":"2024-08-01T06:01:54.835Z","updated_at":"2026-04-11T02:58:17.930Z","avatar_url":"https://github.com/colyseus.png","language":"TypeScript","funding_links":["https://github.com/sponsors/endel","https://patreon.com/endel","https://www.paypal.me/endeld"],"categories":["TypeScript","nodejs","游戏","Libraries"],"sub_categories":["网络服务_其他"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/colyseus/colyseus\"\u003e\n    \u003cimg src=\"media/logo.svg?raw=true\" width=\"60%\" height=\"300\" /\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://npmjs.com/package/colyseus\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dm/colyseus.svg?style=for-the-badge\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQfjAgETESWYxR33AAAAtElEQVQoz4WQMQrCQBRE38Z0QoTcwF4Qg1h4BO0sxGOk80iCtViksrIQRRBTewWxMI1mbELYjYu+4rPMDPtn12ChMT3gavb4US5Jym0tcBIta3oDHv4Gwmr7nC4QAxBrCdzM2q6XqUnm9m9r59h7Rc0n2pFv24k4ttGMUXW+sGELTJjSr7QDKuqLS6UKFChVWWuFkZw9Z2AAvAirKT+JTlppIRnd6XgaP4goefI2Shj++OnjB3tBmHYK8z9zAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE5LTAyLTAxVDE4OjE3OjM3KzAxOjAwGQQixQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxOS0wMi0wMVQxODoxNzozNyswMTowMGhZmnkAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"http://chat.colyseus.io\"\u003e\n    \u003cimg src=\"https://img.shields.io/discord/525739117951320081.svg?style=for-the-badge\u0026colorB=7581dc\u0026logo=discord\u0026logoColor=white\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/colyseus/colyseus/discussions\" title=\"Discuss Forum\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/discuss-forum-brightgreen.svg?style=for-the-badge\u0026colorB=0069b8\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQfjAgETDROxCNUzAAABB0lEQVQoz4WRvyvEARjGP193CnWRH+dHQmGwKZtFGcSmxHAL400GN95ktIpV2dzlLzDJgsGgGNRdDAzoQueS/PgY3HXHyT3T+/Y87/s89UANBKXBdoZo5J6L4K1K5ZxHfnjnlQUf3bKvkgy57a0r9hS3cXfMO1kWJMza++tj3Ac7/LY343x1NA9cNmYMwnSS/SP8JVFuSJmr44iFqvtmpjhmhBCrOOazCesq6H4P3bPBjFoIBydOk2bUA17I080Es+wSZ51B4DIA2zgjSpYcEe44Js01G0XjRcCU+y4ZMrDeLmfc9EnVd5M/o0VMeu6nJZxWJivLmhyw1WHTvrr2b4+2OFqra+ALwouTMDcqmjMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTktMDItMDFUMTg6MTM6MTkrMDE6MDAC9f6fAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE5LTAyLTAxVDE4OjEzOjE5KzAxOjAwc6hGIwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAASUVORK5CYII=\" alt=\"Discussion forum\" /\u003e\n  \u003c/a\u003e\n  \u003ch3\u003e\n    Multiplayer Framework for Node.js. \u003cbr /\u003e\u003ca href=\"https://docs.colyseus.io/\"\u003eView documentation\u003c/a\u003e\n  \u003c/h3\u003e\n\u003c/div\u003e\n\nColyseus is an Authoritative Multiplayer Framework for Node.js, with SDKs\navailable for all major platforms and engines.\n\n## Client SDKs\n\n| Platform | Install | Documentation | Demo |\n|----------|---------|---------------|------|\n| TypeScript | `npm install @colyseus/sdk` | [Getting Started](https://docs.colyseus.io/getting-started/typescript) | [PlayCanvas](https://github.com/endel/tank-battle-multiplayer/tree/master/web-playcanvas) |\n| React | `npm install @colyseus/react` | [Getting Started](https://docs.colyseus.io/getting-started/react) | [R3F Lobby](https://github.com/endel/r3f-lobby-car-prototype) |\n| Unity | [Download](https://github.com/colyseus/colyseus-unity3d/releases/latest/download/Colyseus_Plugin.unitypackage) | [Getting Started](https://docs.colyseus.io/getting-started/unity) | [Tank Battle](https://github.com/endel/tank-battle-multiplayer/tree/master/unity) |\n| Godot | [Download](https://github.com/colyseus/native-sdk/releases?q=godot+sdk\u0026expanded=true) | [Getting Started](https://docs.colyseus.io/getting-started/godot) | [Tank Battle](https://github.com/endel/tank-battle-multiplayer/tree/master/godot) |\n| GameMaker | [Download](https://github.com/colyseus/native-sdk/releases?q=gamemaker+sdk\u0026expanded=true) | [Getting Started](https://docs.colyseus.io/getting-started/gamemaker) | [Tank Battle](https://github.com/endel/tank-battle-multiplayer/tree/master/gamemaker) |\n| Defold | See documentation → | [Getting Started](https://docs.colyseus.io/getting-started/defold) | [Tank Battle](https://github.com/endel/tank-battle-multiplayer/tree/master/defold) |\n| Construct | [Download](https://www.construct.net/en/make-games/addons/111/colyseus-multiplayer-sdk) | [Getting Started](https://docs.colyseus.io/getting-started/construct3) | [Raw Demo](https://github.com/colyseus/construct3-demo) |\n| Haxe | `haxelib install colyseus` | [Getting Started](https://docs.colyseus.io/getting-started/haxe) | [Tank Battle](https://github.com/endel/tank-battle-multiplayer/tree/master/haxe) |\n| C / Static Libraries | [Download](https://github.com/colyseus/native-sdk/releases?q=%22Colyseus+Native+SDK+-+Static+Library%22\u0026expanded=true) | [GitHub](https://github.com/colyseus/native-sdk) | [raylib](https://github.com/colyseus/native-sdk/tree/main/platforms/raylib) |\n\nThe project focuses on providing synchronizable data structures for realtime and\nturn-based games, matchmaking, and ease of usage both on the server-side and\nclient-side.\n\nThe mission of the framework is to be a standard netcode \u0026 matchmaking solution\nfor any kind of project you can think of!\n\n## Why developers choose Colyseus:\n\n- ⚡️ **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.\n- ⚔️ **Built-in matchmaking** → Room-based architecture with filtering, queuing, and reconnection support out of the box.\n- 📈 **Scalable** → Go from 10 to 10,000+ CCU by scaling vertically or horizontally with Redis and load balancers.\n- 🛡️ **Cheat-proof by design** → Authoritative server model ensures game logic runs on the server, not the client.\n- 🛠️ **Use the tools you already know** → Built on Node.js and TypeScript with a simple, familiar API on both server and client.\n- 💙 **Free forever** → MIT licensed, even for commercial games.\n\nSee [public roadmap](https://docs.colyseus.io/roadmap) for version 1.0.\n\n# 🚀 Quickstart\n\nSet up your own Colyseus server project for your game using `npm create colyseus-app@latest`:\n\n```\nnpm create colyseus-app@latest ./my-server\ncd my-server\nnpm start\n```\n\n# Sponsors\n\nThe sustainability of the project relies on **Colyseus Cloud** subscriptions and sponsorships. If you are not using Colyseus Cloud, please consider [sponsoring the project](https://github.com/sponsors/endel) 💖\n\n\u003ca href=\"https://cdn.jsdelivr.net/gh/colyseus/.github/sponsorkit/sponsors.svg\"\u003e\n  \u003cimg src=\"https://cdn.jsdelivr.net/gh/colyseus/.github/sponsorkit/sponsors.svg\" width=\"100%\" /\u003e\n\u003c/a\u003e\n\n# Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/halftheopposite/\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/5473864?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAymeric Chauvin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-halftheopposite\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"#example-halftheopposite\" title=\"Examples\"\u003e💡\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/brian-hay\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1428000?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBrian Hay\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#content-brian-hay\" title=\"Content\"\u003e🖋\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/damian-pastorini\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1211779?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDamian A. Pastorini\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-damian-pastorini\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=damian-pastorini\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/issues?q=author%3Adamian-pastorini\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Zielak\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/625693?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDarek Greenly\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-Zielak\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/issues?q=author%3AZielak\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=Zielak\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Vidski\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/36316706?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDavid Rydwanski\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-Vidski\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=Vidski\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/drburton\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/625595?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDr. Burton\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#mentoring-drburton\" title=\"Mentoring\"\u003e🧑‍🏫\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://twitter.com/endel\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/130494?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEndel Dreyer\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/colyseus/colyseus/commits?author=endel\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=endel\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#example-endel\" title=\"Examples\"\u003e💡\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/enriqueto\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/5557196?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEnriqueto\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#business-enriqueto\" title=\"Business development\"\u003e💼\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/fazriz\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/2628698?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFazri Zubair\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#business-fazriz\" title=\"Business development\"\u003e💼\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://twitter.com/Federkun\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/21344385?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFederico\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/colyseus/colyseus/issues?q=author%3AFederkun\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=Federkun\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/mobyjames/\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/1327007?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJames Jacoby\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-mobyjames\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"#example-mobyjames\" title=\"Examples\"\u003e💡\u003c/a\u003e \u003ca href=\"#content-mobyjames\" title=\"Content\"\u003e🖋\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://wenish.github.io/portfolio/\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/18367963?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJonas Voland\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-Wenish\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/issues?q=author%3AWenish\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=Wenish\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-Wenish\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#example-Wenish\" title=\"Examples\"\u003e💡\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://seiyria.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/763609?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKyle J. Kemp\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-seiyria\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/issues?q=author%3Aseiyria\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=seiyria\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#ideas-seiyria\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/LukeWood/\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/12191303?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLuke Wood\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-LukeWood\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/issues?q=author%3ALukeWood\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=LukeWood\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/doorbash\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/5982526?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMilad Doorbash\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/colyseus/colyseus/issues?q=author%3Adoorbash\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=doorbash\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/TinyDobbins\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/20824844?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNikita Borisov\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/colyseus/colyseus/issues?q=author%3ATinyDobbins\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=TinyDobbins\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#business-TinyDobbins\" title=\"Business development\"\u003e💼\u003c/a\u003e \u003ca href=\"#ideas-TinyDobbins\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://acemobe.com/\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/232101?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePhil Harvey\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/colyseus/colyseus/commits?author=filharvey\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/serjek\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/18265157?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSergey\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/colyseus/colyseus/issues?q=author%3Aserjek\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/commits?author=serjek\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://devlsh.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/853683?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSophie\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-devlsh\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e \u003ca href=\"https://github.com/colyseus/colyseus/issues?q=author%3Adevlsh\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#ideas-devlsh\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/supertommy\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/2236153?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTommy Leung\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#mentoring-supertommy\" title=\"Mentoring\"\u003e🧑‍🏫\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/digimbyte\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/6645396?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edigimbyte\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/colyseus/colyseus/commits?author=digimbyte\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification.\nContributions of any kind are welcome!\n\n# Contributing\n\nWe encourage you to contribute to Colyseus! Please check out the [Contributing\nguide](.github/CONTRIBUTING.md) for guidelines about how to proceed. Join us!\n\nEveryone interacting in Colyseus and its sub-projects' codebases, issue trackers\nand chat rooms is expected to follow the [code of conduct](CODE_OF_CONDUCT.md).\n\n# License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolyseus%2Fcolyseus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolyseus%2Fcolyseus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolyseus%2Fcolyseus/lists"}