General Question - Servers

General debates and discussion about the Guild of Writers and Age creation

Re: General Question - Servers

Postby Chacal » Thu Mar 27, 2008 11:17 am

BF2 clients use about 60-80 Kb/s
A 64-player server uses 8-10 Mb/s continuously during a game.

Considering the amount of information in a world update, it is amazing to see how smooth a server can run with that many players. This is a fast-paced action game, the position of each avatar has to be precise because you're shooting at it and will get frustrated if you're hitting it on screen and the server says otherwise. There's an incredible amount of objects moving, each gun projectile is an actual 3D object flying towards a target. We're not talking about 100 cones here. All collision detection and damage computation is done on the server so as to prevent cheating.

I run those 64-player servers on dual Opteron 248s with 3 Gigs of RAM on a 100Mbps switch directly connected to the L3 backbone.
I don't want to know how this costs.
Chacal


"The weak can never forgive. Forgiveness is an attribute of the strong."
-- Mahatma Gandhi
User avatar
Chacal
 
Posts: 2515
Joined: Tue Nov 06, 2007 2:45 pm
Location: Quebec, Canada

Re: General Question - Servers

Postby Aloys » Thu Mar 27, 2008 11:37 am

hahaha, yeah L3 bandwith is usually pretty expensive.. :p
As you mention FPSes are very bandwith intensive, so it's amazing (but not in a good way) how little difference there is between Live and BF2 (who is a very demanding game).
I'm not a network programmer, and I certainly don't want to dismiss Cyan's work, (especially because Uru Live was always meant for broadband connections) but it looks like there could be quite a bit of bandwith saved here for UU servers. At least if the client code was available..
User avatar
Aloys
 
Posts: 1968
Joined: Sun Oct 21, 2007 7:57 pm
Location: France (GMT +1)

Re: General Question - Servers

Postby Chacal » Thu Mar 27, 2008 11:52 am

I would try to get it better by two simultaneous approaches:

1- Logical: Optimizing the protocol and the code, rationalizing the amount of data and the encoding.

2- Architectural: Having a separate communications server whose sole job would be to make the rounds of all clients, sending world updates and gathering client update info. It would filter out irrelevant events and keep updating a data structure of all objects currently in the game. The game server engine would feed on that data structure and update it when necessary.
Chacal


"The weak can never forgive. Forgiveness is an attribute of the strong."
-- Mahatma Gandhi
User avatar
Chacal
 
Posts: 2515
Joined: Tue Nov 06, 2007 2:45 pm
Location: Quebec, Canada

Re: General Question - Servers

Postby Robert The Rebuilder » Thu Mar 27, 2008 12:51 pm

Boy - where were you guys when Cyan was looking for a server software engineer? :lol:
Can we rebuild it? Yes, we can - here's how.

MOULagain KI# 1299

Myst Movie coming soon - spread the word!
User avatar
Robert The Rebuilder
 
Posts: 1383
Joined: Sat Sep 29, 2007 7:24 am
Location: Virginia, US

Previous

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 5 guests

cron