Skip to content

Client & Server Flow

aernw edited this page Dec 16, 2025 · 1 revision

Client State Machine

MenuState → LobbyState → GameState → MenuState
  • MenuState: local UI, collects player info.
  • LobbyState: connects via TCP, displays ready status, waits for start.
  • GameState: runs Engine systems, renderer module, UDP networking.

Server Responsibilities

  1. Accept TCP connections, manage lobby state, enforce min players.
  2. Launch UDP game instance, stream entity updates.
  3. Apply authoritative collision/combat logic via ECS systems on server side.

Reference client code under client/src/ and server logic in server/main.cpp.

Clone this wiki locally