Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions lib/backends.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ export const backends: Backend[] = [
docsUrl: 'https://learn.microsoft.com/en-us/gaming/playfab/',
type: 'proprietary',
pricingModel: 'usage-based',
pricingDetails: 'Free development mode (100K players per title, up to 10 titles). Pay-as-you-go ($0/month base), Standard ($99/month, $400 in meter credits), Premium ($1,999/month, $8,000 in meter credits). Foundation Mode: included at no cost for games shipped under an Xbox publishing agreement.',
pricingDetails: 'Development Mode: up to 1,000 lifetime players per title (10 titles). Pay-as-you-go ($0/month base), Standard ($99/month, $400 in meter credits), Premium ($1,999/month, $8,000 in meter credits). Foundation Mode: included at no cost for games shipped under an Xbox publishing agreement.',
features: {
authentication: { supported: true, description: 'Multiple auth methods including anonymous, platform-specific (Steam, Facebook, iOS, Google, PlayStation, Xbox), and direct PlayFab login. Players can link multiple accounts for cross-platform identity.', sourceUrl: 'https://learn.microsoft.com/en-us/gaming/playfab/identity/player-identity/authentication/' },
playerProfiles: { supported: true, description: 'Player profiles store Key/Value Pairs (KVPs) shareable across devices and games. Supports both title-specific Player Data and cross-title Publisher Data.', sourceUrl: 'https://learn.microsoft.com/en-us/gaming/playfab/player-progression/player-data/' },
Expand Down Expand Up @@ -166,7 +166,7 @@ export const backends: Backend[] = [
gameTypes: ['f2p-mobile', 'live-service-pc', 'competitive', 'casual-social'],
platforms: ['unity', 'unreal', 'custom', 'html5'],
strengths: [
'Free development tier supporting up to 100K players per title',
'Development Mode free tier for up to 10 titles; Foundation Mode for Xbox-shipping games at no extra cost',
'Azure and Xbox platform integration',
'SDKs for Unity, Unreal, C/C++, C#, and console platforms',
'Documentation hosted on Microsoft Learn with API references',
Expand All @@ -179,7 +179,7 @@ export const backends: Backend[] = [
],
foundedYear: 2014,
architectureLabel: 'Managed microservices platform',
lastUpdated: '2026-06',
lastUpdated: '2026-10',
sources: [
{ label: 'Pricing', url: 'https://developer.microsoft.com/en-us/games/products/playfab/pricing' },
{ label: 'Documentation', url: 'https://learn.microsoft.com/en-us/gaming/playfab/what-is-playfab' },
Expand Down Expand Up @@ -210,9 +210,9 @@ export const backends: Backend[] = [
virtualCurrency: { supported: true, description: 'Hiro Economy system manages multiple in-game currencies with atomic transaction processing. Supports configurable initial balances and player wallets for earned and purchased currencies.', sourceUrl: 'https://heroiclabs.com/docs/hiro/concepts/economy/' },
inventorySystem: { supported: true, description: 'Hiro Inventory allows players to collect, upgrade, and consume items with configurable properties including max counts, stackability, consumption rewards, and inventory limits.', sourceUrl: 'https://heroiclabs.com/docs/hiro/concepts/inventory/' },
iapValidation: { supported: true, description: 'Nakama validates Apple App Store, Google Play, and Huawei purchases server-side. Features replay attack prevention, receipt binding, and real-time subscription notifications.', sourceUrl: 'https://heroiclabs.com/docs/nakama/concepts/iap-validation/' },
offers: { supported: true, description: 'Hiro Virtual Store enables in-game marketplaces with game currency or IAP purchases. Personalizer supports one-time offers, player-specific pricing, and VIP offers with A/B testing.', sourceUrl: 'https://heroiclabs.com/docs/hiro/concepts/economy/virtual-store/' },
offers: { supported: true, description: 'Hiro Virtual Store enables in-game marketplaces with game currency or IAP purchases. Personalizer supports one-time offers, player-specific pricing, and VIP offers with A/B testing. Hiro Auctions (v1.34) support direct bids and item trades between players.', sourceUrl: 'https://heroiclabs.com/docs/hiro/concepts/economy/virtual-store/' },
pushNotifications: { supported: true, description: 'Satori Messages support push via OneSignal, APNS, and FCM integrations, plus email and in-game inbox. Nakama provides in-app notifications. CRON or live event triggered scheduling.', sourceUrl: 'https://heroiclabs.com/docs/satori/concepts/messages/' },
leaderboards: { supported: true, description: 'Nakama Leaderboards with unlimited scoreboards, configurable sort order, operators (set/best/incr/decr), CRON-based resets for seasons, record metadata, and authoritative mode.', sourceUrl: 'https://heroiclabs.com/docs/nakama/concepts/leaderboards/' },
leaderboards: { supported: true, description: 'Nakama Leaderboards with unlimited scoreboards, configurable sort order, operators (set/best/incr/decr), CRON-based resets for seasons, record metadata, and authoritative mode. Hiro adds Event Leaderboards with tier-based progression and Team Leaderboards (v1.35) for group competitive play.', sourceUrl: 'https://heroiclabs.com/docs/nakama/concepts/leaderboards/' },
achievements: { supported: true, description: 'Hiro Achievements support tasks with configurable rewards (currency, items, energy). Features preconditions for achievement trees, sub-achievements, repeatable achievements, and team achievements.', sourceUrl: 'https://heroiclabs.com/docs/hiro/concepts/achievements/' },
socialFeatures: { supported: true, description: 'Nakama Friends system provides friend management via user ID/username, requests with confirmations, online presence tracking, 1-on-1 chat, blocking, and social graph import.', sourceUrl: 'https://heroiclabs.com/docs/nakama/concepts/friends/' },
guildsClans: { supported: true, description: 'Nakama Groups enable communities with hierarchical roles (superadmin, admin, member), public/private access, configurable member limits, metadata, group chat, and discovery filtering.', sourceUrl: 'https://heroiclabs.com/docs/nakama/concepts/groups/' },
Expand Down Expand Up @@ -262,14 +262,15 @@ export const backends: Backend[] = [
],
foundedYear: 2014,
architectureLabel: 'Composable open-source stack',
lastUpdated: '2026-02',
lastUpdated: '2026-10',
sources: [
{ label: 'Heroic Labs', url: 'https://heroiclabs.com/' },
{ label: 'Nakama', url: 'https://heroiclabs.com/nakama/' },
{ label: 'Satori', url: 'https://heroiclabs.com/satori/' },
{ label: 'Hiro', url: 'https://heroiclabs.com/hiro/' },
{ label: 'Pricing', url: 'https://heroiclabs.com/pricing/' },
{ label: 'GitHub', url: 'https://github.com/heroiclabs/nakama' },
{ label: 'Hiro Release Notes', url: 'https://heroiclabs.com/docs/hiro/concepts/introduction/release-notes/' },
],
},
{
Expand Down Expand Up @@ -481,13 +482,13 @@ export const backends: Backend[] = [
serverlessLogic: false,
dedicatedServers: { supported: true, description: 'Self-hosted dedicated infrastructure using Docker, PM2, or Nginx. Vultr offers pre-configured Colyseus marketplace image with Node.js and PM2.', sourceUrl: 'https://docs.colyseus.io/deployment' },
globalScaling: { supported: true, description: 'Horizontal scaling via RedisPresence and RedisDriver for inter-process communication. Colyseus Cloud offers 32 global deployment locations with automatic region configuration.', sourceUrl: 'https://docs.colyseus.io/deployment/scalability' },
adminDashboard: { supported: true, description: '@colyseus/monitor web-based admin dashboard for listing rooms, viewing room states, sending/broadcasting messages, disconnecting clients, and disposing rooms. HTTP basic auth supported.', sourceUrl: 'https://docs.colyseus.io/tools/monitoring' },
adminDashboard: { supported: true, description: '@colyseus/admin (beta, 0.18) is an operations console with live room inspection, CRUD, and CPU profiling. The earlier @colyseus/monitor provides basic room listing, state viewing, and message broadcasting with HTTP basic auth.', sourceUrl: 'https://docs.colyseus.io/tools/monitoring' },
playerSupport: false,
moderation: false,
sourceCodeAccess: { supported: true, description: 'Fully open-source under MIT license on GitHub. All framework code, SDKs (Unity, Defold, Haxe, JavaScript), and tools available with permissive license for modification and commercial use.', sourceUrl: 'https://github.com/colyseus/colyseus' },
managedServices: { supported: true, description: 'Colyseus Cloud official managed hosting from $15/month. 32 global locations, automatic SSL, DDoS protection (Layer 3/4), rolling updates, graceful shutdown, no CCU/DAU/MAU limits.', sourceUrl: 'https://colyseus.io/cloud-managed-hosting/' },
selfHosting: { supported: true, description: 'Fully self-hostable under MIT license. Deploy using Docker, PM2, or traditional Node.js hosting with Nginx/Apache reverse proxies. Cloud-agnostic deployment.', sourceUrl: 'https://docs.colyseus.io/deployment' },
multiplatformSDK: { supported: true, description: 'Official SDKs for TypeScript/JavaScript, React, Unity (C#), Defold (Lua), Construct 3, Cocos Creator, Haxe (OpenFL, HaxeFlixel, Heaps), Discord Activity, and WeChat.', sourceUrl: 'https://docs.colyseus.io/getting-started' },
multiplatformSDK: { supported: true, description: 'Official SDKs for TypeScript/JavaScript, React, Unity (C#), Godot, Defold (Lua), Construct 3, GameMaker, Cocos Creator, Haxe (OpenFL, HaxeFlixel, Heaps), Flutter, Swift, MonoGame, Discord Activity, WeChat, and a C-based Native SDK (beta).', sourceUrl: 'https://docs.colyseus.io/getting-started' },
serverAuthoritative: { supported: true, description: 'Server-authoritative architecture where only the server mutates game state. Clients send messages requesting changes; server validates actions before updating and syncing state.', sourceUrl: 'https://docs.colyseus.io/state' },
cheatProtection: { supported: true, description: 'Server-authoritative model validates all player actions and controls game state. Clients treated as visual representations only, preventing client-side data manipulation.', sourceUrl: 'https://docs.colyseus.io/state' },
sharedClientServerLogic: { supported: true, description: 'TypeScript enables shared code between client and server. Schema classes defined on server can be imported on TypeScript/JavaScript clients, allowing method reuse and bandwidth optimization.', sourceUrl: 'https://docs.colyseus.io/getting-started/typescript' },
Expand All @@ -500,7 +501,7 @@ export const backends: Backend[] = [
},
bestFor: ['Indie developers', 'Rapid multiplayer prototyping', 'Node.js/TypeScript developers'],
gameTypes: ['casual-social', 'competitive'],
platforms: ['unity', 'custom', 'html5'],
platforms: ['unity', 'godot', 'custom', 'html5'],
strengths: [
'Minimal boilerplate with quick setup (npm create colyseus-app)',
'Automatic state synchronization with delta encoding',
Expand All @@ -510,17 +511,18 @@ export const backends: Backend[] = [
],
limitations: [
'No official Unreal Engine SDK (community SDK exists)',
'No built-in persistence (requires external database)',
'No managed cloud persistence; @colyseus/database (official, 0.18) supports PostgreSQL and SQLite but requires self-managed infrastructure',
'No live ops, leaderboards, analytics, or economy features',
'Smaller community (~3.1K Discord, ~6.7K GitHub stars)',
],
foundedYear: 2015,
architectureLabel: 'Authoritative multiplayer framework',
lastUpdated: '2026-02',
lastUpdated: '2026-10',
sources: [
{ label: 'Pricing', url: 'https://colyseus.io/pricing' },
{ label: 'Documentation', url: 'https://docs.colyseus.io/' },
{ label: 'GitHub', url: 'https://github.com/colyseus/colyseus' },
{ label: 'Colyseus 0.18 release', url: 'https://colyseus.io/blog/colyseus-018-is-here/' },
],
},
{
Expand Down
Loading