Erlang Factory SF 2015 - Jamie Winsor -Building And Releasing A Massively Multiplayer Online Game
Created on 2022-10-30T05:46:54-05:00
Versioner: server that checks client version and directs them to the appropriate lobby server
Lobby: persistent connection for a whole session; transmits session data like friend presence. I called this the "lighthouse server." Lobby routes presence information (online status of friends). Also mediates access to a playfield (called a world or combat server in the video) by finding or spawning one and giving out a transfer token.
Router: looks at routing code which includes an ID (used for sharding) and protocol name. Ferries packets to whatever worker node can handle that protocol request. Also handles ferrying it back to the requesting user. Used to get around Erlang's built in messaging requiring a full mesh--routers are meshed together but the workers are not.