Create an actor (it does not need to be set to Replicates) because this actor should only do stuff happening on the server. Now add some components to your actor (arrow components are recommended). In this example they are called spawnpoint1, spawnpoint2, spawnpoint3.
Then add the AC_RandomInteractableSpawning component to your actor and on EventBeginPlay you can call something like this:
To define which interactables should be spawned with the function SpawnRandomInteractables you can select AC_RandomInteractableSpawning and in the Details tab you can add some array elements to RandomInteractablesSpawning. There you can choose the interactable class and how high the probability should be that it will spawn. You can also add the same class several times in different array elements. So it could be possible that it spawns an interactable of the same class 0, 1 or 2 times. Moreover you can adjust the spawn transform or make the yaw random (z axis rotation) to add some variation.
BP_Dresser is an example for that but is a bit more complicated since the spawn points are taken from drawer actors that first need to be spawned.
You can also spawn only one custom interactable like so:
Interactables that you spawn with this random interactable spawning component should not simulate physics. This could cause some problems because the interactable actors will be attached to their related spawn point components.