basically ive been streaming more and one player called me out on hitting my opponents with my rail, some of my shots register behind or around the player. what causes this exactly? i use keel enemy model
cg_predictLocalRailshots 1 will show you where the rail lands on the actual server. setting it to 0 only delays the animation until the client receives a response from the server acknowledging the shot. Shouldn't be used unless you're at like 120ping.
Isn't waiting for server acknowledgement by definition receiving the correct shot on the server? How do you get the correct shot if you are predicting? I was under the impression that with it set to 1 the rail beam just shows instantly, and set to 0 you wait for the server to tell you where the beam is.
I have a pretty good rail with it off so no need to change it now, but it would be nice to know if setting it to 0 is deprecated because of new netcode or something like that.
The new netcode works by 'backwards reconciliation'.
When you fire a rail, the client sends a snapshot with the timestamp of when you fired, and looks backwards in the game log to see where the enemy was when you clicked. If it was in the path of your rail at the time your snapshot was sent, it's counted as a hit.
With predictlocalrailshots on, it simply draws the beam when you click. You'll notice the hitbeep and crosshairflash are still delayed. With it off, it only draws the beam when it receives confirmation from the server that your railshot fired. It has no bearing on whether or not your shot hit the enemy.
It might show you where your railshot actually went on the server, but this has no relation to where the enemy was at that point, or what's going on now. It's pretty much irrelevant since the whole idea of the unlagged netcode is to sync what the client sees up with interactions to the server.
I hope I'm explaining this correctly. I explained it in more detail in a different thread somewhere.
If you have any questions, feel free to ask.
btw..... why doesn't my ql think that cg_predictLocalRailshots is a cmd? Theres only a very limited list of cmd's in my console...... Dunno why that is hehe......
try cg_playerLean 0 then for a while (it should be more accurate....... although it plays somewhat different because the model won't lean towards the direction of it's movement anymore hehe).
How high do you ping to that server? Or how high do the dudes you played with ping to that server?
If the ping between client and server is high (like 100ms or more) and the netcode is not programmed to adjust, the packets arrive late enough for human eye to detect a consistent and sometimes significant discrepancy between shot and register. Proper netcode is coded to adjust for this, unfortunately it's not as easy as you might think.
People who played Quake in 90s used to counter (compensate) for lag by overaiming.
And if you decide to use timenudge, stay with auto IMO. Unless you want to constantly adjust it.
It's even more bugged. I can have missed rails that do damage and shots through the center of enemy model that do no damage - in practice, shooting static bot. The more you flick the shot, the more rail-trail is shifted.
edit: doesn't happen with cg_predictlocalrailshots 0, though I prefer 1 in online play.
the trail isnt accurately representing where the shot actually went.. why havent people understood this yet?
the rail trail is a CLIENT SIDE ANIMATION AND HAS NOTHING TO DO WITH THE SHOT.. railgun is hitscan just like mg or lg, the shot goes exactly where the crosshair was at the time of shooting regardless of what the trail shows because the trail can show up late depending on ping or fps etc etc.. do not use the trail as a reference for where the shot lands
same thing with predictlocalrailshots 0/1 it makes no difference to where the shot actually lands it only affects the VISUAL rail trail
perhaps ppl haven't understood that because you're wrong?
The trail is exactly representing where the shot actually went.
And the predictLocalRailshots 0/1 is to also get the time of it right.
With 0 it gets drawn late but it overlaps with the hitbeep. With 1 it gets drawn accurately in time but does not overlap with the hitbeep (the visual representation of it is perfect though (except for a minor ledge bug)).
---
edit: ofcourse none of the settings you can do actually affect the shot. (you can affect the server lookback algorithm by using timenudge though... so in a way that can effect the shot)
anyways... why would it NOT represent where the shot actually went then?
Let's assume that you're not being hit by a rocket-splash dmg in between pressing fire and seeing the shot drawn. (just to keep things simple.... So in short the client is in full control of it's own movement.)
Then what can possibly cause a missdrawn railshot?
(Depending on how they implemented the unlagged they have the option to take the server side location or the recieved location by the client... so theres no way for us to tell if rocket impacts would make any difference :p)
because the rail trail isnt drawn by the server its drawn by the CLIENT the actual rail SHOT registering on an opponent is done server side and is all that matters hence why some players set their rail trail time super low like 200 so that its instant to avoid the trail making it look like they missed or hit when they didnt
and the cvar predictlocalrailshots even has LOCAL in it meaning client aka meaning that its predicting or not predicting the trail on your side (client) not server side..
again just to reiterate the railgun is HITSCAN and the definition of hitscan means that there is no trail time and the shot lands as soon as you click wherever your crosshair is
a similar situation to this is in CS:GO the traces that come out of your gun when you shoot, they arnt actually accurate representations of where your shots land because the bullet registers as soon as you click yet the tracers travel through the air
Wow I do have my rail trail time set to the longest. Ill change it and see if it makes a differnce. Also I watched my record and instantly paused whenever I got those hitblx hits. My shot is actually alot closer to the model compared to where the trail is.
well I already said that you can put cg_playerlean to 0. That way the model remains upright (aka his torso is always straight above the feet and therefor is a better representation of the actual hitbox)
Right........ yes ofcourse.......... there is no correlation at all between what the client does and what happens on the server......
So anything on the client is just visual.....
Dude the client has the almost perfect correct possition of both players at the time of the shot (due to unlagged). It has the exact rotation as the shot will have, the same angle the shot will have....
So you pretty much see what should happen on the server.
Now ofcourse there are some minor points to be made (like that the railtrailtime is fairly long at default) but at the end of the day:
1) the rail trail is a CLIENT SIDE ANIMATION AND HAS EVERYTHING TO DO WITH THE SHOT.
2) the trail is accurately representing where the shot actually went. (the timing and duration of it might be off a bit by your own settings... but it represents the shot fine)
well that's a more subtle issue..... and depending on how they implemented the whole stuff it might be irrelevant.
But anyway I said that in the post before (aka it will hold unless you get hit by something in between pressing fire and it arriving on the server)
And well there are some other strange cases which might give you a messed up view for several ms.... but that's about it.
In all other cases the client is right about where you should be.
it's an abreviation imho (of ESReality).
What do the E and S stand for in your acronym then?
(my best guess would be Electronic Sports... but actually it doesn't say so anywhere on the site....)
You are still wrong then, bar the name ESR is never explained as 'Esports Reality' anywhere on the site that I can find either.
Look at the page title in the browser tab, "ESR"
Or hover over the logo "ESreality - Where Gaming Meets Reality"
Or the fat grey logo to the right of the main one "ESR".
You're just abusing the fact that domains are non case specific, and as such someone at some point decided they should always be shown lower case in an address bar.
well you could say that on this website "esr" has entererd the vocabulairy of the members.... And in that case even things that are origionally capitalized can be allowed to be written as lowercase letters.....
You seem to be a bit confused and just slightly hostile.
The reasoning behind the rail being predicted locally is because they are attempting to visually compensate for the delay between the shot getting calculated and confirmed by the lag reconcilliation (antilag).
The rail trail and the tracert are where they are supposed to be or atleast where they should be.
This has worked in several other games over the years but for some reason quakelive has a shit ton of issues with it.
I get 12 ping to Sydney servers and this happens to me in peak times. When there's 30 or more people on Sydney servers you start to see all kinds of weird misbehavior.
I really can't understand the netcode.. I ping 7 stable ms on Bucharest server... but this shit happens also to me..
crosshair not on enemymodel -> hit is registered
crosshair on enemymodel -> hit is not registered
enemy shoots rail, I'm out of his visual range for like 0.5 - 1 second ..guess what.. hit is registered.. how can the hitbox be that far behind (1 second) when I play with 7 fuckin stable ping?
ya this happens to me too. i'll be behind a wall and i still get hit. and vice versa i'll hit someone's trailing hitbox. i need to fix this asap. another player called me a cheater. i am not a cheater! lol i probably have the most vanilla cfg here. i dont do any of that shit, i still play on highest vanilla setting.
dunno but i always felt that my rail gets through the guy and it doesn't "hit" the guy, since back in quake3. i just have another opinion when it is about quake4 on LAN, then it was different.