Download

Engine-breaking physics + network

Hello,
I can’t solve these 2 problems:

1. Lift physics(?) does not fit to characters feet when moving (its eating-like his feets until it stops)
2. As you can see, in multiplayer, client looks like is lifted, but server does not see that - and then client instantly dropping… (server player works well)

im using this simple blueprint for lifting up character (whole that “castle” is as one blueprint)

What i tried:

  • lift custom event - tried every replication
  • replicate house
  • as lift im using basic cube, also tried my custom mesh

I will be thankful for any answer or advice.

Look at the Lift-event! It says "Replicated to All (if server), therefore the Server can tell everyone what is happening, but when you try to call it on a Client, it won’t work. When pressing R, use the Node “Check has authority”. If the Server (authority) tries to execute it, continue normal by firing the Lift Event. If the Player performing the Action is NOT the authority, it has to tell the Server that he wants to go up and the Server tells everyone that he is going up. You need a new custom event for this (let’s call it “Client_Lift”) which is replicated to the Server. This way you, the Client, can tell the Server what you want to do (this helps preventing cheats because the Client just tells the Server what he wants, but does not perform ANYTHING himself (except cosmetic stuff, but Ammo, Health, Money etc. must be handled by the Server). Anyway, Client_Lift calls the Lift event you already created.

_______________________YES ------> Lift (replicated to All)
R -----> Check has authority
_______________________NO -------> Client_Lift (replicated to Server) ------> Lift (replicated to All)

This authority-check does NOT indicate the Server, but the owner. In 99% of all cases the Server is the owner of the Object, but there are a few cases where this does not work!

Hi, thanks for answer.
Unfortunately i was not possible to repair this problem. I tried to connect these nodes in all ways but without good result.
I dont know why, but when im executing “run on server” event from hero blueprint, it works (jump) but when i call event from actor placed in world, “run on server” execution does not work (lift control event is built in house actor, but i replicated this actor)…
Or some nodes missing me? (That switch authority node i tried to use it with all 3 ways with client lift)

ALMOST SOLVED but still need a little help

This BP is working for me well. It comunicates between actor and player controller…

BUT there is one problem, and that is player controller index, if i overlap box with client, server and client, just all players in game can launch lift because there is player controller set as 0, how can i get unique player controller for ingame characters?

(edit: now i tried it without “enable input” node and it works without it)

SOLVED (i hope)
This works as intended…

well now i only hope i did it properly because im amateur in networking atm.