Yes, mAirList will run fine on any recent Windows version, including Windows Server (version 2008 and above).
On Windows Server, you may be required to install the “Desktop Experience” feature in order to have the required playback codecs available, else you will see BASS error 44 on some file formats (in particular MP3 and AAC/MP4).
As long as you only plan to stream (Shoutcast/Icecast), the answer is: no, you don't need a physical sound card.
When you run mAirList on a machine without any audio hardware, you will only see two options in the audio devices select: “No audio output” and “Encoder”. Just set all player on air outputs to “Encoder” so their signal goes straight into the Streaming Encoder. Set PFL output to “No audio” so no pre-listen signal will accidentally go on air.
Generally, yes, we support virtual machines.
One thing to keep in mind is that without any physial audio hardware, mAirList will use the Windows realtime clock as the “wordclock” for all audio processing. So the realtime clock must be as accurate as possible.
We have heard of rare cases where this was an issue on virtual machines, as the hypervisor did not provide accurate clock information to the virtual machines. This was clearly noticable when checked the time display of the players which was running too slow. In effect, the stream was also produced “too slow” (not enough data per time frame) and was interrupted on the listener's side every few seconds.
The timing problem can also occur when Windows is reducing CPU power in order to save energy, so you should set the power plan to “High performance” in the Windows Power Options.
When using the Remote Desktop Protocol (RDP) to connect to your server, you will notice that Windows hides all physical sound cards from the list of audio devices in the Windows control panel, and adds a “Remote audio” device instead, which will redirect all audio to your local (client) computer.
While this is great for standard applications like web browsers etc., it is a very big problem for mAirList. Because when mAirList happens to play into that remote audio device, and you disconnect from the server (with mAirList still running in the active session), that audio device will disappear, and mAirList will stop playing instantly. It's pretty much like when you unplug an USB sound card.
We strongly recommend that you do not use remote audio playback, but rather turn it off in the RDP connection settings, by checking “play on remote computer”:
If you still want to use it for PFL, at least make sure that it is not used for any on air playback.