View Single Post
r4f4w
Member
Join Date: Jul 2019
Old 04-22-2020 , 13:53   Re: Calculate Bandwidth Usage
Reply With Quote #3

Quote:
Originally Posted by Bacardi View Post
My lazy calculator http://ambaca.github.io/rate-calculator-2015/

anyway... it depends a game, game mode, map how well it have build, plugins, and many other things.

You see it better with net_graph 5,
in csgo you need remove restriction with sv_max_allowed_net_graph 5

In this pic, I have deathmatch with 10 bots. tickrate 64. And rates set high to avoid limitations.
At that moment when I take a picture, there where only 5 bots around, shooting.



You need guess and choose, what is biggest packet size (in:) player can get and not get choke.
I choose 1500 Bytes from picture.

Server is running tickrate 64, so max. updaterate is 64 packets / second.
1500 Bytes x updaterate 64 = 96000 B/s

Ok, I could restrict player rate to max. 96000
sv_maxrate 96000

Player is able to download updates maximum 96 KB/s
If server send bigger packet size than 1500 Bytes, it would split, give little choke to player.




Now then, in worst possible scenario, server try to send ALL 10 players maximum packets in same times, which should not be possible.
packet size 1500 Bytes x updaterate 64 packets / second x 10 players = 960000 Bytes per second (B/s)
~ 960 KB/s
Convert to network bandwidth, 960 KB/s * 8 = 7680 Kbps
~ [B]7.680 Mbps

-------------------------

Lets quickly guess your 128 tickrate server.

Lets assume max packet size 1500 Bytes again.
1500 Bytes x updaterate 128 = sv_maxrate 192000
192 KB/s x 16 players = 3072 KB/s
~ 3.072 MB/s
Convert to bandwidth X8:
~ 24.576 Mbps
One 16 players server, tickrate 128, sv_maxrate 192000

*And this is worst scenario what could happen in single srcds, sending maximum packets to ALL players.
First of all, thanks for the detailed and complete answer!!!

I just have one question:

The sv_min/maxrate cvar. I thought this command would control the maximum packet size that players would send. But you said:
Quote:
Now then, in worst possible scenario, server try to send ALL 10 players maximum packets in same times, which should not be possible.
packet size 1500 Bytes x updaterate 64 packets / second x 10 players = 960000 Bytes per second (B/s)
~ 960 KB/s
Convert to network bandwidth, 960 KB/s * 8 = 7680 Kbps
~ 7.680 Mbps
So the rate control isn't about just the player packet size upload, but the server too?

As: player send 1500 Bytes packet => server recevied => server process information => server send back a 1500 Bytes packet

Last edited by r4f4w; 04-22-2020 at 13:59. Reason: sended incomplete awnser
r4f4w is offline