Adding online play to a turn-based game usually stalls on infrastructure rather than on gameplay. The moment you decide two people should be able to play your chess or card game from different machines, the conversation turns into websockets, a persistent process, a host that will keep that process alive, and a lobby system you now have to design. None of that is about your game.

For turn-based play, almost all of it is avoidable. A turn game does not need a live socket, it needs an agreed order of moves. That single reframe collapses the problem into a handful of ordinary HTTPS requests, which is the design behind the free server at https://www.abratabia.com/AbraTabia-Game-Server/.

Why Turn-Based Games Do Not Need Websockets

A websocket earns its keep when milliseconds matter. In a shooter or a racing game, the difference between a 30 millisecond update and a 300 millisecond update is the difference between a playable game and an unplayable one, so you accept the cost of a persistent connection and a process that has to stay alive to hold it.

A turn game has no such deadline. Nobody notices whether their opponent's move arrives 200 milliseconds or two seconds after it was made, because they were reading the board anyway. What players do notice is a move arriving out of order, or a move that one client saw and another did not. Ordering is the hard requirement, latency is not.