I am trying to understand how Gamelift works as I am totally a novice in Game development.
According to AWS, a Gamelift instance can handle up to 200 players per session but can also host several session in the same time.
Firstly, I'd like to know, for instance, can a m5.large
instance can handle a 200 players sessions ?
Secondly, Which instance offer the largest capacity to host multiple sessions simultaneously/concurrently ?
Thirdly, What is the difference between Linux and Windows instances ? I know Windows instances are way more expensive but what are the advantages ?
Thanks
GameLift is simply a provisioning service for machines to run a game server. The game server must already be developed. If you want to run a Counter-Strike: Go tournament, you can spin up servers for all tournament players on GameLift instances, for example. (Assuming software licensing all works out correctly and you have an adapted version of the game server.)
Similarly, if you're a game developer who wants to run dedicated servers, you can develop your own server software, and run on GameLift instances. Or any other virtual hosting solution, really. The main thing you get with GameLift is that they seem to have built/configured the servers to be "real time," as in, the virtualization platform causes smaller stalls because of "noisy neighbors" problems. A regular small EC2 instance can go away for dozens of milliseconds or even a second at a time, and just gives you an "average" throughput over time. Game servers need to not go away for long times, because then you will "miss a step" and cause lag for all connected players. On a physical server, this is less of a problem, as there is no hypervisor trying to schedule time between different guest instances.
Thus, "how many players can I run on an instance" depends entirely on how your server is implemented.