Hit Registration problem - Video proof

2»

Comments

  • FlayraFlayra Game Director, Unknown Worlds Entertainment San Francisco Join Date: 2002-01-22 Member: 3Super Administrators, NS2 Developer, Subnautica Developer
    Thanks for the video guys, that's helpful. We'll check into this today.
  • ZekZek Join Date: 2002-11-10 Member: 7962Members, NS1 Playtester, Constellation, Reinforced - Shadow
    Definitely a server issue, I've never had any trouble on ours. If it's anything like NS1 then Voogru's is usually a petri dish for mods, maybe something is going wrong there?
  • Kouji_SanKouji_San Sr. Hινε Uρкεερεг - EUPT Deputy The Netherlands Join Date: 2003-05-13 Member: 16271Members, NS2 Playtester, Squad Five Blue
    edited November 2012
    Well even on low latency I've seen shots go around corners from my own perspective when shooting aliens. And hate it when it happens to my Lerk/Fade/leaping Skulk. I'm not talking about the acceptable shot around corner stuff, this is more then 1s around the corner which usually happens on fast moving creatures. Also I've seen full damage shotgun shots that should actually be a glancing shot or even a miss sometimes. So there is indeed something funky going on...

    Hitreg was dead on a few patches back (227/226?), not sure what happened...


    [edit]And mods on the server could have an adverse effect as well, that is a good point...
  • VeNeMVeNeM Join Date: 2002-07-13 Member: 928Members
    edited November 2012
    build 230 - added shooting through walls

    lmao
  • BrainmaggotBrainmaggot Join Date: 2012-09-03 Member: 157535Members
    I've got a a really sketchy understanding of how good hitreg is right now and how much of the issues is due to laggy servers.

    Just a few patches ago (before release) hitreg was suddenly changed to feel <i>a lot</i> better. Now I find myself having issues with especially the shotgun.

    There a plenty of times every game session that I blast a skulk at very close range with the entire crosshair on the skulks body and instead of an instagib, I do 17-40dmg.
    This is very, very frustrating. I find that this happens a lot less on better servers. Both due to ping and server quality as some good ping servers have this issue as well.

    It's nice to hear that it's being looked into.
  • xDragonxDragon Join Date: 2012-04-04 Member: 149948Members, NS2 Playtester, Squad Five Gold, NS2 Map Tester, Reinforced - Shadow
    Hitreg was good before patch 224/225, well not great but way more acceptable than it is currently. Since that patch, it has taken massive steps backwards.
  • tarquinbbtarquinbb Join Date: 2012-11-03 Member: 166314Members
    the op video is far more extreme than i've seen...

    why were you hiding r_stats ? i think you should make a similar video showing the information.

    server maybe has stupid net settings or bad performance.
  • purephoenixpurephoenix Join Date: 2012-11-17 Member: 172074Members
    edited November 2012
    As someone who's been arond since NS1 and helped troubleshoot PSHB, sparkler shotgun and many other bugs, please take the rest of my comments seriously;

    First Example, you're probably looking at resent package corruption. I'll explain that in a bit.

    Second example, you're plain missed. I'm sorry to say, but if you really slow that video down and watch for the sparks of your bullets hitting metal, you CLEARLY missed. Alot.

    Third example, you've got a pretty solid point there. Apart from dropped packets i can see no reason why that skulk even survived your first burst, little alone another ~20 shots.

    Example 5, You did enough damage to kill the skulk alone, forget that other marine even shot it >.>

    Game 2 example 1; You did 2-3 times required damage.

    I've seen enough to convince me, definitely stopping for now. IDK if i'll watch the rest unless requested, but with my own experiences and watching that vid in MPC-HC with slow-down and per-frame pausing showed me beyond any shadow of a doubt that you're getting rego issues.
    <u><b>
    Resend Package Corruption;</b></u>
    Also known as choke or loss, it essentially means all the packets you send aren't being received by the server. Because games use the UDP protocol which doesn't require a send receipt, it's quite hard for either server or client to work out wether they've received the right packets or not.

    As such, when your internet connection quality is sub-par due to spike lag or dropped packets, the server will request that your client resends the last 1-2 seconds worth of packets. In terms of your first example, this would mean that your first 10 shots did zero damage, because they were completely lost or deemed corrupt by the server and completely disregarded. That's why you seemed to do zero damage to the skulk as it's 1/2 way up teh corridor. You kept firing, thinking your shots were doing no damage but what happened in reality was much different.

    After the first 10 shots a polling interval had occured and the server received conflicting packets; something along the lines of "You are firing, but i don't know what at or at which angle". It deleted all data it'd received from you in the last second and ignored it, then sent a request for your machine to re-send it. Your machine did that and the data came through accurately this time; The server then was able to apply damage retro-actively and credit you the kill. The other marine, Justice Department, didn't hit taht skulk at all btw, if you go frame-by-frame he'd be lucky to have even hit it once.

    It's an annoying issue to have and is made worse by the dropping quality of american internet, but it happens. The only way to fix it is to change back from UDP to TCP protocols for internet game and honestly, that results in a significant amount more internet bandwidth used. Think 15-20% more roughly.
  • LeviathanLeviathan Join Date: 2004-09-04 Member: 31345Members, Constellation, Reinforced - Shadow
    <!--quoteo(post=2028431:date=Nov 18 2012, 11:26 PM:name=zzzfingernailzzz)--><div class='quotetop'>QUOTE (zzzfingernailzzz @ Nov 18 2012, 11:26 PM) <a href="index.php?act=findpost&pid=2028431"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Yeah on that voogru server the hit reg is total ass. I put an entire clip of w3 rifle into an afk skulk! Didn't miss one bullet and it didn't die.<!--QuoteEnd--></div><!--QuoteEEnd-->

    I was on Voogru a couple of days ago and had this exact thing happen. There was a skulk sitting still and I put one and a half clips in him without missing before he proceeded to bite me to death. He said even he could tell something was wrong.

    It may be a problem specific to the server, since I haven't had this issue anywhere else.
  • PHJFPHJF Join Date: 2005-07-13 Member: 55898Members
    I haven't been able to hit jack ###### with LMG since 229 whereas I used to kill three skulks with about one clip.
  • GlissGliss Join Date: 2003-03-23 Member: 14800Members, Constellation, NS2 Map Tester
    <!--quoteo(post=2028467:date=Nov 18 2012, 09:01 PM:name=Davil)--><div class='quotetop'>QUOTE (Davil @ Nov 18 2012, 09:01 PM) <a href="index.php?act=findpost&pid=2028467"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->And I never put too much stock into damage numbers as they're often wrong, that's not really anything new.<!--QuoteEnd--></div><!--QuoteEEnd-->
    they are supposed to be server-side
  • SwiftspearSwiftspear Custim tital Join Date: 2003-10-29 Member: 22097Members
    <!--quoteo(post=2028898:date=Nov 19 2012, 11:47 AM:name=purephoenix)--><div class='quotetop'>QUOTE (purephoenix @ Nov 19 2012, 11:47 AM) <a href="index.php?act=findpost&pid=2028898"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->As someone who's been arond since NS1 and helped troubleshoot PSHB, sparkler shotgun and many other bugs, please take the rest of my comments seriously;

    First Example, you're probably looking at resent package corruption. I'll explain that in a bit.

    Second example, you're plain missed. I'm sorry to say, but if you really slow that video down and watch for the sparks of your bullets hitting metal, you CLEARLY missed. Alot.

    Third example, you've got a pretty solid point there. Apart from dropped packets i can see no reason why that skulk even survived your first burst, little alone another ~20 shots.

    Example 5, You did enough damage to kill the skulk alone, forget that other marine even shot it >.>

    Game 2 example 1; You did 2-3 times required damage.

    I've seen enough to convince me, definitely stopping for now. IDK if i'll watch the rest unless requested, but with my own experiences and watching that vid in MPC-HC with slow-down and per-frame pausing showed me beyond any shadow of a doubt that you're getting rego issues.
    <u><b>
    Resend Package Corruption;</b></u>
    Also known as choke or loss, it essentially means all the packets you send aren't being received by the server. Because games use the UDP protocol which doesn't require a send receipt, it's quite hard for either server or client to work out wether they've received the right packets or not.

    As such, when your internet connection quality is sub-par due to spike lag or dropped packets, the server will request that your client resends the last 1-2 seconds worth of packets. In terms of your first example, this would mean that your first 10 shots did zero damage, because they were completely lost or deemed corrupt by the server and completely disregarded. That's why you seemed to do zero damage to the skulk as it's 1/2 way up teh corridor. You kept firing, thinking your shots were doing no damage but what happened in reality was much different.

    After the first 10 shots a polling interval had occured and the server received conflicting packets; something along the lines of "You are firing, but i don't know what at or at which angle". It deleted all data it'd received from you in the last second and ignored it, then sent a request for your machine to re-send it. Your machine did that and the data came through accurately this time; The server then was able to apply damage retro-actively and credit you the kill. The other marine, Justice Department, didn't hit taht skulk at all btw, if you go frame-by-frame he'd be lucky to have even hit it once.

    It's an annoying issue to have and is made worse by the dropping quality of american internet, but it happens. The only way to fix it is to change back from UDP to TCP protocols for internet game and honestly, that results in a significant amount more internet bandwidth used. Think 15-20% more roughly.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Eh, NS2 uses UDP for gamestate info? yucky :S I thought TCP was standard for that kind of stuff these days.
  • voogruvoogru Naturally Modified (ex. NS programmer) Join Date: 2002-10-31 Member: 1827Members, Retired Developer, NS1 Playtester, Contributor, Constellation
    edited November 2012
    I just heard of this today by a player on my servers, but they also noted to me that they have experienced the same problem on other servers.

    My servers currently have no serious modifications minus a reserved slots system and I under report the maxplayers of the server down from 24 to 18.

    However, the past day or so I have been experimenting with LuaJIT. It was only on for about a day and I've just removed it to see if it might make a difference.
  • purephoenixpurephoenix Join Date: 2012-11-17 Member: 172074Members
    <!--quoteo(post=2029211:date=Nov 20 2012, 07:47 AM:name=Swiftspear)--><div class='quotetop'>QUOTE (Swiftspear @ Nov 20 2012, 07:47 AM) <a href="index.php?act=findpost&pid=2029211"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Eh, NS2 uses UDP for gamestate info? yucky :S I thought TCP was standard for that kind of stuff these days.<!--QuoteEnd--></div><!--QuoteEEnd-->

    No, this is standard traffic. Server list, Master Server auth traffic etc should all be TCP.... there's no reason for it not to be. It's once a minute or less that it's sent, unless your'e spamming the Update button in the server browser.
  • NSDigiNSDigi Join Date: 2010-04-23 Member: 71503Members
    <!--coloro:#2E8B57--><span style="color:#2E8B57"><!--/coloro-->For those that would like to make a change ....

    <a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=124924" target="_blank">http://www.unknownworlds.com/ns2/forums/in...howtopic=124924</a><!--colorc--></span><!--/colorc-->
  • Soylent_greenSoylent_green Join Date: 2002-12-20 Member: 11220Members, Reinforced - Shadow
    <!--quoteo(post=2029211:date=Nov 19 2012, 04:17 PM:name=Swiftspear)--><div class='quotetop'>QUOTE (Swiftspear @ Nov 19 2012, 04:17 PM) <a href="index.php?act=findpost&pid=2029211"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Eh, NS2 uses UDP for gamestate info? yucky :S I thought TCP was standard for that kind of stuff these days.<!--QuoteEnd--></div><!--QuoteEEnd-->

    TDP is <b>reliable</b> and <b>ordered</b> and that's a disaster. Pretty much every real-time game ever uses UDP. The thing to remember is that TDP and UDP are both built ontop of IP. TDP packets are treated exactly the same as any other packets by the internet. TDP is just an abstraction layer; everything TDP does for you, you can do yourself with UDP if you need to.

    Reliable means that in a lag-spike I'm going to resend the last 150 samples of input until you recieve them, whether you bloody well want them or not.

    Ordered means TDP will never let you receive packets out of order. If I send packets 1...2...3 and they arrive .......1...3....2 what the server will see is .......1.......23. You can't use the information in packet 3 until packet 2 arrives, and if packet 2 was corrupt packet 3, 4, 5, 6, 7, 8... is going to sit on the server and wait until I have resent packet 2.
  • GuspazGuspaz Join Date: 2002-11-01 Member: 2862Members, Constellation
    TCP is completely useless for real-time communications. Because it's designed for reliable communication, it will completely stop an entire connection just to recover one lost packet.

    FPS games have an interpolation window; if a packet is dropped, it can just ignore that fact and interpolate over the missing data. But if it were using UDP, it might have to freeze all communication for a quarter second until it can get the missing packet.

    Use TCP when data integrity is more important than latency. Use UDP when latency is more important than data integrity.
  • spellman23spellman23 NS1 Theorycraft Expert Join Date: 2007-05-17 Member: 60920Members
    <!--quoteo(post=2029747:date=Nov 19 2012, 10:35 PM:name=Guspaz)--><div class='quotetop'>QUOTE (Guspaz @ Nov 19 2012, 10:35 PM) <a href="index.php?act=findpost&pid=2029747"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->TCP is completely useless for real-time communications. Because it's designed for reliable communication, it will completely stop an entire connection just to recover one lost packet.

    FPS games have an interpolation window; if a packet is dropped, it can just ignore that fact and interpolate over the missing data. But if it were using UDP, it might have to freeze all communication for a quarter second until it can get the missing packet.

    Use TCP when data integrity is more important than latency. Use UDP when latency is more important than data integrity.<!--QuoteEnd--></div><!--QuoteEEnd-->

    There's a reason most multiplayer games do NOT use TCP.

    Dropped packets are a pain. The best way around it is interpolation and sending a spare packets to help fill the gaps. Making your connection secure and lossless is not the solution.
Sign In or Register to comment.