hi, in the last few days i read a lot about this cvar.
lots of ppl agree with the best & unique value for this var is 40, other ppl agree with the idea that snaps should be set 20.
are we behind a sort of conflict?
i dwnl et sdk, and i tried to take a look inside them.
i have understood that snaps cvar works as interpolation amount data, so a client has to receive 20 or 40 "packets" before starting a data interpolation that permit you to see your pg moving on your monitor.
server var sv_fps is locked to 20, so server is able to send 20 packets to each client every time, so why ppl have to put snaps 40? they will have 2 receive two group of 20 packets from the server before start interpolation, so i think it will be a little delay ( very little ) but it could give probs ( like no hitting shots and going on )
so i'm pleased to know what's your point of view about it.
why not to force snaps value to 20 directly in etpro?
snaps
Moderators: Forum moderators, developers
You have seem to have misinterpreted the meaning of snaps. Snaps tells the server how many snapshots per second you want to get. A snapshot is the data required to represent the world. The server sends at most one per server frame. This should make sense, since the data required to construct the snap is only caclulated once per server frame. Your client tries to interpolate between the two most recent snaps (and failing that, extraplolates from the most recent one).
In theory, having snaps over sv_fps has no effect. It should be exactly the same as having snaps == sv_fps.
Note that both snaps and sv_fps control stuff in engine code, so looking at the gamecode won't tell you the whole story.
FWIW, I have at times felt that snaps 40 does have some effect, but common sense says it shouldn't, and I haven't found verifiable difference. It certainly doesn't cause twice as many snaps to be sent.
In theory, having snaps over sv_fps has no effect. It should be exactly the same as having snaps == sv_fps.
Note that both snaps and sv_fps control stuff in engine code, so looking at the gamecode won't tell you the whole story.
FWIW, I have at times felt that snaps 40 does have some effect, but common sense says it shouldn't, and I haven't found verifiable difference. It certainly doesn't cause twice as many snaps to be sent.
send lawyers, guns and money
Is there a negative to forcing clients to have snaps of 20?
GameArena give a range of 1 - 20
Some complain that there is an exploit where braodband users use low snaps values. Is this true?
(sorry for the bump, I was searching for something and found this thread... just curious)
GameArena give a range of 1 - 20
Code: Select all
command "sv_cvar snaps IN 1 20"
(sorry for the bump, I was searching for something and found this thread... just curious)
Lower than 20 is useful if you are on a very slow connection (dialup). There is probably no reason to allow less then 10, but from my testing even snaps 1 didn't make you much warpier on other peoples screens. It is unplayable for the person using that setting.gotenks wrote:there is no advantage to a client using snaps other then 20, infact it's quite damaging to use a non 20 multiple (20,40,etc) but anything over 20 is useless
Note that the difference between 20 and 40 has been explained since I made the post above. Essentially, snaps 40 on a server with sv_fps 20 can confuse rate limiting, causing you to get rate limited before you really need to be.
send lawyers, guns and money
Code: Select all
// snaps command
val = Info_ValueForKey (cl->userinfo, "snaps");
if (strlen(val)) {
i = atoi(val);
if ( i < 1 ) {
i = 1;
} else if ( i > sv_fps->integer ) {
i = sv_fps->integer;
}
cl->snapshotMsec = 1000/i;
} else {
cl->snapshotMsec = 50;
}
Where is that code from ? What I see for quake3 (code/server/sv_client.c:SV_UserinfoChanged) is
Code: Select all
// snaps command
val = Info_ValueForKey (cl->userinfo, "snaps");
if (strlen(val)) {
i = atoi(val);
if ( i < 1 ) {
i = 1;
} else if ( i > 30 ) {
i = 30;
}
cl->snapshotMsec = 1000/i;
} else {
cl->snapshotMsec = 50;
}
send lawyers, guns and money