CLIENT
- Requests to join a multiplayer game.
- Sends game data to HOST.
- Accepts game data from HOST.
MASTER SERVER
- Accepts incoming message for matchmaking.
- Stores list of players ready to play.
- Pairs players up by random (at first, then by other factors later).
HOST
- Accepts incoming data from client and sends data out to all clients playing the game.
Here's the steps it would work:
1. Client requests to play online game.
2. Server accepts request, stores IP:Port of client.
3. Server waits for another request.
4. Server accepts another request.
5. Server matches 2 requests.
6. Server chooses 1 client to be host.
7. Server sends client connection data to each client and removes both clients from matchmaking list.
8. Both clients send game data to the host, which is 1 of the clients.
9. Game continues till end.
10. If no disconnects, host reports game stats to stat server for online leaderboards/etc.
Q1: Is this how a basic matchmaking server and client/host server works?
Q2: This example shows how a user is the HOST, if I wanted to have a server the HOST, would I need to run like 500 server applications as a service to host 500 games? lets say for example? Is that how that's done??
Thanks
Jeff.