Thank you for the additional information. Would it be possible for you to provide the project that is having the issue so that I could take a closer look? Also, could you elaborate further on the issue that you are having?
After looking through your project, it appears that this is working as intended. I noticed that you are using a set of custom events that are set to “Run On Server”. This means that when the Server calls these custom events on begin play and when the client calls these events on begin play that they will run on the server. The reason that you are seeing double is because the events are being called twice (once for the server and once for the client). If you would like this to only run when the server begins play you can use a switch has authority node. I have provided an example below. I hope that this information helps.
Switch has authority example:
In this example I have added the switch has authority node to your blueprints so that the custom events are only called by the server on begin play.
If i do the exact same thing that i did in the project i sent you in a clean third person project i will only get 1 actor spawned instead of 2. Why?
Edit: Also, if in the project i sent you, you remove that spawn 0, spawn 1 etc from “event begin play” and instead you call them from a key event “Press F key” for example. You will only get 1 actor instead of 2. Why?
This has to do with how each of those events are triggered. Event begin play is called automatically as the actor loads into the level. Where as the ‘F’ key is only called when the player does so manually. This means that begin play will fire both for the client’s copy of the actor and the server’s copy of the actor (once each). However, if you press the ‘F’ while you are possessing the actor, you will only do so for the current actor you are in control of(meaning the client because you are running a dedicated server). I have provided documentation below. Please be sure to look over this information for any other questions you may have.