Ye Olde Hitboxbug

CommunistWithAGunCommunistWithAGun Local Propaganda Guy Join Date: 2003-04-30 Member: 15953Members
<div class="IPBDescription">Need a dev to reply pls</div> Okay, well, since late 3.0 beta testing way back a year ago the notorious hitbox bug was making its premiere, people usually just snidely remarked it was a bad excuse for death

<a href='http://www.purework.net/~lordy/l/NS/owned.avi' target='_blank'>A little video</a>

What does everyone think? Is there any update on it being fixed?

Comments

  • FuRoNFuRoN Join Date: 2004-09-06 Member: 31448Members
    miss cept for 1 shot... :/
  • aeroripperaeroripper Join Date: 2005-02-25 Member: 42471NS1 Playtester, Forum Moderators, Constellation
    yea looked like mostly misses... that one before you fell off shoot have been a direct hit thoug :-/
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Retired Developer, NS1 Playtester, Forum Moderators, Constellation
    There are many scenarios called 'The Hitbox bug' which one are you asking about?

    Is the the invulnerable entity NS specific bug that was never released to the public? ( Many constellation members are well aware of this one ).

    Is the the player specific hitbox bug that valve fixed? ( Person with the last player slot wasn't handled correctly by the engine )

    Is it the normal HL engine hitbox lag that most people incorrectly call a bug? This often manifests as "omg WTH shot round corner hax" complaint.

    Always remember that no two people on an internet server ever experience the same game. Each client sees a slightly different version of events and the crazy looking hits and misses are simply the server informing the client of what really happened.
  • daidalosdaidalos Join Date: 2004-05-23 Member: 28854Members, Constellation
    That one shot at second 7-8 is really strange in my opinion. It should`ve killed him :/
  • ultranewbultranewb Pro Bug Hunter Join Date: 2004-07-21 Member: 30026Members
    Or is it the "I set ex_interp to 50 milliseconds or lower even though my latency is much higher, so about 50% or more of the model updates are extrapolated (guessed) instead of interpolated (calculated)."
  • tankefugltankefugl One Script To Rule Them All... Trondheim, Norway Join Date: 2002-11-14 Member: 8641Members, Retired Developer, NS1 Playtester, Constellation, NS2 Playtester, Squad Five Blue
    You can easily provoke such issues if one part has a slightly fluctuating latency, the server is loaded or by working a bit with your rate settings. It is basically small things that can fool the client side prediction -- you notice where the first shot hits the skulk even though you didn't appear to hit it.
  • CommunistWithAGunCommunistWithAGun Local Propaganda Guy Join Date: 2003-04-30 Member: 15953Members
    What would be the best rates one would use to avoid such an abomination? (I never mess with ex_interp/ex_extrapmax cl_cmdbackup)
  • tankefugltankefugl One Script To Rule Them All... Trondheim, Norway Join Date: 2002-11-14 Member: 8641Members, Retired Developer, NS1 Playtester, Constellation, NS2 Playtester, Squad Five Blue
    That depends on your FPS, your connection, how far away the server is (in latency), server FPS, server settings, and probably cosmic background radiation too. Sorry, I have no acurate answer for it. There are a gazillion guides for rate settings for CS and the likes out there, though.
  • CommunistWithAGunCommunistWithAGun Local Propaganda Guy Join Date: 2003-04-30 Member: 15953Members
    I've tried everything from updaterate 45-101 and cmdrate 60-101 and get terrible registry.
  • tankefugltankefugl One Script To Rule Them All... Trondheim, Norway Join Date: 2002-11-14 Member: 8641Members, Retired Developer, NS1 Playtester, Constellation, NS2 Playtester, Squad Five Blue
    Make sure your rate is high enough for it. Also, servers may enforce other settings on you, as well as the fact that a low server FPS caps the cl_updaterate packets to that exactly. Loss or choke is your enemy, but I assume you knew that.

    A fluctuating latency might also be the cause, so check if your ping is somewhat stable or not. If not, it might be time to check out other ISPs or other servers.

    And of course, there might be another hitreg bug hidden somewhere .. who knows? Kinda makes it hard to nail it <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink-fix.gif' border='0' style='vertical-align:middle' alt='wink-fix.gif' /><!--endemo-->
  • JoshehJosheh Join Date: 2005-01-10 Member: 34564Members, Constellation
    that skulk was spanish
  • AlcapwnAlcapwn &quot;War is the science of destruction&quot; - John Abbot Join Date: 2003-06-21 Member: 17590Members
    Maybe people should stop screwing around with there rates and thinking it makes the problem go away?
  • TOmekkiTOmekki Join Date: 2003-11-25 Member: 23524Members
    edited August 2005
  • ultranewbultranewb Pro Bug Hunter Join Date: 2004-07-21 Member: 30026Members
    <!--QuoteBegin-CommunistWithAGun+Aug 4 2005, 03:50 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (CommunistWithAGun @ Aug 4 2005, 03:50 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> What would be the best rates one would use to avoid such an abomination? (I never mess with ex_interp/ex_extrapmax cl_cmdbackup) <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    You can't avoid, only minimize. You'll most time notice hits registering behind the models of players with 100+ pings - beyond the range of tollerance for interpolation.

    If you've a default ex_interp value and your ping is consistant with no choke/loss, ex_extrapmax will not matter much in and neither will cl_cmdbackup. Extrapolation occurs when you've not enough data to interpolate - like durring a lag spike and data doesn't reach your client in a timely manner. Backup commands pad each command with the last X commands your client sent and highly inflat the size of data in your upstream. Unless you're encoutering loss (usually due to a flakey ISP), you'll never need to touch this setting. UDP unlike TCP does not control or detect dropped packets, so the default setting is for those fluke times you do drop data.
  • ReptileauReptileau Join Date: 2003-11-15 Member: 22898Members
    Looks like you missed all of those shots but one.
  • CommunistWithAGunCommunistWithAGun Local Propaganda Guy Join Date: 2003-04-30 Member: 15953Members
    <!--QuoteBegin-Reptile!au+Aug 4 2005, 06:30 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Reptile!au @ Aug 4 2005, 06:30 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Looks like you missed all of those shots but one. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    First of all it isnt me in the demo, second of all granted only 2 shots "land" If you pay attention you see him fire a good inch behind the skulk model and it shows the pellets land on nothingness, then again the crosshair is directly on the skulk and only 1 pellet hits.
  • MrMojoMrMojo Join Date: 2002-11-25 Member: 9882Members, Constellation
    edited August 2005
    <span style='color:orange'>be nice</span>
  • CommunistWithAGunCommunistWithAGun Local Propaganda Guy Join Date: 2003-04-30 Member: 15953Members
    edited August 2005
    <span style='color:orange'>related post nuked</span>
  • ModChaosControlModChaosControl HiveMind NS bot creator Join Date: 2004-03-31 Member: 27613Members
    edited August 2005
    <span style='color:orange'>unrelated post nuked</span>
  • Soylent_greenSoylent_green Join Date: 2002-12-20 Member: 11220Members, Reinforced - Shadow
    AFAIK you cannot rely on demos to show exactly what you see on the client when you record them, and you definetly won't see what the client you are spectating sees when spectating someone else.
  • CommunistWithAGunCommunistWithAGun Local Propaganda Guy Join Date: 2003-04-30 Member: 15953Members
    Maybe its just me but, when I pull the trigger, and the crosshair is on an alien, it should die.
  • SnakestylesSnakestyles Join Date: 2005-01-07 Member: 33308Members
    Allways,allways use ex_interp 0 there have been tons of post about it and why you should use it,frankly you being a competetive player and not using it is rather suprising.Think swirl from knife did a nice post about how it works and why you should use it...will search for it now.
  • SnakestylesSnakestyles Join Date: 2005-01-07 Member: 33308Members
    <!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Swirl!

    Right guys, now listen up, and listen good. Before you come over here and post your useless information and experience that you have gained by years of gaming, why dont you acually shut up, load up a server, and experiment.

    And that is exactly what I have done. Lots of times.

    If you dont know a lot about the HL netcode, dont even bother reading this post any further. I will give a brief explanation of some of the commands, and how i understand them to work. And if you dont agree with me, go and join a server with a few friends, and test this out for yourself. I will even on request, upload some demos to an ftp so that you can see what I am talking about.

    First off lets start with the most common rate commands, rate, cl_cmdrate, and cl_updaterate.

    Rate is the amount of incoming data per packet that you receive from the server. The higher your rate value is set at, the less choke you will get (taking into account that you have a decent connection).

    cl_updaterate is the ammount of packets that you receive every second from the server. A decent value for this command would be anything above 30.

    now comes the most important one in this discussion, and there has been mass confusion about this command for years in this community (and other HL mods / games as well). cl_cmdrate is THE AMOUNT OF FRAMES PER SECOND THAT YOU SEND TO THE SERVER EVERY SECOND. Why is this so important?

    Because if a player assigns a low value to cl_cmdrate, he will be sending a low ammount of frames per second (FPS) to the server, meaning that he will basically be teleporting around.

    But how will you notice that someone is using a low value for cl_cmdrate? There is only one way - by using a correct value for interp on your client.

    Im sure by now everyone knows that ex_interp sets the timing for prediction inbetween frames received from the server that you are playing on. If you are using the correct interp value for your client, you will see 100% accurate hitboxes. This meaning that if a player is sending low FPS to the server (which is directly determined by cl_cmdrate), you will see him teleporting around on your screen because he is sending a low ammount of FPS to the server. Let me use an example:

    NSPlayer uses the following rates: rate 10000, cl_cmdrate 10, cl_updaterate 30. Lets forget about rate for now, it is not that important. what is important though is the last two commands. his cl_updaterate is set to 30, meaning he will receive 30 FPS from the server. His cl_cmdrate is set to 10, which means that he is sending only 10 FPS to the server. This means that the server is receiving updates from the client every 0.1 seconds. This means that if at any time he strafes left or right while running at you, and there hasnt been an update received (server from the client),you will still see him running towards you, but you will not see where his correct hitbox position is, MEANING YOUR BULLETS WILL MISS . This is taking into account that you are using incorrect interp values.

    So how do you see what value a player is using for his cl_cmdrate? Simply by using correct ex_interp values for the rates that you are currently using. Your ex_interp value should be your 1/cl_updaterate (1 divided by your cl_updaterate value). And if your not into maths, and you dont know where to turn on your calculator, you can easily set it to the correct value by opening your console, and typing: "ex_interp 0". By setting it to 0 , your client will automatically start using the correct value for ex_interp.

    Now most of you have not even bothered looking into this, meaning that you will most probably still be using the default value for ex_interp, which is 0.1 . If this is the case, then i suggest you set your cl_updaterate to 50 (or higher) and afterwards you set your ex_interp to 0 (because your interp value is based on your updaterate value). Then connect to a server - i gaurantee you that you will be seeing whats really going on. Yes, some players will teleport, (because of low cl_cmdrate values) but at least you are seeing their correct hitbox positions, and not some illusion.

    This my friends, is how ex_interp works. Its not some kind of hack, cheat, exploit etc... You cant change your interp to a value that gives you an advantage, because its not possible, except if you are of opinion that seeing correct hitbox positions is an advantage (in which case i reccomend you use the correct ex_interp value for your rates).

    PS: People telling others to change their cl_updaterate because they are "teleporting" should hopefully now see that cl_updaterate has nothing to do with teleporting. cl_cmdrate is the culprit. I seriously suggest that the dev team sets a minimum allowed cl_cmdrate value of no less than 30 in the next version of ns, and that they also lock cl_rate to 9999.

    Please pm me on irc if you want anymore information on this.

    edit: just corrected something. (1/cl_updaterate)

    This post has been edited by Swirl ! on Feb 19 2005, 01:04 PM
    <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
  • The_CheatThe_Cheat It&#39;s a The Cheat&#33; Join Date: 2003-11-19 Member: 23191Members, Constellation
    Tested, confirmed. I can't believe how many people use 15 for cmdrate now...
  • RobertoRoberto Join Date: 2003-03-16 Member: 14591Members, Constellation
    edited August 2005
    I can't believe the servers that screw up my nicely made rates by forcing their own on me.
  • EmanonEmanon Join Date: 2003-05-13 Member: 16254Members, Constellation
    edited August 2005
    Snakestyles, I understand that artical and agree with it but myself and others have really bad registration with ex_interp 0.0. Dont ask me why but it is clearly evident.

    <!--QuoteBegin-Roberto+Aug 5 2005, 11:51 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Roberto @ Aug 5 2005, 11:51 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->I can't believe the servers that screw up my nicely made rates by forcing their own on me.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Atleast your experienced to notice, other players that dont know about this stuff will never beable to go back.
  • GoldenGolden Join Date: 2004-09-01 Member: 31169Members, NS1 Playtester, NS2 Playtester, NS2 Map Tester, WC 2013 - Silver, NS2 Community Developer
    <!--QuoteBegin-CommunistWithAGun+Aug 4 2005, 04:29 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (CommunistWithAGun @ Aug 4 2005, 04:29 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->I've tried everything from updaterate 45-101 and cmdrate 60-101 and get terrible registry.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    So try something lower...



    If you have bad registration with ex_interp 0, turn up your ex_extrapmax. It counters for the jumpyness of the low interp value and smooths it out. You don't lose too much of the accuracy of the models and you don't get a massive headache from tracking teleporting skulks.
  • JacKnifeJacKnife Join Date: 2004-03-12 Member: 27302Members
    miss more and i think in cs we would call this a problem with your interp
Sign In or Register to comment.