Q2PRO-X 1.5 — Голосовой чат Q2PRO-X 1.5
Полная локальная HTML-версия принятого документа. Оригинал DOCX доступен в карточке документации.
Q2PRO-X 1.5
Голосовой чат Q2PRO-X 1.5
Микрофон, каналы, громкости и совместимость с сервером
Русская редакция • Q2PRO-X 1.5 • 25 августа 2026 года
Содержание
Пункты кликабельны: щелчок переходит к разделу.
В меню всё включено, но voice не работает
15. Корректный выход из комнаты
Голосовой чат Q2PRO-X
Q2PRO-X содержит встроенный голосовой чат. Это отдельный голосовой канал поверх игрового клиента: он не меняет игровые протоколы Quake II и не заменяет обычный текстовый чат.
1. Что делает голосовой чат
Voice chat позволяет игрокам подключаться к голосовой комнате и говорить
через микрофон прямо из клиента.
Главная пользовательская модель:
игровой сервер;
сервера;
подключение к голосовой комнате.
Default hosted control server:
https://voice-api.q2pro-x.com
2. Где находится меню
Путь по меню: [[GEN:menu_path:q2prox_voice]]
Страница целиком:
Q2PRO-X / Голосовой чат
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Комната | Комната | ||
| Переключатель | Комната | Голосовой чат включён | vc_enable | Главный выключатель голосового чата (нужен OpenAL для передачи и приёма). Применяется сразу. [Нет / Да] |
| Переключатель | Комната | Автовход при подключении | vc_autojoin | Автовход в голосовую комнату при подключении к игровому серверу. Применяется сразу. [Нет / Да] |
| Список | Комната | Режим комнаты | vc_room_mode | Выбор комнаты: своя на каждый игровой сервер или ручная по имени. Применяется сразу. [Сервер / Ручной] |
| Поле | Комната | Имя ручной комнаты | vc_room_name | Имя комнаты для ручного режима. |
| Поле | Комната | Сервер управления | vc_server | URL сервера управления голосовой связью. |
| Раздел | Микрофон и звук | Микрофон и звук | ||
| Переключатель | Микрофон и звук | Микрофон включён | vc_mic_enable | Разрешить захват микрофона (нужен звуковой движок OpenAL). Применяется сразу. [Нет / Да] |
| Переход | Микрофон и звук | Микрофон... | q2prox_voice_mic_pick | Выбрать устройство захвата; «(default)» следует за микрофоном Windows по умолчанию. |
| Список | Микрофон и звук | Режим передачи | vc_ptt_mode | Режим передачи: активация голосом (VAD) или кнопка разговора. Применяется сразу. [Активация голосом / Кнопка разговора] |
| Ползунок | Микрофон и звук | Порог VAD | vc_vad_threshold | Порог активации голосом (VAD); ниже — чувствительнее. Применяется сразу. |
| Ползунок | Микрофон и звук | Усиление микрофона | vc_input_gain | Усиление микрофона; 1.0 — без изменения, до 10x. Применяется сразу. |
| Ползунок | Микрофон и звук | Громкость приёма | vc_receive_volume | Громкость входящего голоса, отдельно от s_volume; до 10x (нужен OpenAL). Применяется сразу. |
| Переключатель | Микрофон и звук | Заглушить входящие | vc_deafen | Заглушить весь входящий голос; передавать по-прежнему можно. Применяется сразу. [Нет / Да] |
| Раздел | Вход и клавиши | Вход и клавиши | ||
| Поле | Вход и клавиши | Отображаемое имя | vc_display_name | Ваше имя в голосовой комнате; пусто — брать имя игрока. |
| Переход | Вход и клавиши | Войти в комнату | voice_join | Войти в голосовую комнату текущего сервера (или ручную). |
| Переход | Вход и клавиши | Покинуть комнату | voice_leave | Покинуть текущую голосовую комнату. |
| Клавиша | Вход и клавиши | Клавиша PTT | +voiceptt | Бинд: кнопка разговора — удерживать для передачи голоса. |
| Клавиша | Вход и клавиши | Клавиша микрофона | voice_mic_toggle | Бинд: включить или выключить микрофон. |
| Раздел | Сервис | Сервис | ||
| Переход | Сервис | Восстановить голосовые настройки | voice_defaults | Сбросить только голосовые настройки к базовым (vc_relay не трогается). |
3. Требования
Текущая фаза voice chat требует OpenAL для передачи и приёма.
Проверьте:
Если звук в игре работает через software DMA, voice chat может быть
недоступен даже при включённом vc_enable.
4. Основные cvar
default;
Большинство vc_* сохраняется в global Q2PRO-X cfg.
5. Команды
Если voice_mic_pick вызвать без аргумента, он ведёт себя как
voice_mic_list.
6. Room mode
Server mode
vc_room_mode server - рекомендуемый режим. Комната строится от текущего
game server, поэтому игроки на одном сервере попадают в один voice room без
ручного ввода.
Это хорошо для обычной игры:
Manual mode
vc_room_mode manual использует vc_room_name.
Это удобно, если:
7. Push-to-talk и VAD
vc_ptt_mode 1 - push-to-talk. Это рекомендуемый режим для игры:
vc_ptt_mode 0 - VAD, voice activity detection:
Практический старт:
тихий.
8. Gain и volume
vc_input_gain усиливает микрофон до передачи. 1.0 - unity. Значения выше
3-4 могут клиппировать громкую речь, но полезны для тихих микрофонов.
vc_receive_volume управляет входящим голосом независимо от общей громкости
игры. 1.0 - unity, до 10.0 - сильное усиление.
Если собеседники слышат перегруз:
1. уменьшите vc_input_gain;
1. проверьте Windows input level;
1. используйте PTT, чтобы не передавать постоянный шум.
9. Микрофон
Меню Mic device... показывает устройства, которые OpenAL видит как capture
devices.
Команды:
voice_mic_list
покажет:
vc_mic_device "(default)" означает "следовать системному default".
Если устройство переименовано или исчезло, выберите его заново через меню.
10. Hosted control server
vc_server по умолчанию:
https://voice-api.q2pro-x.com
Клиент обращается к control-plane для подготовки подключения. Сам voice
traffic после входа идёт через голосовую инфраструктуру, а не через игровой
Quake II сервер.
Если вы используете локальный dev setup, vc_server может указывать на
локальный service. Но для обычного пользователя менять default не нужно.
11. Автовход
Чтобы voice включался сам:
1. vc_enable 1;
1. vc_autojoin 1;
1. vc_room_mode server;
1. подключиться к игровому серверу.
Если вы вручную вышли через voice_leave, повторный вход можно сделать
через voice_join.
12. Troubleshooting
В меню всё включено, но voice не работает
Проверьте:
Никто меня не слышит
Проверьте:
Я никого не слышу
Проверьте:
Voice мешает игре
Используйте:
13. Хороший baseline
Для большинства игроков:
Дальше настройте только микрофон, клавишу разговора и громкость приёма.
14. Полный список настроек
| Переменная | Допустимые значения | Описание |
|---|---|---|
| vc_enable | 0=выключено (по умолчанию) / 1=включено | Главный переключатель голосового чата Q2PRO-X. 0 (по умолчанию) = фича полностью выключена — нет захвата, нет подключения, нет побочных эффектов cvar. Установите 1, чтобы активировать голосовую систему. И передача, и приём голоса требуют OpenAL sound backend. |
| vc_autojoin | 0=только ручное подключение (по умолчанию) / 1=автоподключение при входе на сервер | Автоматически подключаться к voice room при входе на игровой сервер. Требует vc_enable 1 и vc_room_mode "server". Срабатывает при CL_Connected. При дисконнекте комната покидается автоматически. |
| vc_server | URL строка (по умолчанию "https://voice-api.q2pro-x.com") | URL control-plane сервиса голосового чата Q2PRO-X. На этот endpoint отправляется HTTP POST /voice/prepare для получения LiveKit-токена. По умолчанию: официальный hosted control-plane Q2PRO-X. Можно переопределить для self-hosted деплоя. |
| vc_relay | URL строка (по умолчанию пусто = использовать ответ control-plane) | Переопределение URL relay-сервера (LiveKit). Если не пустой, клиент использует этот URL вместо relay_url из ответа /voice/prepare. Полезно для локального тестирования или self-hosted LiveKit. |
| vc_room_mode | "server"=комната по игровому серверу (по умолчанию) / "manual"=комната из vc_room_name | Определяет, как вычисляется имя voice room. "server" (по умолчанию): комната привязана к текущему игровому серверу (хэш host:port). Требует активного подключения к игровому серверу. "manual": имя комнаты берётся из vc_room_name — позволяет подключиться к любой именованной комнате независимо от игрового сервера. |
| vc_room_name | строка (по умолчанию пусто) | Имя voice room при vc_room_mode = "manual". Не влияет в режиме "server". Должно быть непустым при использовании manual-режима. |
| vc_mic_enable | 0=микрофон выключен (по умолчанию) / 1=микрофон включён | Разрешить захват микрофона. 0 (по умолчанию) = аудио не захватывается и не передаётся даже при подключении. 1 = захват открывается при входе в комнату. Требует OpenAL sound backend (s_enable openal) и рабочее capture device. При невыполнении условий статус-строка явно показывает причину — silent degradation отсутствует. |
| vc_mic_device | строка, "(default)" или точное имя устройства | Устройство захвата (микрофон). Значение "(default)" (по умолчанию) следует текущему выбранному микрофону в Windows. Задайте точное имя устройства из /voice_mic_list чтобы привязаться к конкретному физическому микрофону. Сохраняется глобально, применяется при следующем vc_mic_enable 1 / voice_join. |
| vc_ptt_mode | 0=VAD (голосовая активность) / 1=push-to-talk (по умолчанию) | Режим гейтирования передачи. 1 (по умолчанию) = push-to-talk: аудио отправляется только пока удерживается бинд +voiceptt. 0 = voice activity detection (VAD): аудио отправляется автоматически при превышении RMS-уровня порога vc_vad_threshold. PTT рекомендуется во избежание утечки фонового шума. |
| vc_vad_threshold | 0.0..1.0 float (по умолчанию 0.02) | Порог обнаружения голосовой активности. Активен только при vc_ptt_mode 0. Если RMS-амплитуда захваченного фрейма ниже этого значения, фрейм не передаётся. Меньше = чувствительнее (улавливает тихие звуки); больше = менее чувствительно (требует более громкой речи). |
| vc_input_gain | 0.0..10.0 float (по умолчанию 1.0) | Множитель усиления входного сигнала микрофона, применяемый перед передачей. 1.0 = единичное усиление (по умолчанию), до 10.0 = 10x усиление. Значения выше 1.0 усиливают захваченный сигнал; ниже 1.0 — ослабляют. Выходной сигнал ограничивается диапазоном [-1.0, 1.0] после применения усиления; выше 3-4x ожидайте слышимое клиппирование на громких звуках. |
| vc_receive_volume | 0.0..10.0 float (по умолчанию 1.0) | Множитель громкости входящего голоса от других участников. Не зависит от s_volume и s_voice_volume. 0.0 = тишина, 1.0 = единичная (по умолчанию), 10.0 = 10x усиление. Применяется к каждому участнику при воспроизведении. Воспроизведение участников тоже требует OpenAL backend. Для одновременного заглушения всех участников используйте vc_deafen. |
| vc_deafen | 0=обычный режим (по умолчанию) / 1=заглушить весь входящий голос | Заглушить весь входящий голос участников. При 1 аудиофреймы от всех участников комнаты отбрасываются при воспроизведении — полезно для концентрации или стриминга. Захват и передача микрофона продолжаются в обычном режиме при deafen, то есть другие участники по-прежнему слышат вас. |
| vc_display_name | строка (по умолчанию пусто = использовать ник игрока) | Отображаемое имя в voice room, которое видят другие участники. Если пустое (по умолчанию), используется игровой ник (cvar "name"). Позволяет задать другое имя в voice room без изменения игрового ника. |
15. Корректный выход из комнаты
Клиент корректно покидает голосовую комнату при обычном выходе из игры, при закрытии окна и при аварийном завершении сочетанием клавиш, включая случай быстрого повторного запуска клиента. Это важно для остальных участников: «зависший» голосовой участник не остаётся в комнате после того, как игрок ушёл.
16. Файлы времени выполнения
Голосовая подсистема использует две библиотеки, которые входят в поставку выпуска:
| Файл | Зачем нужен |
|---|---|
| soft_oal.dll | Звуковой движок OpenAL, обязателен для передачи и приёма |
| livekit_ffi.dll | Голосовой транспорт |
Оба файла лежат в корне пакета выпуска. Если одного из них нет, это неполная упаковка, а не отсутствующая возможность: голосовой чат в такой сборке работать не будет.