NS server bandwidth
Flayra
Game Director, Unknown Worlds EntertainmentSan Francisco Join Date: 2002-01-22 Member: 3Super Administrators, NS2 Developer, Subnautica Developer
<div class="IPBDescription">Run a server and want to help?</div>Hey everyone,
Does anyone have any recent data on how much bandwidth (up and down) running an NS server takes? I searched the forums and just found some very old posts.
In particular, I'm wondering how many players a cable modem could serve. If anyone could post their measurements here, I'd really appreciate it.
Thanks!
Does anyone have any recent data on how much bandwidth (up and down) running an NS server takes? I searched the forums and just found some very old posts.
In particular, I'm wondering how many players a cable modem could serve. If anyone could post their measurements here, I'd really appreciate it.
Thanks!
Comments
As for the first question, I can't really give any exact figures, but my hypothesis is that:
<i>With a 250 - 300kbps upload speed you could run an average 6 vs 6 game of NS (as in no turret farms or mine spams). Expect pings around 150, getting as low as 100 - 125 if player is near host.
With a 500kbps upload connection speed you could run the same game with an average ping of around 100.</i>
That's what I think... I can't test this for myself because I get an upload speed of 100kbps or less (but yet I get 500kbps download speed) <img src="style_emoticons/<#EMO_DIR#>/sad-fix.gif" style="vertical-align:middle" emoid=":(" border="0" alt="sad-fix.gif" />.
EDIT: I decided to just generate a bw graph for the hour or so we were scrimming a couple hours ago. I hope this provides some useful information. The bandwidth measurements are in kilobits, not kilobytes.
<img src="http://evolvens.com/bwusage.png" border="0" alt="IPB Image" />
Also note that the "in" is green, but in is with respect to the switch, not the server. So the green is the server's outbound bandwidth and the blue is the inbound. There were 12 players and 2-3 specs the entire game.
If you'd like more graphs, or would like it zoomed in a little tighter I can do that also, would provide a better average calculation, but it's clear about 700Kb upstream and 600Kb downstream is sufficient most of the time.
Another way to look at the problem is to take the theoretical maximum rates that clients can transmit and receive. cl_rate is locked at 9999 on HL, so a client can't transmit more than this,and the server has an internal cap on rate at 20,000, so it won't transmit any more than this per player.
So, on the downstream, a server will burst a maximum of 20kbps per player. For an 18 player server, that's 360kbps down and 180kbps up.
In reality, an NS server seems to average at about 7-8kbps down per player. I'm not sure if any of the popular server side mods add to the overhead.
Add a HLTV and you get a little more, as a HLTV stream is not bound by 'rate'.
As for running a server on a cable service, well, it should be fine with a high quality cable service, but wouldn't work too well on the typical contended cable or dsl service that 90% of people still have. With DOCIS 3.0 products coming out this year, and aggressive deployment schedules due to competition from DSL and fibre, I'd expect this story to be very different in a years time. The Live service from microsoft seems to work okay, but I don't know how aggresive they have to be in their net code to allow it.
Would it not be fair to say that those snmp stats are from the interface, and represent all of the other traffic to and from the server too. This is obviously an important metric, assuming there are no other services running on your server.
<!--QuoteEnd--></div><!--QuoteEEnd-->
Correct, but all that runs on the server attached to that particular port is 2 completely dead public NS servers, an NS 1.04 server and the private scrim server, so I'd say near 100% of that bandwidth was from the scrim.
EDIT: hltv.cfg does have a rate setting, but I did not use HLTV during this scrim.
- Shockwave
Easiest way of getting this data.
1. Ask a popular server of the size you are looking for to check this on their servers web management interface. Most reputable server providers these days track this for you anyhow.
I would do this for you but I no longer run any servers for the competative league and dont have any historical data.
I know its very little though.
YO-Clan used to average around 300-400 Kilobit/s when full (18 players) if i remember correctly.
<!--QuoteEnd--></div><!--QuoteEEnd-->
That's about half what my server with 12 playing and 3 or less specs (I forget now). Although I'd guess those playing a scrim are more likely to have set their rates higher, which may explain this.
EDIT: I decided to just generate a bw graph for the hour or so we were scrimming a couple hours ago. I hope this provides some useful information. The bandwidth measurements are in kilobits, not kilobytes.
<img src="http://evolvens.com/bwusage.png" border="0" alt="IPB Image" />
Also note that the "in" is green, but in is with respect to the switch, not the server. So the green is the server's outbound bandwidth and the blue is the inbound. There were 12 players and 2-3 specs the entire game.
If you'd like more graphs, or would like it zoomed in a little tighter I can do that also, would provide a better average calculation, but it's clear about 700Kb upstream and 600Kb downstream is sufficient most of the time. <!--QuoteEnd--></div><!--QuoteEEnd-->
sweet, i can run a 16 player server and play. pwn. hello new evolve match server, goodbye beowulf complaining. <img src="style_emoticons/<#EMO_DIR#>/tounge.gif" style="vertical-align:middle" emoid=":p" border="0" alt="tounge.gif" />
I was looking at roughly 4-6 kB/s per player on my upstream, which was the limiting factor.
--Scythe--
although i agree that numbers go out the window when it comes down to reality . . . i'll just have to try it out one of these days.
I'll use an extreme example. Let's say you average over 2 seconds and get an average of 800kbit, but for 1 second of that time the bandwidth used was actually 1600kbit and for the other second it was 0kbit (I said extreme ok? <img src="style_emoticons/<#EMO_DIR#>/tounge.gif" style="vertical-align:middle" emoid=":p" border="0" alt="tounge.gif" />). The point is this is an average over 1 second of 800kbit. In this scenario if your upstream limit is 1000kbit, you would still experience problems.
In reality the peaks in this data are going to last for much shorter periods than 1 second, but they will still be present and will be affected by your upstream being less than what the peaks require. Simply having greater than the averages my graph is showing isn't enough.
I do not have data on how high the peaks actually hit, but be sure that there are peaks and that having 1mbit upstream isn't going to cut it. Even if the peaks just barely touch 1mbit (and never break it), having 1mbit upstream just means that's the theoretical max, not what you're actually going to get when transmitting to 12 different locations on the internet.
Additionally, as you all are aware I'm sure, throughput isn't the only important aspect to your gaming experience. You also have to consider latency. As you reach the capacity of your upstream, the latency increases. Furthermore, dsl speed tests and the like do not fully take into account the effects of packet loss. Speed tests on sites like dslreports.com use TCP, which basically means that if a packet is lost it is retransmitted. The result is a slightly lower than actual transmission speed (because dropped packets get retransmitted and not counted as being transmitted multiple times by the speed test), but they do not show you packet loss. Games use UDP, which means that when a packet is lost it is not retransmitted (I'm aware HL has built in retransmission of packets by way of cl_cmdbackup and cl_resend, but that's a seperate issue). Packet loss will cause a more problematic game experience than high ping being that the HL engine does have lag compensation to some degree, but cannot compensate for packet loss (in cases where there is enough loss that it is not fixed by the cmdbackup and the resend).
and I can host a 10vs10 without probs, as long as I use a wired connection.
Thats 12.8 KiloByte per player.
16/2 Mbit DSL
and I can host a 10vs10 without probs, as long as I use a wired connection.
Thats 12.8 KiloByte per player.
<!--QuoteEnd--></div><!--QuoteEEnd-->
I won't deny that's possible. A lot of people (even those experience with NS and other HL games) never bother to change their rates, which by default are quite low.
With this i was able to run an ns server with 24 players. Each client averaging 4-5kb/s
I'm assuming clients had rates at default values cl_cmdrate 30.
In the past when i had Optimum Online Cable, upload rate was 120kb/s max.
With this i was able to run an ns server with 24 players. Each client averaging 4-5kb/s
I'm assuming clients had rates at default values cl_cmdrate 30.
<!--QuoteEnd--></div><!--QuoteEEnd-->
You probably had 1Mbit up, which is 125KB/s, which I think would make sense considering random people on the server and probably majority using default rates.
I'd be interested in seeing a graph of bandwidth with everyone using default rates. It would also be a more accurate representation of an average group of people you would play with.
Valid rates (at least for ANSL) are
cl_cmdrate 40-121
cl_updaterate 40-121
rate 7000-25000
Higher is better (if your internet connection can handle it).
I think the default cmd and update rates are 30.
I'm not sure of how to convert these numbers but I have 17798 kb/s download and 2039 kb/s upload
Haven't tried it on NS yet... but I'd imagine at least equal to UT?
Thats most likely kilobits.
You convert according to the following rules:
8 bit equal 1 byte
1024 equals kilo K
1024 kilo equals mega M
1024 mega equals giga G
1024 giga equals terra T
To tell byte and bit apart you usually use a capital B for byte and a small b for bit.
So your connection would be roughly a 16/2 Mb pipe.
Or a 2/0.25 MB pipe.
I use this to calculate the values:
sv_maxrate = upload rate * 8 * 125 / server size (server size = human players; do not include bots)
sv_minrate should always be set at 0 (If we talk about small servers)
sv_maxupdaterate = sv_maxrate / 512 (that 512 is probably more secure to use than 300..)
We had a 2 Mb upstream so I tested the TRUE upload rate and I got 190KB:
sv_maxrate 190 * 8 * 125 / 14 = 13571 ~ 13500 (best to round down. DSL lines have always problems..)
sv_minrate 0
sv_maxupdaterate 26,36 ~26 (but I read somewhere that this value should not be put over 20 on small servers..dunno)
sv_minupdaterate 24
We've been hosting a server for 16 players with loads of plugins and the pings have stayed at desirable rate..
It almost sounds like he's working on an...downloaded console version to be released over 360 live arcade and Playstation network, what with there listen servers and all. Im starting that rumor right now. <img src="style_emoticons/<#EMO_DIR#>/asrifle.gif" style="vertical-align:middle" emoid="::asrifle::" border="0" alt="asrifle.gif" />
On topic: isnt the general rule with HL1/source games is that 6kb per person is enough?