1) Built in authentication/identity
2) Session/room based connections (with lobbies, matchmaking, etc)
3) Handlers for various transports (websocket, TCP, UDP)
1) Built in authentication/identity
2) Session/room based connections (with lobbies, matchmaking, etc)
3) Handlers for various transports (websocket, TCP, UDP)
Websockets are very different to BSD Sockets (TCP/UDP/etc) though (string messages vs. binary packets/datagrams) - if you're abstracting-away then that means devs are ceding a lot of control over the performance dials (TCP_NODELAY? Nagle?)
The example in the article using a Node.js-based game-server is fine, but what options do people needing to run a Quake-style game server (i.e. a ph-phat binary) have?
Websockets do actually support binary packets not just strings. But yes you lose control over the server side receiver part of the connection (we think most developers will be ok with this)
Hathora Cloud will be able to run anything that can be packaged into a Docker container and implement the Hathora Protocol (yet to be formally documented)