I am writing an online RPG. There is a central server, a database server, a zone server, an AI server and clients(players). How should I organize this in VC++? Should I make a seperate solution for each of these programs, or make 1 solution with several projects? What if I want to use a piece of code (say a class) in multiple programs? Should I make that a seperate library and link to it? And should this library be a seperate solution?