The Last Spike Online / 2026. július 15.

Online társasjátéknál a böngésző nem lehet a bíró

A multiplayer átállásnál a legfontosabb döntés az volt, hogy a szerver legyen az autoritatív játékállapot gazdája. A kliensek szándékot küldenek, nem kész igazságot.

2 perc olvasás
The Last Spike Online
WebSocketmultiplayerstate-machinearchitecture

A helyzet

Lokális játékban természetes, hogy a kliens kezeli a teljes állapotot. Online szobánál viszont két böngésző ugyanabban a pillanatban mást hihet a körről, a pénzről vagy egy rejtett kártyáról. Ha a kliensek egymás állapotát próbálják szinkronizálni, hamar megjelenik a versenyhelyzet és a csalható protokoll.

A megoldási út

A WebSocket szerver kapta az autoritatív state machine-t. A kliens parancsot küldött, a szerver validálta, alkalmazta a determinisztikus motoron, majd a jogosult nézetet broadcastolta. A reconnect és persisted room logikát is erre építettem, így egy újracsatlakozó játékos nem a saját régi memóriájából próbálta rekonstruálni a partit.

Mi lett belőle

A többjátékos működés stabilabb lett, és a későbbi hidden-information szűrésnek is lett egyértelmű helye. Ugyanaz a domain motor szolgálta a helyi, AI és online játékot, de az online igazság egyetlen szerveroldali állapotból származott.