#Jittering on client-owner when using CSP

23 messages · Page 1 of 1 (latest)

limber geyser
#

Hello, I've been having a lot of problems recently with the title. I'm trying to convert a complicated movement script to use CSP, and I've hit a lot of errors along the way.
The code for the main movement script is https://pastebin.com/XDuNrnQ6
Some issues seemed to have been solved by syncing a ton of stuff in the ReconcileData - for example, syncing most of the values used in jumping creates smooth jumping, except when the player spams the space bar, which causes jittering. I've been logging the players position on all ticks that are UserCreated and it seems that when I'm getting jittering, the server is getting different values for the player position on different ticks. I don't know why this is. It seems also that for some actions (i.e jumping many times in a row without stopping) the server is delayed a few ticks before processing the action - it has the same values as the client after processing, but a couple ticks later, causing what I think to be the server to lag back the client.
I just need someone to point me in the right direction, ("You need to be reconciling all these values not just X"/"dude wtf is this please burn this code :)")
Fishnet version is 3.10.4

last dagger
#

if you want the prediction to work youd have to send over all the variables that goes into the movement calculation

#

if you have stamina you have to send the stamina over the network

#

if you have a sudden boost youd have to send that as well

limber geyser
#

If I have boolean methods like CanJump(), does the result of those server-side need to be sent as well?

limber geyser
#

So is having around 20 values in reconcilation OK then?

limber geyser
limber geyser
#

So I'm still having issues

#

Here is the example of the issues

#

things seem to be synced when just moving, but when jumping or turning, they get jittery

limber geyser
#

to always return the same value so they don't cause issues

#

This is my reconcilation void right now

#

I've also tested it with my camera animation script off to make sure that wasn't the issue, and I disabled any helper scripts on the player that have to do with movement (i.e vaulting) as those have update functions that check movement code, and the issue still persists with those disabled

limber geyser
#

I've also created a log of the velocity and position when the player jumps, this is the tick data from the peak of the jump, when the jittering usually happens

#

(Left is server, right is client)

#

Something is causing them to run the identical code simulation differently

limber geyser
#

@sweet stone I'm pinging you as well because this is a continuation of what we were talking about on the 8th