If you want C2 to display a list of available servers, i.e. a lobby, you would have to code the display logic in C2 and then store the list of servers in a server where anybody can query the list.
Thanks, juantar, for a good overview of how multiplayer games can be made available over the internet (as opposed to over a LAN).
For those interested in the nuts and bolts of implementing a lobby server, here's a good practical article. To quote from the intro explanation of how a lobby functions:
"A lobby is in essence a collection of players and a collection of games. Each player may be in one or more games, and each game may contain one or more players. Players should be able to create, join, leave and start games, and they should be able to see which games are already available and which players are in the 'room', although this is simply a case of allowing the UI to see that data. A lobby should also fire events when players join or leave the server, or the state of a game changes (i.e. a new player joins, or it moves from setup to 'in play'), so that a UI can know when to update."