It’s taken a long time, but I finally created a set of unit tests for the game networking.
I decided that baseline networking should go in a game plugin (so I could opt to remove it for other games and still use the same game engine).
Thusly the NetworkingPlugin is tasked with:
- connecting with a server / keeping connections with clients
- keeps game sprites up to date
So for #1 it has some features like auto disconnect for stale clients, and heartbeats for current clients.
For #2 it just listens to the game timeline and reports any changes