I am unsure of the terminology used on YSF (I'm still pretty new to that concept) but by room, do you mean reflector?
[System Fusion Network]
GatewayAddress=ysfreflector.dvswitch.org <-- this is the address for the Reflector
GatewayPort=42166 <-- this is the port that the Reflector is listening to
That being said, I can go through how I have it set up at ERDN.
First, I am using HBlink3 as the "hub", which performs all the call routing and bridging for me.
Second, I have ASL connected to Analog_Bridge, md380_emu, and MMDVM_Bridge. MMDVM_Bridge connects to HBlink, and Analog_Bridge sends calls to TG2.
Third, I have HBlink connected to Brandmeister as a Peer (for now). This connects calls on the bridge to a TG on Brandmeister that uses my DMR ID.
Fourth, I have YSF2DMR connected to my YSF Reflector, and MMDVM_Bridge. MMDVM_Bridge connects to HBlink and uses TG2.
Fifth, I am working on getting my XLX reflector in the mix to provide D-Star support.
So, those components are running on a few different VMs located on some hardware I have colocated in Chicago. One runs ASL, another XLX and YSFReflector, and a third HBlink3. I separate them out, well, because that's how I do it at work. Each server has its own tasks.
HBlink runs, HBlink of course.
ASL also runs the DVSwitch programs for getting onto the HBlink server.
XLX/YSF also runs the YSF2DMR program for getting onto the HBlink server.
Can these components be run all on one system? Yes. I run them separately so that if one part goes offline, the whole system doesn't go kaput. The most important system for me is the HBlink server, reason being so that even if my ASL, BM or YSF links go offline, others can still connect and work.
It really boils down to your own use case and risk assessment.
Are you setting up a network for your own use and can handle it going offline for any reason possible? Then running it on one system will be fine.
Are you running a network that will be handling multiple users, providing connections for multiple modes, and need a more agile system? Then running components separately would be better.
That's my two cents :)