-15 VM's will need to be running and in use at the same. I will want to expand and run more in future, possibly upto 30 VM's.
-Each machine may require upto 2GB RAM in use.-The setup will be located in my home, will only be accessed by myself with the VM's being accessed directly from the server the majority of the time (I'd want to be able to plug a monitor, keyboard and mouse into the server). I would also want the option of being able to use a PC to access the vm's over the network and also to be able to access remotely from another physical location.
-Each machine would need to be completely independant of the other. To the outside internet world, the VM's should not be recognised as being hosted by the same computer/server. Is it possible to allocate each VM a Virtual CPU, virtual OS and Virtual HDD (or SDD) etc?
You can use ESXi 5.0 [Free evaluation version] for the same which meets your requirements except ONE.
(I'd want to be able to plug a monitor, keyboard and mouse into the server)
You can do that, but you will be able to see only of that servers and not of the virtual machines running inside the server.