Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/BestProjectTeam/BestClient/llms.txt

Use this file to discover all available pages before exploring further.

BestClient includes an integrated voice chat system built on Opus audio encoding. It connects to a managed relay server by default and supports push-to-talk, voice activity detection, per-player volume overrides, proximity-based radius filtering, and a persistent mute list. All settings are saved to settings_ddnet.cfg.

Enable & Activation

bc_voice_chat_enable
int
default:"1"
Master enable for the integrated voice chat system. 0 = off, 1 = on.
bc_voice_chat_activation_mode
int
default:"1"
How your microphone is activated. 0 = voice activity detection (VAD), 1 = push-to-talk.

Voice Activity Detection (VAD)

VAD settings only apply when bc_voice_chat_activation_mode is 0.
bc_voice_chat_vad_threshold
int
default:"5"
Microphone input level that must be exceeded before automatic voice activation triggers, expressed as a percentage of the maximum input level. Range: 0100.
bc_voice_chat_vad_release_delay_ms
int
default:"150"
How long in milliseconds the microphone stays active after the input level drops below the VAD threshold. This prevents choppy cut-offs between words. Range: 01000.

Audio

bc_voice_chat_volume
int
default:"100"
Playback volume for received voice, as a percentage of the system audio output. Range: 0200.
bc_voice_chat_mic_gain
int
default:"100"
Software gain applied to your microphone input before encoding, in percent. Values above 100 amplify the signal. Range: 0300.
bc_voice_chat_bitrate
int
default:"96"
Opus encoder bitrate in kbps. Higher values give better audio quality at the cost of more bandwidth. Range: 6128.
bc_voice_chat_input_device
int
default:"-1"
Index of the audio input device to use for the microphone. -1 uses the system default device. Range: -164.
bc_voice_chat_output_device
int
default:"-1"
Index of the audio output device to use for voice playback. -1 uses the system default device. Range: -164.

State

bc_voice_chat_mic_muted
int
default:"0"
Persistently mute your own microphone so no audio is transmitted. 0 = unmuted, 1 = muted.
bc_voice_chat_headphones_muted
int
default:"0"
Persistently mute incoming voice playback so you cannot hear others. 0 = unmuted, 1 = muted.
bc_voice_chat_mic_check
int
default:"0"
Enable local microphone loopback so you can hear your own voice as others would. Useful for testing microphone levels. 0 = off, 1 = on.

Scope

bc_voice_chat_ingame_only
int
default:"0"
Restrict voice transmit and playback to when the DDNet game window is the active foreground window. 0 = always active, 1 = in-game window only.
bc_voice_chat_use_team0
int
default:"0"
Force voice chat to communicate through team 0 (the global channel) even when you are in a private team. 0 = use your current team, 1 = always use team 0.
bc_voice_chat_enable_your_group
int
default:"0"
When bc_voice_chat_use_team0 is enabled, also include members of your own team in the voice session. 0 = off, 1 = on.

Proximity

bc_voice_chat_radius_enabled
int
default:"0"
Enable proximity-based voice filtering — only players within a tile radius will be heard. 0 = off, 1 = on.
bc_voice_chat_radius_tiles
int
default:"25"
Radius in map tiles within which other players can be heard when proximity filtering is active. Range: 1500.

UI

bc_voice_chat_nameplate_icon
int
default:"1"
Show a microphone icon in a player’s name plate while they are actively transmitting voice. 0 = off, 1 = on.

Server

bc_voice_chat_server_address
string
default:"managed"
Address of the voice relay server. The special value managed connects to the official BestClient-hosted relay. Set to a custom host:port to use a self-hosted server.

Moderation & Per-Player Overrides

bc_voice_chat_muted_names
string
default:""
Comma-separated list of player names whose voice will be permanently silenced on your client. Name matching is case-insensitive. Example: PlayerA,PlayerB,SomeGriefer.
bc_voice_chat_name_volumes
string
default:""
Comma-separated name=value pairs that override the playback volume for individual players, in percent. Example: FriendA=150,LoudPerson=30. Matching is case-insensitive.
bc_voice_mod_key
string
default:""
Voice moderation key saved locally for convenience. Max 128 characters.

Build docs developers (and LLMs) love