Add install-revoice/en.md
Browse Source
1 changed file
with 90 additions and 0 deletions
install-revoice/en.md
A
| @@ -0,0 +1,90 @@ | ||
| 1 | +--- | |
| 2 | +title: "How to Install ReVoice for Non-Steam Voice Chat" | |
| 3 | +excerpt: "Install the ReVoice Metamod plugin so Steam and non-Steam CS 1.6 clients can hear each other, configure the codecs, and fix the silent-voice problems." | |
| 4 | +category: "installation" | |
| 5 | +tags: "revoice, voice" | |
| 6 | +image: "" | |
| 7 | +read_time: "8 min read" | |
| 8 | +--- | |
| 9 | +<p>Voice chat in CS 1.6 is a codec problem. Steam clients speak <strong>SILK</strong> (introduced with the Steam voice update); older and non-Steam clients speak the legacy <strong>Speex</strong> codec, and some builds speak <strong>Opus</strong>. On a mixed server, half your players press their voice key and the other half hear nothing. <strong>ReVoice</strong> is a Metamod plugin that transcodes between these codecs on the server, so everyone hears everyone.</p> | |
| 10 | + | |
| 11 | +<p>If your server is Steam-only, you do not need ReVoice. If you accept non-Steam players — which, if you run <a href="/tutorials/install-reunion">Reunion</a> or <a href="/tutorials/install-dproto">dproto</a>, you do — you almost certainly do.</p> | |
| 12 | + | |
| 13 | +<h2>1. Prerequisites</h2> | |
| 14 | +<ul> | |
| 15 | +<li>ReHLDS (ReVoice is built for it; it is not guaranteed on stock HLDS).</li> | |
| 16 | +<li>Metamod loaded — <code>meta version</code> must answer. See <a href="/tutorials/install-metamod-r">Metamod-r</a>.</li> | |
| 17 | +<li>Voice enabled at all on the server. This is easy to forget: | |
| 18 | +<pre>sv_voiceenable 1 | |
| 19 | +sv_voicecodec voice_speex | |
| 20 | +sv_voicequality 5</pre> | |
| 21 | +</li> | |
| 22 | +</ul> | |
| 23 | + | |
| 24 | +<h2>2. Install the plugin</h2> | |
| 25 | +<p>ReVoice is a <strong>Metamod plugin</strong>, not an AMXX plugin. It goes in its own directory under <code>addons/</code> and it is registered in <code>metamod/plugins.ini</code>, not in AMXX's <code>plugins.ini</code>. Mixing those two files up is the most common installation mistake.</p> | |
| 26 | +<pre>mkdir -p /home/steam/hlds/cstrike/addons/revoice | |
| 27 | +cp revoice_mm_i386.so /home/steam/hlds/cstrike/addons/revoice/ | |
| 28 | +cp revoice.cfg /home/steam/hlds/cstrike/addons/revoice/ | |
| 29 | +chmod 644 /home/steam/hlds/cstrike/addons/revoice/*</pre> | |
| 30 | +<p>Add it to <code>cstrike/addons/metamod/plugins.ini</code>:</p> | |
| 31 | +<pre>linux addons/revoice/revoice_mm_i386.so | |
| 32 | +linux addons/amxmodx/dlls/amxmodx_mm_i386.so</pre> | |
| 33 | +<p>Order in <code>plugins.ini</code> is load order. ReVoice is fine anywhere, but keeping the voice/protocol plugins above AMXX is the convention and it makes <code>meta list</code> easier to read.</p> | |
| 34 | + | |
| 35 | +<h2>3. Configure revoice.cfg</h2> | |
| 36 | +<p>The config controls which codecs ReVoice will accept from clients and which it hands back. The important settings:</p> | |
| 37 | +<pre>// codec used to talk to legacy / non-Steam clients | |
| 38 | +revoice_default_codec "silk" | |
| 39 | + | |
| 40 | +// bitrate for the SILK stream; higher = clearer, more bandwidth | |
| 41 | +revoice_silk_bitrate 16000 | |
| 42 | + | |
| 43 | +// how to handle clients whose codec is unknown | |
| 44 | +revoice_speex_quality 5</pre> | |
| 45 | +<p>Read the <code>revoice.cfg</code> that ships with your build rather than copying a cvar list from a forum — the cvar names have changed between versions, and setting a cvar that does not exist is a silent no-op. Whatever you set, keep <code>sv_voicecodec</code> in <code>server.cfg</code> consistent with what ReVoice expects; a mismatch there is the classic "nobody can hear anybody" configuration.</p> | |
| 46 | + | |
| 47 | +<h2>4. Restart and verify</h2> | |
| 48 | +<p>Metamod plugins load at server start.</p> | |
| 49 | +<pre>meta list</pre> | |
| 50 | +<pre>Currently loaded plugins: | |
| 51 | + description stat pend file vers src load unload | |
| 52 | + [ 1] ReVoice RUN - revoice_mm_i386.so 0.1.x ini Start ANY | |
| 53 | + [ 2] AMX Mod X RUN - amxmodx_mm_i386.so 1.9.0 ini Start ANY | |
| 54 | +2 plugins, 2 running</pre> | |
| 55 | +<p>ReVoice must be <code>RUN</code>. <code>bad load</code> means the binary is the wrong architecture or built against an incompatible Metamod API — see <a href="/tutorials/fix-metamod-bad-load">bad load</a>.</p> | |
| 56 | + | |
| 57 | +<h2>5. The real test</h2> | |
| 58 | +<p>Console output proves nothing about voice. You need two clients:</p> | |
| 59 | +<ol> | |
| 60 | +<li>One <strong>Steam</strong> client and one <strong>non-Steam</strong> client on the server at once.</li> | |
| 61 | +<li>Both on the same team, both with <code>voice_enable 1</code> and a bound <code>+voicerecord</code> key.</li> | |
| 62 | +<li>Steam client talks → non-Steam client must hear it.</li> | |
| 63 | +<li>Non-Steam client talks → Steam client must hear it.</li> | |
| 64 | +</ol> | |
| 65 | +<p>Both directions. It is entirely possible to have transcoding working one way and not the other, and testing with two clients of the same kind proves nothing at all — they could hear each other without ReVoice.</p> | |
| 66 | + | |
| 67 | +<h2>Client-side settings that break voice</h2> | |
| 68 | +<p>Half of "ReVoice doesn't work" is client configuration. Have the player run, in their own console:</p> | |
| 69 | +<pre>voice_enable 1 | |
| 70 | +voice_scale 1.0 | |
| 71 | +voice_loopback 1 // temporarily: they hear themselves back</pre> | |
| 72 | +<p><code>voice_loopback 1</code> is the quickest triage. If they cannot hear their own voice looped back, the problem is their microphone or their client, and no server-side change will fix it.</p> | |
| 73 | + | |
| 74 | +<h2>Common errors</h2> | |
| 75 | +<ul> | |
| 76 | +<li><strong>ReVoice is <code>RUN</code> but nobody hears anything</strong> — <code>sv_voiceenable</code> is 0, or <code>sv_voicecodec</code> is unset. Check in the console with <code>sv_voiceenable</code> (no argument prints the value).</li> | |
| 77 | +<li><strong>Only Steam players hear each other</strong> — ReVoice is not actually loaded (check <code>meta list</code>, not the file on disk), or its codec config does not cover the legacy codec.</li> | |
| 78 | +<li><strong>Voice is choppy or robotic</strong> — bitrate too high for your players' upstream, or the server is bandwidth-starved. Lower the SILK bitrate.</li> | |
| 79 | +<li><strong><code>bad load</code></strong> — wrong architecture. <code>file revoice_mm_i386.so</code> must report <em>ELF 32-bit, Intel 80386</em>.</li> | |
| 80 | +<li><strong>Works on Steam clients, silent on non-Steam</strong> — the classic case; walk through <a href="/tutorials/fix-revoice-no-voice-nonsteam">non-Steam players have no voice</a>.</li> | |
| 81 | +</ul> | |
| 82 | + | |
| 83 | +<h2>Verification checklist</h2> | |
| 84 | +<ol> | |
| 85 | +<li><code>meta list</code> — ReVoice <code>RUN</code>.</li> | |
| 86 | +<li><code>sv_voiceenable</code> prints <code>1</code>.</li> | |
| 87 | +<li>A Steam client and a non-Steam client hear each other, in both directions.</li> | |
| 88 | +<li>No voice-related spam in the server log during a full map.</li> | |
| 89 | +</ol> | |
| 90 | +<p>If you run a mixed server, ReVoice belongs in the same install batch as <a href="/tutorials/install-reunion">Reunion</a> and <a href="/tutorials/install-rechecker">ReChecker</a> — they are the three Metamod plugins that make a non-Steam-friendly server behave like a proper one.</p> | |
| 0 | 91 |









