Some time ago I asked about Godot running in server mode, and didn't get any answer, but then discovered a thing like headless Godot. Seems like it is possible to do what I wanted, but now I think about what's the most efficient way.
My game will have it's world divided into multiple, clustered rooms (think of Castlevania). What I want to achieve is to mirror client actions on server, so it's easy to check and synchronize them (especially useful for collisions). HOWEVER, since not everything will happen on one scene, but in multiple rooms, I have to instance each room somehow and handle them separately. Now, my first idea was to run a Godot-server instance for each room on demand. While it seems ok, I realized that each instance will load all resources into memory, so I will have duplicates of resources loaded in multiple instances = total waste of memory. Then I thought if it's maybe possible to run, like, multiple parallel scenes in one Godot game instance, e.g. on parallel threads. So each scene is independent and they don't interact with each other, but still update normally.
So my question is: is it possible? I tried adding scenes directly to root, but it still stacks them on top of each other. I can't save them into variable and call _process() manually (apparently). Is there any other way I can achieve the desired effect?