Multiroom PvP is an example (not complete project) on how to use Mirror/UNET to create multiple game rooms in a single Mirror/UNET server.
Unity Free Source Code
Although this Unity Asset is typically a paid asset, it is currently available for free download. It’s important to note that this offer is intended strictly for educational purposes or for testing the product before making a purchase, and it should not be utilized for commercial activities
UNITY ASSET STORE LİNK: LINK
It’s meant to be used as a learning resource to get you inspired or help to increase your knowledge of networking with UNET. To make networking development easier, [Easy Unet Packets] is also included in this package.
Why would someone try multi-room setup? (in general)
If a game room is small, it might make more sense to have multiple game rooms in a single server. Take for example a small 1 vs 1 game, which consumes about a 100 MB of RAM. You could only run 10 instances (rooms) in a 1 GB RAM server, which is wasteful and only allows 20 players to play concurrently. If all of your rooms are on one unity instance, you no longer have the overhead of Unity, and can run hundreds of game rooms. With this example, I’ve tested 200 players constantly running around, and here are the stats:
[200 players, 26% CPU, 184 MB RAM on a 5$/month VPS.]
If a game is relatively small, it’s easier to have things running in one server. This way, you don’t need to spend time working on master servers and synchronization between servers. It should give you more time to work on the actual gameplay, not the infrastructure of it. If you get lucky and your game becomes more popular, it’s easy to spread servers across multiple regions or to upgrade the VPS plan. If a need arises – no one stops you from having a master server managing your multi-room servers.
DOWNLOAD LINK: LINK