Technically, you could create a "private server" with all specifications of official msn servers, BUT client software (aka msn, amsn, kmess, mercury, etc etc etc) will keep connecting to msn servers.
So, basically, if you'd like to create your own server and make people talk in it (aka client-software use it), you'd have to modify the client software, and make it connect to your own server, instead of the official msn servers.
Also, you'll have to know all user's password's, and maybe some other things. aMSN will send a request to your server asking if the user
xxxxxxx@hotmail.com and the password 'yyyyy' match in the DB. If yes, you'd have to get the contact list for that person! So basically, you'd have to get msn database! That's insame :s. You'll never get access to all that information. I mean, ok, if you get to modify amsn to work with your server instead with the official MSN servers, when somebody logs into your server he won't have the same contact list from those when connecting with msn servers. Also, he won't be able to speak with people that aren't on your server.
Do you get the point? It's really useless.
Anyways, this is ___REALLY___ hard and long work for only one person. Why the f*** would you want to do that?
Woudn't be easier just to create a basic server and client IM-software?