Rate Management Plugin - Version 3.3 - Overview
Filename: plugin_blatt_rate
Offline Manual
You are reading this offline manual for this plugin. The links to the right
navigate through the offline information. The links above and to the left
link to www.ravenousbugblatterbeast.pwp.blueyonder.co.uk.
If you downloaded the plugin from somewhere else, or downloaded it some time ago,
I recomend you check for an updated plugin. Note that the on-line manual may have been updated
even if the plugin hasn't.
Overview
The rate management plugin adjusts every players "rate" every time
a new player joins or leaves the game. The "rate" controls how
frequently the client contacts the server, and is measured in bytes per second -
e.g. A 56K modem has a theoretical rate capacity of 56 * 1024/8 = 7168.
Some players with fast Internet connections set their rate very high,
which gives them a slight advantage in the game over those with lower
rates as they can send and receive updates about the position of each player
more frequently. Some do this intentionally picking very high rates, others
pick moderately high rates by selecting "T1/LAN" as their connection speed from
the GUI menu when joining a server.
When such players connect to a server that has a fairly low bandwidth connection
(for a server), such as those on low-end Cable / DSL, the server's connection
will be flooded and packets to all players will be dropped. If the overload
is low, this will manifest in the game as lag. If the overload is high and a large
number of packets will be dropped, this will manifest as the game freezing for
short periods (1-10 seconds). The ping of every Internet user will also race to
around 2000+. Of course local users who experience no packet loss on their LAN
connection will often not notice this has happened immediately, and guess who is
normally the admin...
This plugin allows the server admin to set a total amount of "rate"
to be shared amongst all players connected. Whenever a new player connects, each
player's share of that overall pool of rate is updated to an equal slice. It does
this by setting server side limits and by issuing a command across the network that
is run on the client.
This dual approach ensures that the settings can't be overridden by the players,
but the player can see the changes to their rate.
NOTE: This plugin only helps to reduce "lag spikes" caused by this
specific phenomenon - it does not eliminate lag entirely, or reduce the lag of
players when the server has enough bandwidth to function correctly. Do not e-mail me just to complain that your server is
still laggy after installing it - you will be ignored.
ALSO NOTE: The ping time of the player with the high rate is completely irrelevant
in all this. Ping time is a measure of how long a single packet takes to travel from
the server to the client and back. It is not the time one packet takes that is of
relevance, it is the number of packets received per second.
So why not just set sv_maxrate?
sv_maxrate is a server side variable that controls the maximum rate any individual
player can use. However, consider the following: You have a 128K server connection
and want a 6 player game. If you were to use sv_maxrate to limit the rate, you would
have to set it to 2730, which is quite low.
If you use this plugin, when six people are on your server, the rate would still be
set to 2730. However, when less than six are playing, the rate will raised to improve
everyone's game performance. The plugin ensures your server bandwidth is kept near
full utilisation regardless of how many are playing.
Local users
If some of your players are on a LAN with the server, they won't
consume the server's Internet connection bandwidth. You can configure
the plugin with either a static number of local users to ignore when
computing rate, or let it dynamically determine if a user is local from
their IP address.
|