Yeah, battle.net has a central server which acts as a matchmaker for players who want to play a game as well as hosting the thousands or so games going on at once. It doesnt even work as simple a "matchmaking server" it hosts all of the games being played.
about battlenet ... yeah it's more like matchmaking service as if the guy that hosted the game leaves everybody disconnects.
I remember this from older online games, but as far as I know Starcraft, Warcraft II and III, and Diablo II (not open BNET) dont disconnect everybody if the starting player disconnects. You can choose to directly connect to somebody who is hosting a game, in WC II that was popular but then BNET came out and is still used for private games and LAN games. I havent played on BNET for years now so I wouldnt know if it has changed to what's been described.
The server initially mentioned in this topic is similar to the small-scale short, non-persistant rts or sometimes rpg games from the mid-90's where you would setup your server in-game and let whoever you wanted to play know what the ip and port was etc etc. Depending on the kind of server framework you require, anything is possible. Im wondering if the motivation for a server like this comes from a certain game youre trying to create or from your current situation of not having a remote server to use. If its the second case, I could help you out, I have local Server that I use only for my java networking apps and databases. Its just an old eMachines tower with Debian Sarge running on it, all setup with the basics.