OpenArena supports a Voice chat (VoIP) feature. This allows you to use a microphone to talk with the other players, instead of the classic text chat (of course, text chat will be available anyway).
In the original Quake III Arena, you needed an external software (for example Roger Wilco or TeamSpeak) to do this. ioquake engine (the one OpenArena is based on) added simple support for Mumble VoIP application (official site): starting Mumble before the game, and then launching it with +set cl_useMumble 1 option (some players reported they set it to "2", theoretically a debug mode, to have it working), ioquake3 engine should inform the VoIP software about your in-game position (if the played map contains location names), but everything else depends completely from Mumble configuration and features. <Someone can confirm this works also with OpenArena?> More important, ioquake3 (thus, OpenArena) added a built-in VoIP feature, so you don't need any external software to achieve Voice chat. Continue reading if you want to make it work.
Don't worry, if you can't get it working, you can still use an external software to talk with your friends. Also the official OA Discord server includes some voice chat channels you can use if you wish.
How to set upEdit
To use built-in VoIP inside your OpenArena client:
- First, you need to have OpenAL sound system installed and active (otherwise, you will be able to hear but not to talk). See OpenAL page for more info and download link.
- If you are using Windows OS, you then must append the following command to the commandline when launching your game: +set s_alDriver OpenAL32.dll
- Then, use your command console to check the value of the setting "s_alCapture": it has to be "1". If it is not 1, then write /s_alCapture 1 to enable it. You may need to close and launch OpenArena again to make the change effective.
- You should set a data rate of 25000 bytes/sec: you have two ways of doing this:
- Use your command console to set "rate" parameter to 25000. To do so, write /rate 25000. Before doing this, if you want you can use simply /rate to read its value and write it down somewhere, so if you later feel that the new value had a bad impact on the online performance of your system, you can switch back to the old one.
- Set the "Data rate" option in Setup -> System -> Network menù to LAN/Cable/xDSL (you should have a local or broadband connection to use VoIP).
- Go to Setup -> Controls -> Misc menu. Bind the "Voice chat" function to a specific key (you can also do this from command console, for example /bind v "+voiprecord" to assign it to the "v" key). When you will press that key, you will be able to talk to other players; your speakers' volume will be lowered during this.
- Use "Teamonly voicechat" option to set if, during team game modes, everyone will hear you talking, or only your teammates (/cg_voipTeamonly <0 or 1>; default = 1). This extension has been added since OpenArena 0.8.5: if connecting to a previous server version, or with some mods, everyone will hear you talking anyway.
- You can enable or disable a meter that shows the sound level (when you press the key previously binded for "voice chat") using /set cl_voipShowMeter (1 or 0). If you want to do tests, remember to join/create a multiplayer game instead of a single player mode.
- You should check your operating system setting for "recording" audio source ("microphone", "line in", etc.). Under various versions of Microsoft Windows, you can open "Volume control/Volume master" from volume tray icon, then select Options - Properties, then "recording", Ok, and then you can select the recording source and its volume level. You can also access this window from Control Panel - Sound & Multimedia (or similar) - Audio - Sound recording - Volume. Some audio card-specific drivers could provide a different user interface.
- Be sure you have /cl_voip 1 if you want VoIP enabled. If it is not so, you have to set it, and you may have to quit OpenArena and launch it again to make this change effective. Disable if you are not interested in using VoIP and you prefer to save bandwidth (should save 2 KB per second).
ioquake3 documentation reports that VoIP packets are saved in demo files (privacy warning: if you use in-game VoIP, be aware that your speaking may be recored by someone!).
Server-side, /sv_voip has to be set to 1, to allow VoIP.
Note: some players reported they had to launch the client and the server with a protocol different than 71 (openarena +set protocol #) in order to have Voice Chat working.
- \sv_voip <0 or 1> - If server has this disabled, no one will be able to use VoIP feature. Default value is 1.
- \voip [un]ignore <playerID#> - You can use this if you don't want to hear VoIP from a specific client. Automatically reset when reconnecting to a server.
- \voip [un]muteall - You can use this if you don't want to stop all incoming VoIP traffic. You can use to save bandwidth. Automatically reset when reconnecting to a server.
- \voip gain <playerID#> <number> - You can use it to change volume for voice from a specific client, if he's speaking too loud or too quiet. Value 0.0 is silence, with 2.0 volume is doubled.
- \cl_voip <0 or 1> - Clients need to have this enabled, to use VoIP. If you don't want voice chat feature, disable to save bandwidth. You may need to quit OpenArena to make the change have effect (or you may want to set it from command line, like openarena.exe +set cl_voip 1). Default value is 1.
- \cl_voipsendtarget = <value> - This controls who will hear you, but it isn't very user-friendly. Values: "all" means that everyone will hear you; "none" means that no one will hear you; "crossair" means that the one you are looking at will hear you; "attacker" means that the last person that hit you will hear you; empty is like "all"; it is possible to specify one or more players, specifing their client number, for example "2,5,6,3". Default value is "all" and will be reset when connecting to a new server. Probably it is better to use cg_voipTeamOnly provided by OpenArena. Note: cl_voipsendtarget behavior could be modified in the next versions of OpenArena, considering this change that has been made to ioquake3, that will include the "spatial" new value, that will be the new default and will communicate to near players only. It is not known yet which will be its default value in future OA versions.
- \cl_voipsend = "0" - 1 = transmit VoIP and 0 = don't. Default value is 0. Usually there is no need to change this, since it is controlled by other commands, like "cl_voipUseVAD" and "+voiprecord" key.
- \cl_voipShowMeter <0 or 1> - If enabled, displays a volume meter when transmitting. Default value is 1.
- \cl_voipVADThreshold = <value between 0 and 1> - Used only when cl_voipUseVAD is enabled, this controls the volume level from your microphone the game will consider you talking and thus will send your voice via VoIP. You may need to do some tests to find the best value for you. Default value is 0.25.
- \cl_voipUseVAD = <0 or 1> - If enabled (1), game automatically sends your voice to other players when it thinks you are talking. If disabled (0), you have to manually start transmitting. Default value is 0.
- \cl_voipCaptureMult = <number> - This multiplies the volume of your voice when sending it to other players. Default value is 2.0, and it doubles your voice volume; 1.0 means no volume multiplication.
- \cl_voipGainDuringCapture = <number between 0 and 1> - This controls the volume of your speakers when you are talking (when you push the button to talk, your speakers volume will be lowered): 0.0 is silence and 1.0 is no reduction. Default value is 0.2.
- \cg_voipTeamOnly <0 or 1> - If enabled, during team matches only your team-mates will be able to hear you. Added since OA 0.8.5 (it may not work with old mods!). Default value is 1. This is a very important parameter, especially useful for clans. You can set it also from SETUP -> CONTROLS -> MISC menu.
- \s_useopenal <0 or 1> - If you wanna be able to talk, you have to install OpenAL and enable it (with standard SDL audio, you will only be able to hear). Default value is 1.
- If OpenAL is installed and enabled but it does not work for you, you can try check
/s_alDrivervariable: if you are using Microsoft Windows, it should usually be set to "OpenAL32.dll" value. If you change this value, you should close and launch OpenArena again.
- If OpenAL is installed and enabled but it does not work for you, you can try check
- \s_alcapture <0 or 1> - To be able to talk, you need to enable this. Default value is 1.
- +voiprecord - You should bind this to a key (for example \bind v "+voiprecord" to assign it to "v" key), and then press that key when talking, to actually send your voice to other players. You can easily assign key for Voice Chat from SETUP -> CONTROLS -> MISC menu.
- FAQ#How can I organize matches with my friends all around the world? How can I talk with them?