Announcement

Collapse
No announcement yet.

How would one go about having the server not push force updates to the client?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    How would one go about having the server not push force updates to the client?

    Basically what I am trying to do is have a moving platform in multiplayer that doesn't cause tons of skipping, snapping, or other weird behavior.

    Here is a video example. The platform position is compensating for the lag of the client so the server will see the client jump on the platform correctly but it will also try to constantly update the players position while they are on the platform.

    https://youtu.be/YVsvGA85FXI

    How do I tell the server not to do this or give the client more authority in it's position? Thank you

    #2
    In the "CharacterMovementComponent", check "IgnoreClientMovementErrorChecksandCorrection". But that will shift your problem only to another place. Now, the other player would see this behavior, but not you. You can't fix this problem just by turn off this feature.

    Moving platforms in multiplayer are quite tricky. I'd suggest to avoid jumping / walking on a moving platform, while this is moving. Make a switch, which moves the platform to the other side, or detect, if the player is ontop the platform on client and server, then activate wall colliders. I have no idea if any game has moving platforms working in multiplayer this way. Did portal 2 support jumping on platforms while they're moving? If yes, they maybe have used some lag compensation method to solve this. I can't think of a solution without using some hacks, due to the physical nature of that problem (lag^^).

    Comment


      #3
      Originally posted by Zhentouk View Post
      In the "CharacterMovementComponent", check "IgnoreClientMovementErrorChecksandCorrection". But that will shift your problem only to another place. Now, the other player would see this behavior, but not you. You can't fix this problem just by turn off this feature.

      Moving platforms in multiplayer are quite tricky. I'd suggest to avoid jumping / walking on a moving platform, while this is moving. Make a switch, which moves the platform to the other side, or detect, if the player is ontop the platform on client and server, then activate wall colliders. I have no idea if any game has moving platforms working in multiplayer this way. Did portal 2 support jumping on platforms while they're moving? If yes, they maybe have used some lag compensation method to solve this. I can't think of a solution without using some hacks, due to the physical nature of that problem (lag^^).
      Thank you for the option. It's bothering me because the server will snap the client way out to a place that the server never even saw it. It looks like the server is attaching the character to the object even with the "Can step up on" option disabled. Maybe it is still doing the set base somewhere and disabling that will help.

      Comment


        #4
        Originally posted by Zhentouk View Post
        In the "CharacterMovementComponent", check "IgnoreClientMovementErrorChecksandCorrection".
        I enabled it while on the platform. It helps sometimes but I get different crazy snapping and changes. I think it will just make things worse in the end. I feel like there is a way to tell the server to not replicate a force on the character like this, but to just take input movement from the client side caused by the platform but I haven't been able to figure out how to tell it that yet.

        Comment


          #5
          Maybe there is a workaround for your special situation, but I never could solve this problem. SetBase is necessary, because it allows you to move relatively with the platform.
          If you jump on or from the platform(while it's still moving) instead of just walking, does it snap a short distance to the correct spot? That's what I trying to minimize at the moment. But I also have a workaround, letting the player only enter/leave moving objects while they're not moving, because my moving objects are trains or ships/boats.

          Comment

          Working...
          X