How Multiplayer Server (Exactly) works?

I want to make a multiplayer game. regularly every one in unity are using unity services itself or other company services to build and handle their multiplayer servers. but in this case i am living in a country with restricted network and i don’t have access to any services, so i have to setup and code my game servers by my self. but the thing that i don’t know, is how a multiplayer server (exactly) works? every one on the forums are just talking about the client-host base topology. i want to know that how a multiplayer server become programed. in the unity Netcode you can start (just one single match) by giving a IP and a port to the network manager. now what if i want to start multiple matches at one computer. should i start a new .exe file for each match? should i play all matches of all players at one single game and split them separately? or just make the game client-based and program the server to handle JSON files and broadcast them over the players?