How to Install ReVoice for Non-Steam Voice Chat

June 3, 2026 Daemon666 8 min read 14 wyświetleń

Voice chat in CS 1.6 is a codec problem. Steam clients speak SILK (introduced with the Steam voice update); older and non-Steam clients speak the legacy Speex codec, and some builds speak Opus. On a mixed server, half your players press their voice key and the other half hear nothing. ReVoice is a Metamod plugin that transcodes between these codecs on the server, so everyone hears everyone.

If your server is Steam-only, you do not need ReVoice. If you accept non-Steam players — which, if you run Reunion or dproto, you do — you almost certainly do.

1. Prerequisites

  • ReHLDS (ReVoice is built for it; it is not guaranteed on stock HLDS).
  • Metamod loaded — meta version must answer. See Metamod-r.
  • Voice enabled at all on the server. This is easy to forget:
    sv_voiceenable 1
    sv_voicecodec voice_speex
    sv_voicequality 5

2. Install the plugin

ReVoice is a Metamod plugin, not an AMXX plugin. It goes in its own directory under addons/ and it is registered in metamod/plugins.ini, not in AMXX's plugins.ini. Mixing those two files up is the most common installation mistake.

mkdir -p /home/steam/hlds/cstrike/addons/revoice
cp revoice_mm_i386.so /home/steam/hlds/cstrike/addons/revoice/
cp revoice.cfg        /home/steam/hlds/cstrike/addons/revoice/
chmod 644 /home/steam/hlds/cstrike/addons/revoice/*

Add it to cstrike/addons/metamod/plugins.ini:

linux addons/revoice/revoice_mm_i386.so
linux addons/amxmodx/dlls/amxmodx_mm_i386.so

Order in plugins.ini is load order. ReVoice is fine anywhere, but keeping the voice/protocol plugins above AMXX is the convention and it makes meta list easier to read.

3. Configure revoice.cfg

The config controls which codecs ReVoice will accept from clients and which it hands back. The important settings:

// codec used to talk to legacy / non-Steam clients
revoice_default_codec "silk"

// bitrate for the SILK stream; higher = clearer, more bandwidth
revoice_silk_bitrate  16000

// how to handle clients whose codec is unknown
revoice_speex_quality 5

Read the revoice.cfg 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 sv_voicecodec in server.cfg consistent with what ReVoice expects; a mismatch there is the classic "nobody can hear anybody" configuration.

4. Restart and verify

Metamod plugins load at server start.

meta list
Currently loaded plugins:
      description      stat pend  file                vers   src  load  unload
 [ 1] ReVoice          RUN   -    revoice_mm_i386.so  0.1.x  ini  Start ANY
 [ 2] AMX Mod X        RUN   -    amxmodx_mm_i386.so  1.9.0  ini  Start ANY
2 plugins, 2 running

ReVoice must be RUN. bad load means the binary is the wrong architecture or built against an incompatible Metamod API — see bad load.

5. The real test

Console output proves nothing about voice. You need two clients:

  1. One Steam client and one non-Steam client on the server at once.
  2. Both on the same team, both with voice_enable 1 and a bound +voicerecord key.
  3. Steam client talks → non-Steam client must hear it.
  4. Non-Steam client talks → Steam client must hear it.

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.

Client-side settings that break voice

Half of "ReVoice doesn't work" is client configuration. Have the player run, in their own console:

voice_enable 1
voice_scale 1.0
voice_loopback 1   // temporarily: they hear themselves back

voice_loopback 1 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.

Common errors

  • ReVoice is RUN but nobody hears anythingsv_voiceenable is 0, or sv_voicecodec is unset. Check in the console with sv_voiceenable (no argument prints the value).
  • Only Steam players hear each other — ReVoice is not actually loaded (check meta list, not the file on disk), or its codec config does not cover the legacy codec.
  • Voice is choppy or robotic — bitrate too high for your players' upstream, or the server is bandwidth-starved. Lower the SILK bitrate.
  • bad load — wrong architecture. file revoice_mm_i386.so must report ELF 32-bit, Intel 80386.
  • Works on Steam clients, silent on non-Steam — the classic case; walk through non-Steam players have no voice.

Verification checklist

  1. meta list — ReVoice RUN.
  2. sv_voiceenable prints 1.
  3. A Steam client and a non-Steam client hear each other, in both directions.
  4. No voice-related spam in the server log during a full map.

If you run a mixed server, ReVoice belongs in the same install batch as Reunion and ReChecker — they are the three Metamod plugins that make a non-Steam-friendly server behave like a proper one.

Współtwórcy: Daemon666 ✦
Udostępnij: