I'm developing a game written in C# which utilizes a custom Box2D/Farseer implementation and is multiplayer based on the low-level Lidgren library. It has a few requirements: - Box2D must run on the server, along with other custom game logic.
- The server will be authoritative.
- Game is real-time, not turn-based.
I'm okay rewriting the networking to use a more premium platform, but I need help understanding which route to take. I could simply host my existing Lidgren-based server as a Windows Service on an AWS EC2 instance. This is actually what I'm currently doing. However, I've heard that going with a service like Photon will be much more performant. PlayFab and GameSparks may also provide this networking ability, but it seems they're mostly about account management, not transferring game object data.
Ideally, PlayFab or GameSparks would allow me to do everything -- run my custom C# server exe, integrate with their account API, and prove me a very performant networking library to use in place of Lidgren. I've found it difficult to determine if they do. It's a bit spotty.
Which is the best platform to host an MMO as I described?