The biggest problem of (hobby) multiplayer development is
not developing a Muliuser gameenvironment itself,
but that developers quickly loose motivation:

because noone wants to join and play the game.

There where several multiplayer demos going around here
(mostly FPS type), And some of them had the most of core points
running quite well.
But after some short public beta test, the game dies out, as
there are people missing to play with, and the developer
looses motivation to make a full game.

Thats why the point about serverlists (and other
topics to make it players easy to use the game, and motivate
other to join)
is very very important.

Even setting up a simple online Highscore (which presents some
small degree of interaction) pushes motivation.
(Beeing a part of unsyncronous gameplay, wich I think it
the best approach for small hobby online game)