I was talking with a friend about VoIP technologies, particularly
Skype vs Ventrilo. He is a big WoW player and has used Ventrilo quite
a bit, but has never used Skype. We spend several different
conversations talking about which would be a more effective program
for use with a small number of people in a game. We never really
established with would be better. Skype would allow a larger number
of users to connect to one sessions (25 by the way), but Ventrilo
seems to have slow system requirements. Preference really just seems
to be a matter of what crowd you are hanging out with.

We concluded, I should set up the free Ventrilo server, since I have
the Hyper-V server running. I figured it would be an interesting
challenge, if not just a way to kill an afternoon. Looking around, it
seems Server 2008 R2 x64 is not supported by Ventrilo, but many people
said the x86 server works fine. I downloaded the server version from
http://www.ventrilo.com/download.php to my desktop and then copied it
over the network to the Server 2008 R2 x64 virtual machine I had
sitting around not doing anything — it was originally meant for
Remote Desktop Service, but I did not get around to installing RDS.

Running the the Ventrilo server setup was quick and painless, the
problems appeared after setup finished. All the start menu shortcuts
were pointing to the wrong place, and the setup program messed up the
permissions of the install directory — it was inaccessible to
everyone. I fixed the permissions problem going the Security tab of
the Properties dialog box, and setting the directory and directory
contents to inherit permissions from the parent directory. Your
probably thinking what I also did, why not use compatibly mode; I
uninstalled it once, and reinstalled using compatibility mode, but it
did not make it immediately work without having to change the
directory permissions.

From here, I checked Windows firewall to verify the program has access
to receive incoming connections, which it did not; so I used the
“Allow another program” button to allow “C:Program Files
(x86)VentSrvVentrilo_srv.exe” through the firewall.
Then I configured the settings in “c:Program Files

The only settings I configured were Name, Phonetic, and the
AdminPassword. The bare minimum configure is Name and AdminPassword,
because you need a unique server name and we don’t want random people
messing with the server settings. More than likely, Password should
be configured to limit access to approved users, but with built-in
limit of 8 users and that only a few people will get the URL, I wasn’t
very concerned.

Next, I had to get the incoming connections through my daisy chained
Netgear WRT624 routers. This proved to be the easiest part of the
whole process. I created a port forwarding rule on the ISP connected
router allowing TCP port 3784 and UDP 6100 to be forwarded to the IP
of the next router. On the next router, I created the same rules
pointing to the IP address of the Ventrilo server. The Ventrilo test
page promptly connected to my local server and pulled up the correct
stats. I tried to connect to my Ventrilo server using the Dyndns
address I setup earlier to point to the server; of course, it failed
to connect since I was on the same network with crappy consumer
routers, however connecting using the local IP address worked without
any problems. I’m not going into how to get a dyndns.com address,
since http://www.dyndns.com/ does an excellent job of walking their
customers through the process.

Really it was a pretty straight forward process to install Ventrilo
server into a Hyper-V virtual machine.

**More info

To install as a service:  

  1. Open an Administrative cmd prompt
  2. CD /d c:program files (x86)VentSrv
  3. Ventrilo_svc -i 
  4. net start ventrilo

After Ventrilo is installed as a service, you can start and stop it with net start ventrilo or net stop ventrilo;  by default, the service will automatically start when the VM is rebooted.  If there are a higher priority startup process, it can be set to Automatic (Delayed Start), instead.