10 players? Battlefield 1942 could support 64 players, and I recall games with something between 16 to 32 players not being that rare.
I'm not sure why the average playercount has gone down as sharply as it has in later years, but my guess is that the main bottleneck is in the amount of data.
Well, the thing is the (10 players) is instanced. So there could be 72 people connected, and only 40 of them are "In a game" the other 32 would just be idle connections, possibly using chat if nothing else. I'm fairly familiar with TCP becuase I've done custom frameworks for Runescape emulators in the past that could hold the 2,000 player cap that Runescape has with ease. The thing with the RSEmulator is though, the movement was so basic. All you had to do was send to the server the tile you wanted to go to, and the server would say yes/no or "well, not there, but here" and then tell the client where to walk. It was nearly impossible to desynch from the client because you walked a steady speed going through tiles per tick, meaning it could all be calculated.
I mean yeah, if you altered your client to move around different than the server did, then obviously you wont be updating correctly.
--- All in all, I'm not expecting this project to much over 7-800 players (And that's being ridiculously generous). However; I want it to feel like it's done right.
Is there an easy way to make a UDP Socket belong to a TCP Socket? Or perhaps I'm underthinking it. I could create a session class that would hold the players connection to the game. Then from there I can connect UDP. The only thing is knowing which TCP client the UDP packet came from.. Could't you just spoof packets and make other people do whatever you wanted with this?
""From there I can connect UDP"" --- Sorry, I just woke up. LOL