Bingo — a typical online game server configuration

split into a connection gateway · auth/matching · room servers

Bingo — a typical online game server configuration split into a connection gateway · auth/matching · room servers Play ×2 · player actor · room Spot · Architecture component Play ×2 player actor · room Spot Location Store · Architecture component Location Store Redis · waiting-room reservation · Architecture component Redis waiting-room reservation client · Architecture component client Session ×2 · endpoint · actor bind · Architecture component Session ×2 endpoint · actor bind Api ×2 · auth · matching requests · Architecture component Api ×2 auth · matching requests Matchmaking · Matchmaker Instance Spot · Architecture component Matchmaking Matchmaker Instance Spot 1 STREAM auth/matching request level bucket matching packet relay session push room GetOrCreate peer auto-connect

gateway configuration

  • • client ↔ Session is one STREAM connection (bidirectional, emphasis) — client keeps only one, to Session
  • • Session·Api·Play each scale out ×2, server-to-server connections resolved by Location Store
  • • Session→Api matching request → Api matches a Matchmaker Instance Spot by level bucket

matching · room · push

  • • Matchmaker Instance Spot atomically decides waiting-room reservations against Redis
  • • Api room GetOrCreate → Session packet relay, Play pushes to the bound session
  • • even when player actor and room Spot live on different Play servers the framework does a remote Spot join, location by LS auto-connect (dashed)