Download

*MULTIPLAYER*Server can spawn actor, but client can't

hello guys, i have a small problem , which is the following

4364192a024b38adc1d322e2cc4b3692ccc2410a.png

75e0ba452899ee6103d4f1749975e5ce58bd51a9.png

So i have this problem, when i press E on the SERVER, it spawns the actor in front of the cannon, and the server and the client can see it, but when i press E on the CLIENT, it spawns actor on client’s screen but not on server’s screen.
what did i do wrong? what could be the problem? please answer me guys.

Thanks

What does the log window say (it should be listed under the developer tools in the “windows” part of the toolbar).
Have you tried debugging/faultfinding? (placing break points on the nodes)

Canon… I think that canon is spawned at level start, and not in your character blueprint…
You just go near cannon and want to shoot with E right?.. Thats not possible because you dont own that canon because its spawned on server, and server owns “everything” but client owns only what is spawned in his blueprint…

Check this: https://forums.unrealengine.com/showthread.php?109503-Engine-breaking-physics-network (you need work with player controller)
Its my topic where i tried to control lifts, its same like you want to control canon i think…

Perhaps the Fire event should be run on the server and the sfx should be replicated to the clients?

Who owns this actor?
The client to server RPC will only work if the actor is owned by a player.
Otherwise it is just lost to the nether… or something like that :slight_smile:

Its one of the reasons I use a special component for non-directly owned actors that routes input (such as ‘E’) through the player controller, to the server, then back to the server version of the same actor.