Second question: how would I go about setting something like this up, and what kind of cost and effort would I be looking at? Third question: is this necessary; would people not like a game if there is not some kind of matchmaking server?
If you only want to offer a service for finding other players, it can be as simple as a database (or flat file
)-backed Web service, PHP-script or even a public database that clients access directly.
I'd say a Web service with an SQL database would make for a good server/player directory. However this requires a bit of knowledge and a server capable of running both the database and the web service container. The easiest low-tech version that comes to my mind right now, would probably be a PHP script that writes to a text file. This should be possible with low-cost web space providers, since all you need is the ability to run PHP scripts. Although it probably scales badly, it should be sufficient for small games.
In my experience, multiplayer games without some sort of global directory or lobby are not played online. You're basically restricted to playing with a few friends. Finding other players is too complicated and few will try. Even many multiplayer indie games with such a directory don't attract enough players. Making it harder to find other players is yet another stumbling block. Personally I just hit escape when a games asks me for an IP to connect to :D