Most of the time it consists of a dedicated server application and it uses the server-client architecture and not p2p , usually there us a host with one or several programs ( services) that share resources with clients and a client does not share resources, but demands to get access to the service.
Also the server may be listed and not dedicated so that means that the server is running on the same process as the client, this is easier for the client that he can play on his own server without needing to open another process in order to do that while dedicated servers run independently of the client and sometimes clustered servers are used.
The thing of running a dedicated server has some advantages and disadvantages:
Because of the client-server architecture all the load goes on the server so that means it can get overloaded really fast due low bandwidth or other resources are depleted like RAM memory and CPU power but on the other hand it’s more secure because everything is run on the dedicated host, that means that all passwords, user data, game data are stored safely and user cannot change it and this thing gives advantage for server that you can pay for advantages because this can make a very profitable business.
For example there are some companies that run massive multiplayer games like Blizzard or other companies but so far there has been an explosion with browser-based games that also run on a dedicated server but these are easier to maintain and more accessible than the high-end games due to resources requirements.