diff options
author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2006-06-17 19:19:34 +0000 |
---|---|---|
committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2006-06-17 19:19:34 +0000 |
commit | 4a9519ad8553e47a44d3e68a26a147d8b53f7ff2 (patch) | |
tree | f5801f8578346498d59bf1d656c243f51c367bfb /code/server | |
parent | 3a98677978bd7549f0cb8e8e4d500ee344305c41 (diff) | |
download | ioquake3-aero-4a9519ad8553e47a44d3e68a26a147d8b53f7ff2.tar.gz ioquake3-aero-4a9519ad8553e47a44d3e68a26a147d8b53f7ff2.zip |
* sv_minRate (from R1CH)
* [cl|sv]_packetdelay (from tjw)
git-svn-id: svn://svn.icculus.org/quake3/trunk@808 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/server')
-rw-r--r-- | code/server/server.h | 1 | ||||
-rw-r--r-- | code/server/sv_client.c | 6 | ||||
-rw-r--r-- | code/server/sv_init.c | 1 | ||||
-rw-r--r-- | code/server/sv_main.c | 1 | ||||
-rw-r--r-- | code/server/sv_snapshot.c | 7 |
5 files changed, 16 insertions, 0 deletions
diff --git a/code/server/server.h b/code/server/server.h index 31fd411..94bde88 100644 --- a/code/server/server.h +++ b/code/server/server.h @@ -238,6 +238,7 @@ extern cvar_t *sv_killserver; extern cvar_t *sv_mapname; extern cvar_t *sv_mapChecksum; extern cvar_t *sv_serverid; +extern cvar_t *sv_minRate; extern cvar_t *sv_maxRate; extern cvar_t *sv_minPing; extern cvar_t *sv_maxPing; diff --git a/code/server/sv_client.c b/code/server/sv_client.c index 91e2123..2cb6c05 100644 --- a/code/server/sv_client.c +++ b/code/server/sv_client.c @@ -901,6 +901,12 @@ void SV_WriteDownloadToClient( client_t *cl , msg_t *msg ) rate = sv_maxRate->integer; } } + if ( sv_minRate->integer ) { + if ( sv_minRate->integer < 1000 ) + Cvar_Set( "sv_minRate", "1000" ); + if ( sv_minRate->integer > rate ) + rate = sv_minRate->integer; + } if (!rate) { blockspersnap = 1; diff --git a/code/server/sv_init.c b/code/server/sv_init.c index 8472adf..e9f257b 100644 --- a/code/server/sv_init.c +++ b/code/server/sv_init.c @@ -582,6 +582,7 @@ void SV_Init (void) { sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE ); sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH); + sv_minRate = Cvar_Get ("sv_minRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO ); diff --git a/code/server/sv_main.c b/code/server/sv_main.c index e7c6eb7..c2ae710 100644 --- a/code/server/sv_main.c +++ b/code/server/sv_main.c @@ -44,6 +44,7 @@ cvar_t *sv_killserver; // menu system can set to 1 to shut server down cvar_t *sv_mapname; cvar_t *sv_mapChecksum; cvar_t *sv_serverid; +cvar_t *sv_minRate; cvar_t *sv_maxRate; cvar_t *sv_minPing; cvar_t *sv_maxPing; diff --git a/code/server/sv_snapshot.c b/code/server/sv_snapshot.c index db5164b..2786b84 100644 --- a/code/server/sv_snapshot.c +++ b/code/server/sv_snapshot.c @@ -551,6 +551,13 @@ static int SV_RateMsec( client_t *client, int messageSize ) { rate = sv_maxRate->integer; } } + if ( sv_minRate->integer ) { + if ( sv_minRate->integer < 1000 ) + Cvar_Set( "sv_minRate", "1000" ); + if ( sv_minRate->integer > rate ) + rate = sv_minRate->integer; + } + rateMsec = ( messageSize + HEADER_RATE_BYTES ) * 1000 / rate; return rateMsec; |