Networking problem, server does not see clients actions

I watched the blueprint networking tutorials and made a start on getting an action to appear on both client and server,
I am trying to throw an object from my player characters and ideally they should be visibly thrown on both server and clients, at the moment they both can throw the object but only the client see’s the servers actions and the server does not see the clients throw, same goes for multiple clients. i’m not sure what im missing, i am using switch on auth and having them both plugged in to call my custom event which is set to replicate multicast, no variables are being used.
Any help would be appreciated.

So in example you want the projectile to be seen on both clients/ server and client? Or is it the animation?

I guess the way to think of it if it is a projectile is the player needs to tell the server to do it and show everyone else what is happening.

example would be client one throws rock ( client one tells server I want to throw or have thrown a rock) server then throws rock and tells client two client one threw a rock.

hope that make sense. in the networking tutorials try to look at how the text is displayed and updated. you have to replicate the event from the server to both client one (who threw the rock) and client two ( who only sees the thrown rock)

That could be part of my problem, i am not actually spawning a projectile, its actually part of the player character that i am detaching and then setting force to to give it the effect of being thrown, as an animation will be added later, when i load up the client and the server, they both throw it ok, but only the client can see that the server has thrown it as its not longer in his hands and the server cannot see that the client has thrown it.

I am having the same problem. Only the server is able to make my Actor appear. I am not using the MyCharacter blueprint like the tutorial used. Does that matter?

DJMidKnight is correct, The server is the only environment capable of spawning additional actors or directly changing the state of the simulation.

You need to create a custom event;
Give it a name ( e.g. RPC Fire Projectile) and in its settings under the “Graph” section set the replication to Run on Server

You can then call the function RPC Fire Projectile, only the server will listen for this event. You can then make it do whatever you want. In my example I make it call another function Handle Fire Projectile which does the actual spawning of a projectile.

Please can you elaborate on your comment? I am really retarded when it comes to networking. I can’t seem to get anything working!

Can you perhaps attach a snapshot of the graph that contains the flows you’re trying to replicate? It’s difficult to analyse what you’re trying to accomplish without seeing the full picture.

Hey, I have now made everything in functions, each of which have “switch has authority”. It works, well, almost. It locks controls to only the server. How can I make it so that if switch has authority has a negative result, it instead applies momentum into the ship of the actor requesting the function, instead of just doing nothing?

Like I illustrated in my post above, in an authoritative server environment you need to request the server to perform this action on the actor on your behalf using a Remote Procedure Call (RPC). See instructions above.