Where Is The Line Drawn For Too Many Clients?

Started by
14 comments, last by Khatharr 11 years, 6 months ago
So, despite the fact that a single person could never implement this, I have a question. I recently thought of an idea (that I'm not seriously interested in) that sparked an interesting concept in my mind. Would a 40 person co-op RPG with 20+ AI characters be too much for a server? The reason I ask is because on one hand I want to say no, its not possible, as even games like TF2 can't do that. On the other hand, I question how games like WoW host thousands of players on a single server (realm). I'm not asking about feasibility, just possibility, because I'm not interested.

C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.

Advertisement
Depends on the game.

Some games are very compute intensive. Others require nearly no computation.

Some games are very communication intensive. Others require very little communication.

Some games have massive memory requirements for the servers. Others are minimal.


For the major online games, each "server" is actually a cluster of machines potentially involving two or ten or even hundreds of machines on the backend to support that one front-end interface. There are authentication servers, lobby servers, world servers, money-handling servers, and more.
Games like WoW usually split their players among several physical servers for each realm (i.e. Emerald Dream might have 4 physical servers) and each server then handles it's own subset of the players connected. The original Planetside had a limit of around 200 players per faction (for a total of 600ish) on an in-game continent (each of which was probably it's own server) and that was a fast-action FPS from back in the mid 2000s. The AI might cause some concern, but if you implement it intelligently you should be fine.

I don't know how TF2 is typically hosted, but if it's either a pick-a-client-and-they're-host or a downloadable server thing then it has to be able to handle a wide variety of hardware capabilities. If you're controlling the servers yourself, 40 players and 20+ AI should be plenty doable as long as you design it intelligently.
I believe that some large-scale FPS-es with physics, such as Battlefield 3 or APB, run up to 128 players per server.
Also, even EverQuest could have 150 players, and another 100 NPCs, on the same physical server -- this was in 1998!

40 players and 20 NPCs on a single server is not a problem just by itself. It mainly depends on how advanced you want the physics to be, and how advanced you want the NPC AI to be.

On another note, really large games typically split all users across a large number of physics servers (or server processes) and move players between these processes as they move through the world.
enum Bool { True, False, FileNotFound };
I made a server (on my own) that handles 12,000 simulated players, connected with TCP sending in average one random command every 5 seconds to about 70 other players per second.
There were no AI or heavy math functions on either the client or server side, the server side did state updates on 1/3 of all the commands.
Response time was between 10 and 30 ms (clients were connecting from another machine on the local network).

You can see the results in more detail here:
http://www.next-gen....7_39_report.txt

You can download the source of the server here if you want to play around with it, the license is BSD:
http://www.next-gen....e&id=2&Itemid=3
Also, something more relevant for an FPS server is this:
http://muchdifferent.com/1000PlayerFPS/
@flodihn Wow, thanks. That is really awesome. I will definitely take a good look at that. Your response was such a help smile.png

C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.

Also recently in the news:
Just Cause 2 Multiplayer Beta

1,800 players on one server! I don't know how on Earth they achieved that, it sounds too good to be true!

1,800 players on one server! I don't know how on Earth they achieved that, it sounds too good to be true!


Ten years ago, Planetside had 500 players per server in an FPS. Planetside 2 is coming out soon, I hear.
Five years ago, Sony/Zipper had MAG, with 256 players in a game (on a console.)
If your goal is massive player counts, you simply design the gameplay, simulation, and networking to optimize for that goal. This means there are certain kinds of things you can't do in your game, because it would break the player count target.
enum Bool { True, False, FileNotFound };

[quote name='jefferytitan' timestamp='1347838361' post='4980731']
1,800 players on one server! I don't know how on Earth they achieved that, it sounds too good to be true!


Ten years ago, Planetside had 500 players per server in an FPS. Planetside 2 is coming out soon, I hear.
Five years ago, Sony/Zipper had MAG, with 256 players in a game (on a console.)
If your goal is massive player counts, you simply design the gameplay, simulation, and networking to optimize for that goal. This means there are certain kinds of things you can't do in your game, because it would break the player count target.
[/quote]

That's my point, the gameplay etc was NOT designed for massively multiplayer, AFAIK multiplayer was just a mod applied to an existing single player game. So the odds against the existing design being compatible with what the mod achieved seem pretty staggering to me.

Out of interest, what kind of features are you thinking of that rule out a large player count?

This topic is closed to new replies.

Advertisement