aboutsummaryrefslogtreecommitdiffstats
path: root/code/server
diff options
context:
space:
mode:
authortma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-06-17 19:19:34 +0000
committertma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-06-17 19:19:34 +0000
commit4a9519ad8553e47a44d3e68a26a147d8b53f7ff2 (patch)
treef5801f8578346498d59bf1d656c243f51c367bfb /code/server
parent3a98677978bd7549f0cb8e8e4d500ee344305c41 (diff)
downloadioquake3-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.h1
-rw-r--r--code/server/sv_client.c6
-rw-r--r--code/server/sv_init.c1
-rw-r--r--code/server/sv_main.c1
-rw-r--r--code/server/sv_snapshot.c7
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;