How to replicate a teleportation movement

After looking at this tutorial https://www.unrealengine.com/en-US/b...king-tutorials
I decided to try and add a teleportation movement in a replicated scenario as suggested by this article https://docs.unrealengine.com/latest...ractermovement

Now , tell me if I’m wrong , it seems to me that things are as follows :

  • if I execute the teleport locally , the server will warp the client back because it is seen as an error
  • if I create an event set as “execute on server” (which in turn will execute the teleport) the server will execute the teleport for the client and then, upon checking, it will correct the client position to the new one . This is not the right approach because it’s just a correction , not a real execution and all cosmetic effects are lost .
  • the second guide I linked says we can execute the teleport locally and then call the server event which will execute the teleport also on its side , the two ending position will coincide therefore no correction will happen , and since the client executed the teleport locally as well , cosmetic effects will work .

Here comes my questions :

  1. first of all, when I play , I
    have a server window and a client
    window , it’s true that now the
    server executes the teleport
    correctly BUT if I teleport the
    actor in the server’s window , it
    will teleport TWICE! I thought “well
    the server doesn’t play” but I
    thought that the server window
    worked as listener with a client
    attached , it should work just as
    the other client ! Moreover if I
    play with a dedicated server , each
    client can teleport but the other
    won’t see the cosmetic effects
    because the event is set to “run on
    server” and not multicast . If I
    switch it to multicast , its as if
    the server doesn’t run it anymore,
    because not only the other clients
    can’t see each other teleporting,
    but every time I teleport I get
    warped back , which really upsets me
    because i thought Multicast would
    execute on the server AND on all the
    other clients.
  2. the Approach 4 of the second link talks about how to address this but it is very very generic and also in C++ . Now , I will soon need it as well but how can one obtain the right behaviour with just blueprints ?

as you can see I’m a bit confused and also very much new to this world of Unreal and Replication, sorry and thanks for help

You want to do the same teleport on the server and the owning client only. The non-owning clients will get the proper update from the server.

Do the teleport on the server and the owning client (the owning client calls the server-side RPC and does the teleport locally). You don’t need the multicast part because the non-owning clients are completely passive.

Im not sure I inderstood what you said. I tried changing the “ServerTeleport” event to “Run on Server” and only the owning client and the server see the teleport. Other clients only see what I think is a correction of position of the teleported Actor. What I would like to achieve is that all the clients see the visual effects of the teleport as well (which is the linetrace set to persistent that appears as a trail after teleporting). Am I doing something that is not supposed to be done?

can someone report this spambot?

If you want an effect then you can use the multicast to trigger it on the non-owning clients (IsLocallyControlled() == false), but don’t teleport the character. I am talking about the movement. The owning client and the server need to be moved but not the non-owning clients. So you want a server execute function that does the teleport and calls the effects multicast function. The owning client calls the server function and then does the teleport and effects itself. The non-owning clients trigger the effects in the multicast implementation.

I am having a problem with replicating.

I cant even get my first client (not server window) but Client 1 window to use enter a vehicle. BUT the server window DOES enter vehicle.

Anyone know how I can get even the first client to enter a vehicle?