PDA

View Full Version : -:|[ Interp Experiment - Gerbils Needed



Saur
05-10-2005, 03:31 PM
Okay, so more than a few of you have seen the videos I've been posting regarding the CS:S hitboxes. I've explained that adjusting your rates can help solve the problem. So let me explain the cvars a bit and move on to my plea.

rate Rate is the bandwidth we use in communicating with the server. I believe wih's sv_maxrate is somewhere in the 32000's. I use 25000 myself, though I hear rumors that it's capped at 20k regardless. Like your download speed.

cl_rate Same as above, only that it's your computer talking to the server's rate. Like your upload speed.

cl_cmdrate cmdrate is similar to uploading again. This is the number of updates you send to the server. So, having a default of 30, you would ideally send 30 packets per second to the server (though, as I have recently learned, this is not the case).

cl_updaterate updaterate is similar to downloading. This is the number of updates you request from the server. I leave this at a max of 101 so that I'm always getting the maximum updates the server is willing to send. Ideally, you'd get the number of packets as set by your value, but this isn't the case.

cl_interp interp puts model positions in the past. Read that? It puts the player model positions in the past according to the value you put in milliseconds. Default is .1 That means it puts the player model 100 milliseconds behind the players position. That's what you see the videos I show. It essentially adds 100 ms of ping to you.

Now then, in 1.6, you could put ex_interp to 0 and it'd automatically calculate the best value for you, but I'm not so sure that's the case in source. It may be. In any event, the way we employ interp isn't hte same anymore as it was in 1.6

This is because the updates/cmdrates you set aren't what you get. The true value you recieve is determiend by the server's tickrate. Now then, with that in mind, if you check net_graph 3 you'll see 33.9/s on the far right of the IN and OUT line.

IN is what we're interested in. IN is the cl_updaterate you're receiving. So, if ideally we had cl_updaterate to 64, we'd want cl_interp at .015625. But... since we're really only getting 33.9/s, we'd want something different.

Now, I've found a script off of the steampowered.com forums that does all that tough math for you:


//Developer alias
alias d0 "developer -1; con_notifytime 0"
alias d1 "con_notifytime 4; developer 1"
contimes 4


//cl_interp Adjustment
alias terp01 "cl_interp 0.0667; d1; echo net_graph 3 in = 15.0 updates a second; d0; alias terpup terp02; alias terpdn terp13"
alias terp02 "cl_interp 0.0500; d1; echo net_graph 3 in = 20.0 updates a second; d0; alias terpup terp03; alias terpdn terp01"
alias terp03 "cl_interp 0.0400; d1; echo net_graph 3 in = 25.0 updates a second; d0; alias terpup terp04; alias terpdn terp02"
alias terp04 "cl_interp 0.0333; d1; echo net_graph 3 in = 30.0 updates a second; d0; alias terpup terp05; alias terpdn terp03"
alias terp05 "cl_interp 0.0298; d1; echo net_graph 3 in = 33.6 updates a second; d0; alias terpup terp06; alias terpdn terp04"
alias terp06 "cl_interp 0.0250; d1; echo net_graph 3 in = 40.0 updates a second; d0; alias terpup terp07; alias terpdn terp05"
alias terp07 "cl_interp 0.0222; d1; echo net_graph 3 in = 45.0 updates a second; d0; alias terpup terp08; alias terpdn terp06"
alias terp08 "cl_interp 0.0200; d1; echo net_graph 3 in = 50.0 updates a second; d0; alias terpup terp09; alias terpdn terp07"
alias terp09 "cl_interp 0.0182; d1; echo net_graph 3 in = 55.0 updates a second; d0; alias terpup terp10; alias terpdn terp08"
alias terp10 "cl_interp 0.0167; d1; echo net_graph 3 in = 60.0 updates a second; d0; alias terpup terp11; alias terpdn terp09"
alias terp11 "cl_interp 0.0152; d1; echo net_graph 3 in = 66.6 updates a second; d0; alias terpup terp12; alias terpdn terp10"
alias terp12 "cl_interp 0.0100; d1; echo net_graph 3 in = 100.0 updates a second; d0; alias terpup terp13; alias terpdn terp11"
alias terp13 "cl_interp 0.1000; d1; echo Default cl_interp of 0.1; d0; alias terpup terp01; alias terpdn terp12"
alias terpup "terp05"
alias terpdn "terp04"
bind "pgdn" "terpdn"
bind "pgup" "terpup"


Now, put this in your autoexec.cfg This will bind your Page Up and Page Down keys, so if you use those, you may want to change the keys in the last two lines (bind "pgdn" "terpdn" to something like: bind "downarrow" "terpdn")

You'll also need to type: "net_graph 3" without the quotes in console. This'll display your connection information. Now just press page up or page down and in the upper corner of your screen it'll give you the value it should be equal to. Match it with the average you get for the end of the IN line.

This should be the ideal way to align your hitboxes. I can't test it myself now because I'm helping my gf move out of her dorm (I'll have to do the same soon) so I'm asking a few souls to explore it for me and report how it works out here. Several of you have PMd me with help regarding these matters, so you'd probably do best by trying this out.

Ty in advance, lookin' forward to hearin' from ya

<3 Saur

loopcycle
05-10-2005, 10:04 PM
would you mind posting the link to the steampowered thread you got that from?

Saur
05-10-2005, 10:52 PM
Sure thing :D

http://forums.steampowered.com/forums/showthread.php?s=f5d96a0662b96ae8f0375158aca99375&threadid=288484

<3 Saur

loopcycle
05-11-2005, 02:46 AM
just wanted to make sure i wasnt going to get myself bant by VAC for some funky script.

it seems to work. im not missing any obvious shots so far. of course ill have to play for a few days to get the hang of the timing.

its only real benefit is if you switch between servers with different IN values; its just a quick way to change your interp. on wih i dont fiddle with it, i just set interp @ 0.0298 (echo net_graph 3 in = 33.6 updates a second) to match the server.

loopcycle
05-11-2005, 02:49 AM
btw, the end of the IN line is shown here:

http://whisper.ausgamers.com/pictures/net_graph3.jpg

Saur
05-11-2005, 04:51 AM
Great news, and yeah, valve has officially stated it'll never ban for scripts or cvars -- if a cvar or script is discovered to be used as a hack they'll merely put it on the cheat cvar list and you won't be able to useit

That's exactly what they did to cl_pitchspeed because it was used in anti recoil scripts. And that's what they did to +right +left commands because tons of aimbots were dependant on them.

Anyone else try it? Again, it's totally harmless, you can't get into any trouble for it.

<3 Saur

Tykwer
05-11-2005, 03:42 PM
am i the only one who doesnt know how to make or change my autoexec.cfg ?

loopcycle
05-11-2005, 04:24 PM
am i the only one who doesnt know how to make or change my autoexec.cfg ?

the search button is your friend.

http://www.warishellgaming.com/modules.php?name=Forums&file=viewtopic&t=1929&postdays=0&postorder=asc&start=45

-LiT- Killer_B
05-11-2005, 05:00 PM
I am confused as to what we should change from the last post on these values saur???? :dunno:

loopcycle
05-11-2005, 05:16 PM
...what we should change from the last post on these values...?

ill take this question, if you dont mind.

Answer: depends on who/what you believe about how these cvars work.

if you believe this theory, then you (everyone, actually) should change your cl_interp to 0.0298 (in your config.cfg or autoexec.cfg) IF you only play on WiH.

this script allows you to assign a bunch of interp values that you can toggle thru with pageup and pagedown while in-game, so you can try out different settings without exiting CSS every time.

the best advice is to try a setting out for awhile and see how it works out for you. do you miss point blank or perfectly aimed shots? change the value until it seems like you hit what you aim at.

loopcycle
05-11-2005, 05:31 PM
the contradictory thing about this interp "theory" is that it is not relative to the client (like previous theory posted). it is an absolute value based on the server's updaterate alone which is universal.

so the funny thing here (if this is true) is that if we all play with default interp, we will all be at the same disadvantage, and thus on a (relatively) level playing field. or, those who adjust interp will have an advantage.

which theory is right? no-one seems to know for sure. it sure would be nice if somebody "official" could provide the answer, or just fix it so everyone is playing on a level field.

until then, this is just experimental, and the truth will only be known when you, the player, tries it out in practice and notices an improvement.

loopcycle
05-22-2005, 11:50 PM
UPDATE

after the somewhat recent update, im not doing so swift with the interp adjustments in-game...something has changed. im having problems.

to test it, i went to another server and the in-game interp changes didnt even work. it just echoed back 33.6 everytime i tried to change it. this 'other' server was even running a higher tickrate.

so im disabling my autoexec for now and playing vanilla again.