Ok, I just did this because I was curious. I created a new guest account and tried to host multiplayer on contacts only mode with zero contacts. To my surprise, it allowed me to host it as a contacts only game.
How? You have zero contacts. That means either your game should be hosted as public or single player mode.
There are always weird edge scenarios: What if you have no contacts, send a pending contact request, then you start a contacts-only game, and your request is accepted while you are playing? Should the new contact not be able to join your game?
Anyway, won’t change because it already works as advertised: It’s a game only your contacts can join. If you have zero contacts, then zero people can join. Makes sense to me.
Hmm, that might be hard to code + nobody wants to get kicked mid-game.
Or: Add a pop-up before playing that you cant join because you don’t have any contacts as OneWingLunarian Said.
Also you should be greyed out in that scenario.
I suppose then the game should pause and ask you if you want to allow a freshly accepted contact(s) to join you, listing them one by one and with “yes to all” and “no to all” options alternatively. But this is a very niche scenario and you could just restart the mission instead.