Ventrilo: Cool Free VoIP for Gaming


I'll be honest, I'm not a big fan of teaming in MMORPG games like WoW. It can be enjoyable, but for me - with a crazy schedule, it's rare that I enjoy it. Communication with your team has always been a problem, and some are turning to some VoIP (Voice over Internet Protocol) to solve this problem. I'm not a big fan of the application, but I am impressed by the technology.

Recently, some friends suggested I try out this teaming effort while using Ventrilo as my client. Some other members of a WoW guild had set up service on a commercial server. So, I begrudgingly gave it a test run. I was admittedly impressed with this technology, as I mentioned.

After a brief run at the game, I went to look into what it would take to set up Ventrilo on a local machine. Ventrilo offers free downloads for personal use. The Linux version is pre-compiled (no source offered). However, it appears to be stable on my Fedora Core 5 system. Ventrilo apparently limits commercial sale of their software to larger hosting companies to boost their business model. The personal version limits use in some regards - most notably, users are limited to eight. However, this is sufficient for most gaming applications.

Another cool aspect of Ventrilo is the Speex codec included with the application. Speex is offered by the good folks from Xiph.org, the same people who brought you Icecast and Ices for streaming audio. From the interaction I've had with others (gamers), this sound quality is exceptional compared to alternatives. When used with a USB headset/microphone - the sound quality is quite impressive.

If you have a high-speed Internet service with some decent upstream connectivity, running Ventrilo on a machine (OS of your choice) should pose no problem. The bandwidth is minimal for communication, as the Speex codec is tuned for audio in typical vocal frequencies. In addition, note that many teams won't fill out to eight, and not everyone is talking at the same time. My current personal package offers me 512 kbps upstream. I'm playing WoW on one computer, running a Ventrilo server, and a personal file sharing application at once with no problem.

Note that you'll likely have Ventrilo configured in such a way that you personally don't use any of your external bandwidth, sans outbound speech to other users. In other words, if you and three buddies are gaming - only the three buddies will require your decent upstream/downstream speeds. You'll likely connect inside your network, requiring only downstream bandwidth. Whenever any users speak, however, this requires upstream bandwidth.

Here's a configuration file, for my Linux based server (with certain information obfuscated as appropriate).


[Server]

Name=mypersonaldomain.net
Phonetic=
Port=3784
Auth=1
Duplicates=1
AdminPassword=MYstr0ngpa55w0rd!
Password=community
MaxClients=8
SendBuffer=0
RecvBuffer=0
Diag=0
LogonTimeout=5
CloseStd=1
TimeStamp=0
PingRate=10
ExtraBuffer=0
ChanWidth=0
ChanDepth=0
ChanClients=0
DisableQuit=1
VoiceCodec=3
VoiceFormat=13
SilentLobby=0
AutoKick=0

[Intf]

Intf=192.168.1.3
Intf=mypersonaldomain.net
# Examples:
#
# Intf=192.168.0.30
# Intf=external.mydomain.com
# Intf=internal.mydomain.com
# Intf=127.0.0.1

As you can see, there's a few considerations. You'll have a strong personal administrative password for administration, and a weaker password. This weaker password ("community" as above) is not really for security, but generally to limit who can use your service. The download includes some HTML help that goes into detail about each of these settings, but these are my suggestions that seem to be providing a good sound quality to bandwidth ratio.

In the above example, there are a few settings that are ignored in the personal version of Ventrilo. These are detailed in the HTML help. Notably the port and maximum number of clients.

Ventrilo also includes a text-to-speech engine, so you can be notified if someone signs on or off during game play. This is helpful if you've got World of Warcraft full-screened and don't notice a friend signs out.

Once you've set up your service, you'll set up a user with the appropriate server information on the client application. You (and your fellow users) will sign on with the appropriate credentials. (Generally, server address, a port number, and a general password). Your friends will sign on with a public IP address or domain name, and you'll likely sign on with the address of the machine on the local network.

Once you've signed in, you're able to "Right-Click" yourself into administrative mode with the appropriate strong password. This allows you to make a few customizations via the client, such as Message of the Day - or to kick/ban users.

Aside from gaming, Ventrilo would be an ideal addition for any group or team.