Why not implement peer-2-peer?

That depends how single player is implemented. Often it’s using a pseudo server (embedded) internally. Not sure what they are doing in this case though just something to consider.