Bandwidth Control

(Redirected from Bandwidth Shaping)
Jump to: navigation, search



During replication, in order to limit the amount of bandwidth a game uses, the Dude Server limits the amount of bandwidth each client uses. The limit is set by a configuration variable and can be overridden by script. This bandwidth limit applies only to game traffic. Area editing traffic and CLI commands are not considered tracked bandwidth for the purposes of this system.


Available bandwidth is assigned to replication message traffic based on the priorities and strategies represented by Field Replication Parameters. So long as there is available bandwidth for all message traffic available, then all data will be transmitted each update cycle. However, if the message traffic pending exceeds the bandwidth available, then message priorities and other parameters determine how to prioritize which traffic is transmitted.

Default Bandwidth Limits

The default bandwidth limit for each client is set by two configuration variables in the Dude Server. The first, "DudeBandwidthByteLimit", is the total bytes of traffic which can be sent to a client over a one second period. The second configuration variable, "DudeBandwidthMaxBurst", limits the maximum size of an individual replication message. These configuration variables can be set using the Master Control Console.

Script Control

Two ExternalFunctions are available to script on the area servers to override the default limits.

external function SetPlayerBandwidthSettings(playerAccount as ID, bandwidthLimit as Integer, maxBurst as Integer)
external function GetPlayerBandwidthSettings(playerAccount as ID, callbackNode as NodeRef)

Bandwidth math details

Upon connecting, a client has zero available bandwidth. As time elapses, the available bandwidth is incremented by the time delta. The length of each message sent is subtracted from the available bandwidth. This can cause the available to become negative. During any period when the available bandwidth is negative, all optional replication traffic is suspended. Over time, the available bandwidth will become positive again and traffic will resume. The total available bandwidth is limited to one seconds worth of traffic. When creating replication messages, if the available bandwidth is higher than the maximum burst bandwidth, the replication message will be limited to the maximum burst.

See also

Personal tools