Are you using a movement component for the ball or are you moving it via tick or timeline?
Are you moving it only via the has authority branch (on the server).
If you are just moving the component then try setting it’s replication to true.
Also replicated parameters can go out of sync. If you want changes to “catch up” at a later state no matter the login time try RepNotify


