Why "Run on Server" doesn't work in actors?

If the actor tries to call a “Run on Server” event I get a log message

LogNet: Warning: UNetDriver::ProcessRemoteFunction: No owning connection for actor BP_WavesSystem_4. Function StartNextWave will not be processed.

Why do I have to call character event to call an actor event on the server?
Is there another way to call the server event directly?

In order for a remote client to call a Server RPC, that client needs to own that actor. It works when you have the clients character call a Server RPC that trickles down to the actor on the server side because the client owns the character actor. There’s no other way around it unless you have the server and client change the ownership of the actor in question to the client. It’s done this way so nefarious clients don’t try and cheat by calling functions on actors they have no business in calling.

^^^^ This

Solution is to run gameplay events from the server to begin with. Game Mode would probably be the proper place to call the BP_WaveSystem event from.