Architecture Overview

1. Static View

Component

Component Responsibility
Signalling Server Lobby / ICE relay
CardGame Client UI, rules, P2P sync

Communication: Message over WebSocket → SDP/ICE → DataChannel.

2. Dynamic View

Join Sequence

Sequence illustrates signalling handshake, DTLS, game start.

3. Deployment View

Deployment

Nodes:

  • Player PC – Godot export (CardGame.exe)
  • Public VPS – Go binary
  • STUN/TURN – public service (fallback)

4. Technology Stack

| Layer | Tech | |——-|——| | Client | Godot 4.4 (GDScript) | | Server | Go 1.24, WebSocket | | CI/CD | GitHub Actions |