Q2PRO-X 1.6 Final by ly
Сетевая игра
Автор проекта: ly
Частота сервера, пинг, предсказание и сглаживание движения.
Русская редакция • Q2PRO-X 1.6 Final by ly • 7 ноября 2026 года
Содержание
Пункты кликабельны: щелчок переходит к разделу.
Предсказание оружия и подтверждение попаданий
Единая страница настройки онлайн-игры
3. Автоподбор клиентского UDP-порта
5. Предсказание оружия и игрока
Диагностика проблемного маршрута
11. Русский ввод, автотранслит и /en перевод
12.4. Два источника автоматики
12.5. Когда адаптация не вмешивается
12.6. Как часто пересчитывается цель
12.9. Связь с другими системами
12.10. Границы модов и серверов
13. Расширенная сеть и сканер портов
15. Настройки, зависящие от мода, и подмена скинов
Сообщения об убийствах и смерти
Браузер переменных и команд: полный список и раскладки
Визуальное упрощение архитектуры
Подключение без зависания интерфейса
Дополнения отправка команд и плавность игроков
Сетевая игра Q2PRO-X
Этот документ описывает всё, что относится к сетевой игре: подключение и обозреватель серверов, расширенные сетевые настройки, адаптацию пинга, LagHax, предикты игрока и оружия, видимость частей оружия, громкости и подсветки.
| Диагностика соединения — что не так, что с этим делать и как проверить результат — вынесена в отдельное руководство «Бог сети». Начинайте с него, если игра ощущается плохо, но вы не знаете почему. |
|---|
Предсказание оружия и подтверждение попаданий
Предсказание воспроизводит звук и эффект выстрела до получения ответа сервера. Когда приходит подтверждение, клиент сопоставляет его с уже показанным эффектом, чтобы не воспроизводить звук повторно. Попадания и нанесённый урон определяет сервер.
При разборе неполадок доступна отключённая по умолчанию команда rocketdiag start|mark|stop; обычная игра не требует её включения.
История серверов
В браузере серверов вкладка «История» находится после «Избранного». Она общая для всех модов и хранит адрес, время и мод в baseq2/q2pro-x/reconnect_history.json. По умолчанию — 10 уникальных серверов, доступно 0–100; 0 отключает историю. Повторный вход на уже последний сервер не меняет запись.
reconnect после нового запуска использует последний сохранённый сервер. Необязательный автоматический вход выключен по умолчанию: он действует после удалённой сетевой игры, пропускает интро/меню и уступает явным параметрам запуска. После одиночной игры, локального сервера или демки старт обычный. Подробное новое руководство: Q2PRO-X_1.6_Server_History_Reconnect_Guide_RU.docx.
| Переменная | Допустимые значения | Описание |
|---|---|---|
| cl_reconnect_history_limit | 0=отключено и очищено / 1=только последний / 2..100=MRU-история (по умолчанию 10) | Общий для всех модов максимум уникальных успешно сыгранных удаленных серверов для ручного reconnect и вкладки История. Изменение применяется сразу. 0 очищает и отключает дисковую историю; 1 хранит только последний сервер; 10 — по умолчанию; 100 — жесткий максимум. |
| cl_reconnect_last_server_auto | 0=обычный запуск (по умолчанию) / 1=автоподключение к допустимому последнему серверу | При обычном пустом запуске автоматически подключаться к последнему успешно сыгранному удаленному серверу, только если предыдущим игровым контекстом был удаленный мультиплеер. По умолчанию выключено. Любой явный +map, +connect, demo, URL или alias имеет приоритет. |
1. Где находятся настройки
| Что настраивается | Путь по меню |
|---|---|
| Настройка онлайн-игры (единый вход) | Главное меню → Настройка онлайн-игры |
| Бог сети | Главное меню → Настройка онлайн-игры → Бог сети |
| Адаптация пинга | Главное меню → Настройка онлайн-игры → Адаптация пинга |
| LagHax | Главное меню → Настройка онлайн-игры → Laghax |
| Расширенная сеть и сканер портов | Главное меню → Настройка онлайн-игры → Продвинутая сеть |
| Движение и покачивание камеры | Главное меню → Настройка онлайн-игры → Движение |
| Предсказание оружия | Главное меню → Настройка онлайн-игры → Предсказание оружия |
| Видимость частей оружия | Главное меню → Настройки → Расширенные Q2PRO-X → Видимость частей оружия |
| Обозреватель серверов | Главное меню → Настройки → Расширенные Q2PRO-X → Браузер серверов |
| Таймеры предметов | Главное меню → Настройка онлайн-игры → Живые таймеры предметов |
| Оверлей команд мода | Главное меню → Настройка онлайн-игры → Оверлей команд мода |
Единая страница настройки онлайн-игры
Настройка онлайн-игры
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Переход | Звук попадания... | q2prox_hitsound | Включить звук попадания, выбрать сигнал и его громкость. | |
| Раздел | Сеть и предикт | Сеть и предикт | ||
| Переход | Сеть и предикт | Q2PRO-X Бог сети... | q2prox_network_god | Единое место для всей сети: что не так, что с этим делать, защита, отчёты и все сетевые модули. |
| Переход | Сеть и предикт | Laghax... | q2prox_laghax | Адаптивное сглаживание ошибок предсказания (laghax), HUD и веса. |
| Переход | Сеть и предикт | Адаптация пинга... | q2prox_ping_adaptation | Держать абсолютный целевой пинг: вручную или подстраиваясь под соперников. |
| Переход | Сеть и предикт | Сеть: расширенно и сканер портов... | q2prox_advanced_network | Канал, частоты пакетов и сканер UDP-порта клиента. Пока сканер работает, он занимает соединение, и адаптация пинга на это время отключается. |
| Переход | Сеть и предикт | Серверная частота... | q2prox_server_rate | Как часто сервер присылает вам состояние мира: обычные 10 обновлений в секунду или до 60 на сервере, который это умеет. Это не FPS отрисовки. |
| Переход | Сеть и предикт | Движение и игрок... | q2prox_movement | Тайминг движения без привязки к FPS и предсказание игрока. |
| Ползунок | Сеть и предикт | Покачивание камеры при движении | cl_viewbob | Сколько от движения остаётся в камере: 1.00 — как обычно, 0.00 — ни подпрыгивания вверх-вниз, ни наклона при беге и стрейфе. Работает на любом сервере, в том числе чужом. Сервер, который движение в камеру не шлёт, не трогается. Применяется сразу. |
| Переход | Сеть и предикт | Предикт оружия... | q2prox_predict | Переключатели предикта оружия (ghost-ракеты, rail, дробовик, гипербластер и др.). |
| Раздел | Видимость и звук | Видимость и звук | ||
| Переход | Видимость и звук | Видимость и подсветка... | q2prox_vis | Подсветка предметов и игроков для читаемости. |
| Переход | Видимость и звук | Анимация предметов... | q2prox_item_jelly | Предметы на карте мягко подпрыгивают, как желе. По умолчанию выключено; предмет за укрытием не двигается. |
| Переход | Видимость и звук | Визуальное упрощение... | q2prox_world_style | Упрощённые стены, пол и двери для более чистой картинки; игроки, монстры, оружие и предметы сохраняют свои настройки. |
| Переход | Видимость и звук | Таймеры предметов... | q2prox_live_item_timers | Живые таймеры возрождения стратегических предметов: ручные и по своему подбору, отсчёт на HUD-панели. |
| Переход | Видимость и звук | Звук... | g_sound | Профиль OpenAL, HRTF, реверберация, громкость оружия и игроков. |
| Переход | Видимость и звук | Сообщения об убийствах... | q2prox_fragfeed | Выделение ника соперника в сообщениях об убийствах; отдельные уведомления о фрагах и смерти. |
| Раздел | Игрок и файлы | Игрок и файлы | ||
| Переход | Игрок и файлы | Скины и модели... | g_skins | Профиль игрока, обе страницы настройки игрока, ограничения скинов, локальные подмены для мода, настройки моделей и загрузок. |
| Переход | Игрок и файлы | Загрузки... | g_downloads | Разрешения загрузки по типам (карты, скины, модели, звуки) и HTTP-загрузки. |
| Переход | Игрок и файлы | Профили конфигов модов... | q2prox_modcfg | Выбор профилей конфигурации для модов. Профиль меняет текущее управление и настройки, не перезаписывая управляемые конфиги Q2PRO-X. |
| Переход | Игрок и файлы | Оверлей команд мода... | q2prox_modhelp | Оверлей команд мода (OpenTDM/OpenFFA). |
| Переход | Игрок и файлы | Демо | demos | Встроенный браузер демок: выбор и воспроизведение записей .dm2/.mvd2. |
2. Браузер серверов
Современный браузер открывается поверх игры и служит для поиска серверов и подключения к ним.
Главные настройки:
Источники:
Начальная настройка:
3. Автоподбор клиентского UDP-порта
У некоторых провайдеров маршрут или задержка зависят от исходящего UDP-порта клиента. Для проверки таких случаев в Q2PRO-X есть экспериментальный автоподбор порта.
Ключевой cvar:
cl_net_clientport_autoprobe
Режимы:
Связанные cvar:
Режим RTT
Режим RTT проверяет порты отдельными запросами challenge и выбирает порт по времени ответа. Эта задержка отличается от пинга, который показывается во время матча.
Режим XQ3A
Режим XQ3A меняет порт во время активного подключения, проверяя до 20 вариантов. Во время проверки возможны рывки и неравномерная задержка.
Используй XQ3A для отдельной проверки соединения, а не перед каждым матчем.
Рекомендация:
скана нормален.
4. Laghax
cl_laghax управляет сглаживанием сетевого ощущения.
Режимы:
Связанные настройки:
LagHax сглаживает локальное отображение сетевого движения. Он не уменьшает задержку до сервера и не меняет серверный расчёт движения.
Для сравнения включи HUD и адаптивный режим, поиграй несколько минут на том же сервере, затем сравни с выключенным сглаживанием. Если движение кажется запаздывающим, уменьши окно и веса либо верни фиксированный режим или отключи LagHax.
5. Предсказание оружия и игрока
Предсказание оружия показывает локальный эффект выстрела до ответа сервера. При высоком пинге нажатие огня поэтому видно сразу, хотя попадание и урон по-прежнему определяет сервер.
Общий переключатель:
Отдельные переключатели оружия:
Предсказание игрока:
Порог пинга и выдержка:
Если cl_predict_ping_min_ms больше нуля, предсказание включается по порогу пинга с выдержкой cl_predict_ping_dwell_sec. Так можно использовать его только при достаточно большой задержке.
6. Видимость эффектов оружия
На этой странице отдельные составляющие эффектов оружия включаются независимо от предсказания.
Общий переключатель:
Группы:
Например, можно скрыть частицы взрыва, сохранив маркеры попадания.
Команда:
7. OpenTDM Team HUD
Командная панель OpenTDM показывает состояние товарищей по данным, уже доступным клиенту. Участникам команды не нужно отправлять дополнительные команды вручную.
Основные настройки:
Панель можно переместить мышью в режиме редактирования:
8. Подсветки игроков в матче
Для сетевой игры доступны следующие режимы подсветки игроков:
Связанные cvar:
Для TDM: начните с team, своей команде — голубой цвет, соперникам — красный. Для дуэли: duel.
Для FFA: random FFA или model.
9. Громкость оружия и игроков
На странице громкостей можно отдельно настроить группы звуков:
Слишком громкие взрывы могут заглушать шаги, а тихие звуки подбора — мешать отслеживанию предметов. Подстрой их отдельно под свои наушники или колонки.
Подробная теория звука вынесена в:
Q2PRO-X_1.6_Sound_Guide_RU.docx
10. Практические профили
Начальный набор для матчей
Проверка при высоком пинге
низком пинге;
Диагностика проблемного маршрута
но не во время важной игры.
11. Русский ввод, автотранслит и /en перевод
В консоли и чате можно вводить русский текст с транслитерацией либо переводить сообщение на английский командой /en перед отправкой.
| Настройка / команда | Значение |
|---|---|
| cl_console_utf8_ru | Русская display-localization. Влияет на отображение UI/подсказок, но не является переключателем русского ввода. |
| cl_translit_x_style 0 | Транслит буквы х как kh. Это значение по умолчанию. |
| cl_translit_x_style 1 | Транслит буквы х как h, если такой стиль привычнее. |
| /en <текст> | Асинхронно переводит русский текст на английский через текущего provider и подставляет результат в prompt. После замены нужно нажать Enter самому. |
| /en -team <текст> | То же, но подготавливает team chat вариант. |
| translate_status | Показывает provider, URL, timeout и наличие ключей. |
| translate_reload | Перечитывает локальный secret/config файл перевода. |
Практический сценарий
1. Введите /en привет, идём на railgun.
1. Дождитесь замены строки ввода на английский вариант.
1. Проверьте текст глазами и нажмите Enter, если хотите отправить.
1. Для командного чата используйте /en -team ... или отправку через say_team, если он уже набран в строке ввода.
Диагностика
12. Адаптация пинга
12.1. Зачем она нужна
Адаптация пинга намеренно добавляет задержку исходящим игровым данным, чтобы ваш итоговый пинг держался около заданного значения.
Это нужно ровно для двух вещей:
| Она не уменьшает пинг. Значение задаёт итоговый пинг, а не прибавку. При реальных 10 мс и цели 30 мс добавится около 20 мс; если реальный пинг уже выше цели, не добавляется ничего. |
|---|
Слой не создаёт потерь пакетов и совместим с LagHax, предиктами, фиксированным движением и существующими режимами ощущения движения.
12.2. Где находится
Путь по меню: Главное меню → Настройка онлайн-игры → Адаптация пинга
Адаптация пинга
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Режим | Режим | ||
| Список | Режим | Режим адаптации | cl_ping_adapt_mode | Держит абсолютный целевой пинг. «Выкл.» не добавляет ничего. «Ручная» держит твою цель, «Автоматическая» берёт её из источника ниже. Значение — ИТОГОВЫЙ пинг, а не прибавка: при реальных 10 и цели 30 добавится около 20, а если реальный пинг уже выше цели — ничего. Применяется сразу. [Выкл. / Ручная / Автоматическая] |
| Список | Режим | Источник автоматики | cl_ping_adapt_auto_source | Откуда «Автоматическая» берёт цель: заданный диапазон или активные игроки соперника (OpenTDM — другая команда, OpenFFA — остальные активные игроки). Наблюдатели и ты сам всегда исключены. Применяется сразу. [Диапазон / Игроки] |
| Раздел | Ручная | Ручная | ||
| Ползунок | Ручная | Целевой пинг | cl_ping_adapt_manual_ms | Абсолютный целевой пинг для ручного режима. Цель ниже реального пинга просто ничего не добавит. Применяется сразу. |
| Раздел | Автоматический диапазон | Автоматический диапазон | ||
| Ползунок | Автоматический диапазон | Минимум | cl_ping_adapt_range_min_ms | Нижняя граница полосы. Адаптация работает, только пока реальный пинг ниже этого значения; затем внутри полосы выбирается одна цель и держится стабильно. Применяется сразу. |
| Ползунок | Автоматический диапазон | Максимум | cl_ping_adapt_range_max_ms | Верхняя граница полосы. Обе границы дополнительно ограничены максимальным итоговым пингом ниже. Применяется сразу. |
| Раздел | Игроки | Игроки | ||
| Ползунок | Игроки | Интервал проверки | cl_ping_adapt_check_interval_ms | Как часто пересчитываются цель и состав соперника. Запросы к серверу объединяются и не отправляются чаще раза в секунду. Применяется сразу. |
| Ползунок | Игроки | Смещение | cl_ping_adapt_offset_ms | Знаковое смещение от пинга соперников. Цель = пинг соперника + смещение. Пример: соперник 40 и смещение -10 дают цель 30. Применяется сразу. |
| Ползунок | Игроки | Минимальная разница | cl_ping_adapt_min_difference_ms | Адаптация включается, только когда реальный пинг ниже пинга соперников хотя бы на столько. Пример: соперник 40 и 15 здесь — реальный пинг 30 остаётся как есть. Применяется сразу. |
| Ползунок | Игроки | Максимальный итоговый пинг | cl_ping_adapt_max_ms | Жёсткий потолок итоговой цели в автоматическом режиме. Действует для обоих автоматических источников и никогда для ручного. Применяется сразу. |
| Раздел | Служебное | Служебное | ||
| Переключатель | Служебное | Лог событий | cl_ping_adapt_debug | Писать события адаптации в консоль: смены режима, изменения цели, обновления состава. Никогда не печатает на каждый пакет. Применяется сразу. [Нет / Да] |
| Переход | Служебное | Показать информацию | ping_adapt_info | Вывести полное текущее состояние: реальный и адаптированный пинг, цель, добавленную задержку, соперников и очередь. |
| Переход | Служебное | Сбросить контроллер | ping_adapt_reset | Перезапустить измерение и отслеживание состава, не меняя настроек. Уже ожидающие пакеты сначала отправляются по порядку. |
12.3. Три режима
| Режим | Что делает |
|---|---|
| Выкл. | Ничего не добавляется; это значение по умолчанию |
| Ручная | Держит вашу цель |
| Автоматическая | Берёт цель из выбранного источника |
12.4. Два источника автоматики
Диапазон. Вы задаёте нижнюю и верхнюю границы полосы. Адаптация работает, только пока реальный пинг ниже нижней границы; затем внутри полосы выбирается одна цель и держится стабильно.
Игроки. Цель берётся от активных соперников:
Цель считается как «пинг соперника плюс смещение». Смещение знаковое: при пинге соперника 40 мс и смещении −10 мс цель равна 30 мс.
12.5. Когда адаптация не вмешивается
Настройка «Минимальная разница» защищает от вмешательства без нужды: адаптация включается, только когда ваш реальный пинг ниже пинга соперников хотя бы на эту величину. При сопернике 40 мс и минимальной разнице 15 мс ваш реальный пинг 30 мс останется как есть.
«Максимальный итоговый пинг» — жёсткий потолок цели в автоматическом режиме. Он действует для обоих автоматических источников и никогда не действует для ручного: ручную цель вы задаёте сами и сами за неё отвечаете.
12.6. Как часто пересчитывается цель
Интервал проверки задаёт, как часто пересчитываются цель и состав соперников. Запросы к серверу объединяются и не отправляются чаще одного раза в секунду: адаптация не устраивает шторм запросов.
12.7. Наблюдение и проверка
| Команда | Что показывает |
|---|---|
| ping_adapt_info | Полное текущее состояние: реальный и адаптированный пинг, цель, добавленную задержку, соперников и очередь |
| ping_adapt_reset | Перезапускает измерение и отслеживание состава, не меняя настроек; уже ожидающие пакеты сначала отправляются по порядку |
Отдельный переключатель пишет события адаптации в консоль — смены режима, изменения цели, обновления состава — и никогда не печатает на каждый пакет:
| Переменная | Допустимые значения | Описание |
|---|---|---|
| cl_ping_adapt_debug | 0=выкл. (по умолчанию) / 1=выводить события адаптации пинга в консоль | Событийный диагностический лог адаптации пинга: смены режима, изменения цели, сброс состава, аварийный переход очереди в прямую отправку и смена поколения соединения. Никогда не печатает на каждый пакет. 0 = выкл. (по умолчанию) и не стоит ничего; полное текущее состояние всегда доступно по команде ping_adapt_info. |
12.8. Возврат к обычной игре
Возврат — это просто выключение режима. Никакого «отката» настроек не требуется: адаптация не меняет ваши остальные сетевые параметры, она только задерживает отправку. После выключения задержка перестаёт добавляться сразу.
Смена сервера начинает измерение и отслеживание состава заново: решение от предыдущего сервера не переносится на следующий.
12.9. Связь с другими системами
| Система | Как соотносится |
|---|---|
| Бог сети | Показывает и учитывает адаптацию, но никогда не включает её сам, не меняет её цель и не подстраивает режим |
| LagHax | Работает независимо; адаптация не отменяет и не подменяет её |
| Предикты | Работают независимо; сервер остаётся главным |
| Щит джиттера | Другая задача: он сглаживает показ чужих игроков, а не задерживает вашу отправку |
| Лаборатория сети | Тоже намеренно портит сеть, но для тренировки и тестов; обе системы не задерживают один пакет дважды |
В обзоре «Бога сети» реальный пинг остаётся отдельной цифрой, добавленная задержка показывается отдельно, а итоговый пинг отражает сумму, с которой работает клиент.
12.10. Границы модов и серверов
Источник «Игроки» опирается на то, что сервер и мод действительно сообщают о составе и пингах участников. Командная и свободная игра распознаются по данным мода. Если мод не даёт достаточно сведений, автоматический источник «Игроки» просто не сможет назвать цель — в этом случае используйте источник «Диапазон» или ручной режим.
Адаптация целиком клиентская: она не меняет протокол, не требует поддержки сервера и не влияет на других игроков.
12.11. Полный список настроек
| Переменная | Допустимые значения | Описание |
|---|---|---|
| cl_ping_adapt_mode | 0=выкл. (по умолчанию) / 1=ручная / 2=автоматическая | Главный переключатель адаптации пинга. 0 = выкл. (по умолчанию): нет адаптера отправки, нет очереди, нет запросов, нет сканирования состава и никакой добавленной задержки. 1 = Ручная: держать абсолютный целевой пинг cl_ping_adapt_manual_ms. 2 = Автоматическая: цель выбирается по cl_ping_adapt_auto_source (заданный диапазон или активные игроки соперника в OpenTDM / OpenFFA). Цель АБСОЛЮТНАЯ, а не прибавка к реальному пингу: при реальных 10 мс и цели 30 клиент добавит около 20 мс, а если реальный пинг уже 40 — не добавит ничего. Задержка создаётся FIFO-задержкой готовых исходящих датаграмм, поэтому пакеты не теряются, не переставляются и не переписываются. |
| cl_ping_adapt_auto_source | 0=диапазон (по умолчанию) / 1=игроки | Откуда автоматический режим берёт цель. 0 = Диапазон: если реальный пинг ниже cl_ping_adapt_range_min_ms, цель выбирается случайно внутри заданной полосы и затем держится стабильной всю сессию — она не перевыбирается на каждый пакет или каждую проверку. 1 = Игроки: следовать за активным составом соперника (OpenTDM — другая команда: один игрок в дуэли и среднее в TDM; OpenFFA — среднее по остальным активным игрокам). Наблюдатели и ты сам всегда исключены. Диапазон работает в любом моде; Игроки требуют точного адаптера состава, иначе задержка не добавляется. |
| cl_ping_adapt_manual_ms | 0 .. 1000 мс, по умолчанию 30 | Абсолютный целевой пинг для ручного режима, в миллисекундах. Клиент добавляет max(0, цель - реальный RTT); ускорить канал он не может, поэтому цель ниже реального пинга просто ничего не добавит, а состояние покажет «baseline limited». Автоматический потолок cl_ping_adapt_max_ms здесь намеренно НЕ применяется — ручная цель это твоё явное указание. |
| cl_ping_adapt_range_min_ms | 0 .. 1000 мс, по умолчанию 20 | Нижняя граница полосы «Автоматически / Диапазон», в миллисекундах. Диапазон адаптирует только пока реальный пинг НИЖЕ этого значения; на нём и выше не добавляется ничего, потому что задержку нельзя убрать. Если минимум и максимум заданы наоборот, они нормализуются (меняются местами) детерминированно, а ping_adapt_info покажет действующую пару. |
| cl_ping_adapt_range_max_ms | 0 .. 1000 мс, по умолчанию 30 | Верхняя граница полосы «Автоматически / Диапазон», в миллисекундах. Обе границы дополнительно ограничиваются cl_ping_adapt_max_ms; если потолок ниже заданного минимума, действующий выбор сводится к потолку. |
| cl_ping_adapt_check_interval_ms | 250 .. 10000 мс, по умолчанию 1000 | Как часто автоматический режим пересчитывает цель и обновляет состав соперника, в миллисекундах. Запросы status к серверу объединяются и не отправляются чаще раза в секунду, поэтому меньший интервал просто переиспользует свежий образец, не добавляя трафика. Пинги соперников старше max(5000, 3 x интервал) считаются устаревшими, и адаптация возвращается к нулевой добавке. |
| cl_ping_adapt_offset_ms | -200 .. 200 мс, по умолчанию 0 | Знаковое смещение к опорному пингу соперников в режиме «Автоматически / Игроки»: цель равна (пинг соперника + смещение) и затем ограничивается cl_ping_adapt_max_ms. Отрицательные значения целятся ниже соперника, положительные — выше. Пример: соперник 40, смещение -10 — цель 30. |
| cl_ping_adapt_min_difference_ms | 0 .. 500 мс, по умолчанию 15 | Минимальная разница между твоим реальным пингом и опорным пингом соперника, при которой режим «Автоматически / Игроки» вообще начинает работать. Адаптация идёт, только пока реальный < (соперник - это значение); иначе не добавляется ничего. Пример: соперник 40 и минимальная разница 15 — реальный пинг 30 остаётся как есть, а реальный пинг 10 адаптируется. |
| cl_ping_adapt_max_ms | 1 .. 1000 мс, по умолчанию 200 | Жёсткий потолок итогового целевого пинга в автоматическом режиме, в миллисекундах. Применяется к обоим автоматическим источникам (Диапазон и Игроки) и никогда к ручному. Если вычисленная цель его превышает, цель ограничивается, а ping_adapt_info пометит её как capped. |
13. Расширенная сеть и сканер портов
Продвинутая сеть
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Канал | Канал | ||
| Ползунок | Канал | Ширина канала (rate) | rate | Ширина канала (байт/сек), запрашиваемая у сервера. Сервер может ограничить. Типично 25000..100000. userinfo-cvar — виден серверу. Применяется сразу. |
| Ползунок | Канал | Размер сообщения | msg | Подсказка серверу о размере сетевого сообщения. 0 = маленький, 1 = обычный (по умолчанию), 2 = большой. Некоторые серверы отклоняют большие значения. Применяется сразу. |
| Раздел | Частота кадров | Частота кадров | ||
| Ползунок | Частота кадров | Лимит FPS клиента | cl_maxfps | Лимит частоты кадров клиента. 0 = без лимита. При cl_async 1 рендер может выдавать больше кадров. Применяется сразу. |
| Ползунок | Частота кадров | Лимит FPS рендера | r_maxfps | Лимит частоты кадров рендерера (применяется при cl_async 1, иначе действует cl_maxfps). Применяется сразу. |
| Раздел | Последние серверы | Последние серверы | ||
| Переключатель | Последние серверы | Автоподключение к последнему серверу | cl_reconnect_last_server_auto | Автоматически подключаться к последнему успешно сыгранному удаленному серверу при обычном пустом запуске. По умолчанию выключено; явные +map, +connect, demo, URL или alias всегда важнее. Применяется сразу. [Нет / Да] |
| Ползунок | Последние серверы | История последних серверов | cl_reconnect_history_limit | Сколько уникальных успешно сыгранных удаленных серверов хранить глобально для всех модов: 0 отключает и очищает историю, 1 хранит только последний сервер, по умолчанию 10, максимум 100. Применяется сразу. |
| Переход | Последние серверы | Подключиться снова | reconnect | Подключиться к серверу текущего процесса или, после нового запуска игры, к последнему успешно сыгранному удаленному серверу. |
| Раздел | Пакеты и синхронизация | Пакеты и синхронизация | ||
| Ползунок | Пакеты и синхронизация | Пакетов клиента/сек | cl_maxpackets | Максимум usercmd-пакетов в секунду серверу (10..125). Больше = быстрее реакция, но больше upload. Применяется сразу. |
| Переход | Пакеты и синхронизация | Серверная частота... | q2prox_server_rate | Как часто сервер присылает вам состояние мира: обычные 10 обновлений в секунду или до 60 на сервере, который это умеет. Это не FPS отрисовки. |
| Список | Пакеты и синхронизация | Асинхронный режим (cl_async) | cl_async | cl_async: 0 = синхронный цикл клиента/рендера; 1 = асинхронный рендер (по умолчанию). 2 = Асинхронный рендер с GPU sync fence, если поддерживается. Применяется сразу. [Синхронный / Асинхронный / Асинхр. + GPU sync] |
| Переключатель | Пакеты и синхронизация | Мгновенный пакет (cl_instantpacket) | cl_instantpacket | Отправлять usercmd-пакет сразу после нажатия кнопки, не дожидаясь следующего тика. Снижает input latency на интервал одного пакета. Применяется сразу. [Нет / Да] |
| Раздел | Автоподбор UDP-порта | Автоподбор UDP-порта | ||
| Список | Автоподбор UDP-порта | Автоподбор UDP-порта клиента | cl_net_clientport_autoprobe | Автоподбор UDP-порта клиента: выкл., RTT (быстрый зонд challenge-RTT перед подключением) или Скан сессии (скан по 20 портам-кандидатам). Применяется сразу. [Выкл. / RTT / Скан сессии] |
| Ползунок | Автоподбор UDP-порта | Сторож автопорта | cl_net_clientport_autoprobe_time | Сторож (0.1..180 с), прерывающий подбор, если он затянулся. RTT завершается раньше; полному скану сессии нужно 60..180 с, ниже ~30 с — предупреждение. Применяется сразу. |
| Ползунок | Автоподбор UDP-порта | Число RTT-кандидатов | cl_net_clientport_autoprobe_ports | Число портов-кандидатов RTT (2..60). Не влияет на Скан сессии (фикс. 20 слотов). Шире не замедляет RTT. По умолчанию 6. Применяется сразу. |
| Переключатель | Автоподбор UDP-порта | Индикатор скана сессии | cl_net_clientport_autoprobe_indicator | Показывает мигающий индикатор AUTO-PORT SCAN во время скана сессии (на RTT не влияет). Применяется сразу. [Нет / Да] |
| Переключатель | Автоподбор UDP-порта | Лог автопорта в консоль | cl_net_clientport_autoprobe_verbose | Печатает ход автопорта в консоль (смены слотов, сэмплы, победитель, отмена). Выкл. = работает молча. Применяется сразу. [Нет / Да] |
| Ползунок | Автоподбор UDP-порта | Пауза перед сканом сессии | cl_net_clientport_autoprobe_settle_ms | Необязательная пауза (0..10000 мс) перед первым слотом скана сессии. Поднимать только на модах с медленным precache. Идёт внутри времени сторожа. Применяется сразу. |
Сканер кратковременно занимает соединение, пока работает, и на это время адаптация пинга отключается. Это сознательное поведение: два механизма не должны одновременно управлять отправкой.
14. Обозреватель серверов
Браузер серверов
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Режим и масштаб | Режим и масштаб | ||
| Список | Режим и масштаб | Режим браузера | cl_serverbrowser_ui | Стиль браузера серверов: классический (старое меню) или современный (оверлей). Применяется сразу. [Классический / Современный] |
| Ползунок | Режим и масштаб | Прозрачность | cl_serverbrowser_alpha | Прозрачность фона окна современного браузера серверов. Применяется сразу. |
| Ползунок | Режим и масштаб | Масштаб текста | cl_serverbrowser_scale | Масштаб шрифта / интерфейса браузера; подбирается под DPI дисплея. 1.0 по умолчанию. Применяется сразу. |
| Раздел | Вид и раскладка | Вид и раскладка | ||
| Переключатель | Вид и раскладка | Компактный режим | cl_serverbrowser_compact | Компактная раскладка строк — на экране помещается больше серверов. Применяется сразу. [Нет / Да] |
| Переключатель | Вид и раскладка | Полный экран | cl_serverbrowser_fullscreen | Разворачивает браузер на весь экран вместо центрированного окна. Применяется сразу. [Нет / Да] |
| Переключатель | Вид и раскладка | Свободная зона боковых полей | cl_serverbrowser_pillarbox_workspace | Разрешает перетаскивать браузер в боковые поля пилларбокса (свободная зона). Применяется сразу. [Нет / Да] |
| Переключатель | Вид и раскладка | Показывать детали | cl_serverbrowser_show_details | Показывает правую панель деталей (список игроков, правила, инфо мода); выкл. = только список. Применяется сразу. [Нет / Да] |
| Переключатель | Вид и раскладка | Показывать бейджи | cl_serverbrowser_show_badges | Показывает бейджи режима / мода рядом с сервером (CTF, DM, OpenTDM...). Применяется сразу. [Нет / Да] |
| Переключатель | Вид и раскладка | Цвета строк | cl_serverbrowser_row_colors | Чередование цвета строк (зебра) для удобного просмотра длинных списков. Применяется сразу. [Нет / Да] |
| Раздел | Фильтры | Фильтры | ||
| Переключатель | Фильтры | Скрывать пустые | cl_serverbrowser_hide_empty | Скрывает серверы без живых игроков (боты не считаются). Применяется сразу. [Нет / Да] |
| Переключатель | Фильтры | Скрывать полные | cl_serverbrowser_hide_full | Скрывает заполненные серверы (игроков >= максимума). Применяется сразу. [Нет / Да] |
| Переключатель | Фильтры | Только с игроками | cl_serverbrowser_only_players | Показывает только серверы минимум с одним живым игроком (скрывает пустые и чисто-ботовые). Применяется сразу. [Нет / Да] |
| Ползунок | Фильтры | Макс. пинг | cl_serverbrowser_max_ping | Скрывает серверы с пингом выше стольких мс. 0 = без ограничения. Применяется сразу. |
| Переключатель | Фильтры | Показывать с паролем | cl_serverbrowser_show_passworded | Показывает серверы под паролем (подключиться можно, зная пароль). Применяется сразу. [Нет / Да] |
| Переключатель | Фильтры | Показывать недоступные | cl_serverbrowser_show_down | Показывает недоступные / упавшие серверы затемнёнными, не скрывая их. Применяется сразу. [Нет / Да] |
| Раздел | Источники | Источники | ||
| Список | Источники | Источник по умолчанию | cl_serverbrowser_default_source | Вкладка-источник по умолчанию при открытии: q2servers.com, Избранное, LAN или Свой. Применяется сразу. [Q2servers.com / Избранное / LAN / Свой] |
| Поле | Источники | Свой источник | cl_serverbrowser_custom_source | URL для вкладки «Свой» (поддерживает составной синтаксис favorites:// file:// broadcast://). |
| Ползунок | Источники | Ожидание до кеша, с | cl_serverbrowser_master_timeout | Секунды ожидания q2servers.com перед чтением последнего корректного списка из кеша. Статус серверов опрашивается заново. Без кеша действует обычный таймаут HTTP. Применяется сразу. |
| Раздел | Сервис | Сервис | ||
| Переход | Сервис | Открыть браузер серверов... | serverbrowser_open_modern | Открывает современный оверлей браузера серверов. |
| Переход | Сервис | Открыть классический браузер... | serverbrowser_open_legacy | Открывает классический (устаревший) браузер серверов. |
| Клавиша | Сервис | Клавиша переключения | serverbrowser_toggle | Назначает клавишу открытия/закрытия оверлея браузера серверов. |
Избранные серверы глобальны для всех модов. Сканирование показывает живые вкладки и останавливается той же кнопкой, что и запускается. Выбранная вкладка запоминается между запусками.
15. Настройки, зависящие от мода, и подмена скинов
Сообщения об убийствах и смерти
В настройках онлайн-игры раздел «Сообщения об убийствах» выделяет ник соперника в сообщениях о твоих фрагах и смерти. Выбираются цвет ника, цвет текста и оформление уведомлений под прицелом. Чат не меняется. Выделение в консоли включено по умолчанию; уведомления о фраге и смерти включаются отдельно и по умолчанию выключены. Имя убийцы остаётся до возрождения, фраги плавно исчезают. Есть предпросмотр и сброс. Настройки общие для модов.
Настройки уведомлений. На снимке пользовательские значения, не заводские.
Выделение имени и уведомление о фраге в игре.
Перевод чата через API
Входящий перевод запускается только кнопкой игрока. Клиент отправляет через API Q2PRO-X один пакет видимых текстов игроков, без ников и без системного вывода. Одинаковый успешный пакет повторно не отправляется. Сетевой протокол и игровой сервер в переводе не участвуют.
Звук попадания
Короткий звуковой сигнал сообщает о попадании по сопернику. Его можно включить в настройках онлайн-игры или звука; громкость доступна также в общем меню громкостей. Настройки общие для модов. В консоли, браузере переменных и меню есть русские и английские описания.
По умолчанию звук выключен: s_hitsound 0. Установка обновления сама его не включает. Ранее сохранённый ручной выбор остаётся в силе.
Звук не зависит от включения визуального маркера попадания, крови или эффектов AVFX. Он может прозвучать и после твоего ухода за укрытие, когда сервер прислал звук боли или смерти пострадавшего. Один отслеженный выстрел не получает второй сигнал только потому, что для него пришли и кровь, и голос.
Браузер переменных и команд: полный список и раскладки
Откройте Cvar Browser командой cvar_browser или через меню справочника. Во «Всё» теперь перечислены переменные, консольные команды и быстрые команды перехода в меню. Вкладка «Команды» остаётся отдельным представлением. Выбор обычной команды подставляет её в консоль; выполнение требует Enter. Вкладки категорий и «Избранное» сохраняют свой отбор.
Поиск проверяет исходный текст и дополнительно английское расположение клавиш установленных раскладок Windows. Русская стандартная раскладка учитывается также для вставленного текста после переключения языка. Например, цкшеу находит writeconfig, а пд_сщдщкувдшпреьфзы — gl_coloredlightmaps. Регистр не важен. Исходный текст в строке не заменяется. Это не транслитерация: сопоставляется расположение клавиш.
Русский поиск сохраняется: Конф находит /конфиг и описания, содержащие соответствующий фрагмент. Допустим смешанный ввод, например cl_avfx_сщтефсе_вуигп. Неизвестные символы не удаляются из запроса.
Блокировка системных клавиш
Путь: «Настройки → Система → Поведение системных клавиш», сразу после «Настройки меню». Настройки глобальные, не зависят от мода. Все значения по умолчанию — «Нет». Изменение применяется сразу.
| Пункт меню | Переменная | Что блокируется при «Да» |
|---|---|---|
| Win и сочетания с Win | win_block_windows_key | Клавиши Win и их сочетания |
| Alt+Tab | win_block_alt_tab | Переключение между окнами |
| Alt+Esc | win_block_alt_esc | Переключение окон через Alt+Esc |
| Alt+F4 | win_block_alt_f4 | Закрытие окна сочетанием Alt+F4 |
| Alt+Enter | win_block_alt_enter | Переключение оконного/полноэкранного режима |
| Alt+Space | win_block_alt_space | Системное меню окна |
| Ctrl+Esc | win_block_ctrl_esc | Открытие меню «Пуск» |
| Ctrl+Shift+Esc | win_block_ctrl_shift_esc | Запуск диспетчера задач сочетанием |
| Print Screen | win_block_printscreen | Обработка клавиши Print Screen |
Блокировка действует только пока окно игры активно, одинаково для WGL и EGL. Когда фокус у другого приложения, его клавиши не блокируются. Ctrl+Alt+Delete не перехватывается. Если заблокирован Alt+F4, выход через обычное меню игры остаётся доступен.
Адрес сервера и Tab
Введите или вставьте в пустую строку консоли только адрес и нажмите Tab.
| Ввод | Результат |
|---|---|
| q2.playground.ru | connect q2.playground.ru:27910 |
| q2.playground.ru:27915 | connect q2.playground.ru:27915 |
| 157.22.241.24 | connect 157.22.241.24:27910 |
| [::1]:27915 | connect [::1]:27915 |
Внутренний ведущий обратный слеш может отображаться перед connect: это стандартный признак команды консоли. При необходимости отредактируйте результат, затем нажмите Enter. Tab сам не подключается и не обращается к DNS. Явный порт должен быть от 1 до 65535, без порта добавляется 27910. Обычные команды, переменные и псевдонимы сохраняют приоритет. Для обычного завершения имени команды Tab теперь добавляет пробел.
Проигрывание внешней демки
В консоли используется команда demo и абсолютный путь к существующему файлу:
demo "O:\Demos\match.mvd2"
Кавычки нужны, если в пути есть пробелы. Поддерживается также запись Far, в которой кавычки окружают только имя файла:
demo O:\Demos\"match.mvd2"
Из командной строки Windows тот же путь можно передать через +demo:
Q2PRO-X.exe +demo O:\Demos\"match.mvd2"
Поддерживаются DM2, MVD2 и их .gz-варианты, пути дисков Windows и UNC. Файл не копируется в игру и открывается только на чтение. Необходимые карты, модели и прочие игровые ресурсы должны быть доступны установленной игре. Отсутствующий или неверный файл вызывает сообщение об ошибке в консоли.
Кеш списка серверов
Браузер сохраняет непустой корректный ответ q2servers.com в baseq2/q2pro-x/cache/q2servers.json. «Ожидание до кеша, с» в настройках браузера (cl_serverbrowser_master_timeout) задаёт 1–60 секунд, по умолчанию 4. Если список задержался и кеш есть, показываются сохранённые адреса с отметкой об источнике. Без кеша остаётся обычное ожидание запроса. Пинг, текущая карта и игроки запрашиваются заново у самих серверов; сохранённый адрес не означает, что сервер сейчас доступен. Ошибка, пустой ответ или неполная загрузка не затирают прежний список.
Визуальное упрощение архитектуры
В настройках онлайн-игры и рендера появился один общий пункт «Визуальное упрощение». Шесть стилей меняют архитектуру уровня с настройкой цвета, узора, силы, яркости и контраста; модели и самостоятельные AVFX-эффекты сохраняют свои настройки. По умолчанию выключено. Подробности — в отдельном руководстве «Визуальное упрощение».
Анимация предметов
«Настройки онлайн-игры → Анимация предметов» управляет небольшим прыжком, сжатием, падением и затуханием колебаний для 22 категорий предметов. Общий переключатель и все категории по умолчанию выключены. Вращение сохраняется; тени, подсветка, bloom и отражения следуют за позой модели. Игроки и оружие в руках не затрагиваются. Работает также при просмотре демок. Полный список параметров — в руководстве «Анимация предметов».
Независимые боты OpenTDM-X
«Боты OpenTDM-X...» открывает меню установленного пакета ботов: локальная игра, геймплей, отдельные боты, поддерживаемые карты, заводские/пользовательские пресеты и обновления. В комплект 1.6 Final уже включён OpenTDM-X: сервер для Windows, мод, данные ботов, пять карт, меню, каталог настроек и семь заводских пресетов. Если боты ещё не установлены, клиент установит вложенный пакет при первом запуске без скачивания. Откройте «Боты OpenTDM-X… → Играть с ботами», выберите карту и нажмите «Начать игру». Уже установленная версия и ваши настройки сохраняются. Дальнейшие обновления ботов доступны через их меню.
Серверная частота
Откройте «Настройки → Настройки онлайн-игры → Серверная частота…». Это частота получения состояния игрового мира, а не FPS отрисовки. Поддержка повышенной частоты на сервере позволяет чаще получать положения противников и события. Скорость игры, физика движения и темп стрельбы не меняются.
«Адаптация к частоте сервера» (cl_serverfps_adapt) по умолчанию выключена. Клиент запрашивает привычные 10 обновлений в секунду. Включение разрешает согласовать повышенную частоту и точную шкалу времени с совместимым сервером. Обычный сервер продолжает работать в своём прежнем режиме. Смена настройки во время игры отправляет новый запрос без переподключения.
«Желаемая частота» (cl_updaterate) по умолчанию равна «Максимум сервера» (0). Можно выбрать 10, 20, 30, 40, 50 или 60. Сервер выдаёт делители своей частоты: например, запрос 40 при серверной частоте 60 Гц даёт 20 Гц, запрос 50 — 10 Гц. Пока адаптация выключена, сохранённое предпочтение не используется и не стирается. Обе настройки глобальные для всех модов.
«Показать состояние соединения» открывает консоль с результатом protocol_info. При запуске клиента консоль показывает сохранённый режим. При включении или выключении адаптации сразу печатается изменение настройки клиента, затем, после ответа сервера, — фактическая частота соединения. Запрос и подтверждение различаются: клиент не объявляет запрошенную частоту установленной до ответа сервера.
После подключения консоль выводит одну строку с адресом, портом и фактической частотой: [188.225.33.164:27912] Частота соединения: 60 Гц. Для обычного соединения показываются 10 Гц. Запрошенная повышенная частота не считается установленной до подтверждения сервера. Подробные сведения доступны через protocol_info; дополнительные сообщения появляются, если смена частоты ещё ожидается или не подтверждена. При запуске и изменении настройки явно сообщается, включена или выключена поддержка частоты сервера выше 10 Гц.
«Бог сети», LagHax, сканер порта и сглаживание камеры учитывают согласованную шкалу времени. Демозапись остаётся совместимой со стандартным форматом 10 Гц, демки воспроизводятся с обычной скоростью. «Бог сети» при воспроизведении DM2 и MVD2 по-прежнему не работает.
Если сервер прислал неподдерживаемую частоту, клиент просит 10 Гц и приостанавливает продвижение времени мира до подтверждения. Если ответа нет в течение двух секунд, соединение завершается с объяснением. Если сервер проигнорировал обычное переключение настройки, консоль сообщает, что запрошенная смена частоты не подтверждена.
Для разбора проблем есть cl_serverfps_debug: 1 включает подробные сообщения согласования, 0 выключает. Диагностика действует только в текущей сессии, по умолчанию выключена. Обычные сообщения о режиме и соединении от неё не зависят.
Подключение без зависания интерфейса
Команды connect и connect_autoport выполняют поиск адреса сервера в фоне. При медленном ответе или недоступном адресе консоль, меню и музыка продолжают работать. Для отмены используйте disconnect; новая команда connect заменяет предыдущую попытку. Ответ на отменённый запрос не подключит вас к старому адресу. Ошибочная запись connect connect адрес отклоняется сразу.
Ожидание голосового сервера при подключении, переподключении и выходе из голосовой комнаты также не блокирует игровой поток. Настройки голосового чата не изменены.
Дополнения отправка команд и плавность игроков
Настройка онлайн-игры → Серверная частота → «Адаптировать отправку команд» (cl_serverfps_send_adapt). Глобальная настройка, по умолчанию включена. Она действует только при включённой адаптации к частоте сервера, протоколе Q2PRO и подтверждённой частоте выше 10 Гц. Общий переключатель cl_serverfps_adapt по умолчанию остаётся выключенным.
При включении рабочий лимит отправки поднимается как минимум до штатного темпа команд и частоты снимков. Для фиксированного шага движения это обычно до 100 новых команд в секунду. Сохранённый cl_maxpackets не переписывается; 0 по-прежнему означает отсутствие лимита. Выключение новой опции возвращает ручной лимит. Фактическое число пакетов зависит также от планирования и сети: это не обещание постоянных 100 пакетов/с. Вне пакетного пути fixedmove свежие команды обходят этот ограничитель, что отмечается в protocol_info. Физика и частота формирования команд не меняются.
Для cl_updaterate доступны только десятичные 0, 10, 20, 30, 40, 50 и 60. Ошибочный ввод сохраняет последнее корректное значение; при начальной загрузке ошибочного конфига используется 0. Рекомендуется «Максимум сервера» (0). Сервер выбирает делитель своей частоты: например, запрос 60 на сервере 50 Гц даст 10 Гц. При выключенном cl_serverfps_adapt запрашиваются 10 Гц, а сохранённый cl_updaterate остаётся прежним. В консоли по-прежнему выводится краткая строка фактической частоты соединения.
Движение других игроков при частоте выше 10 Гц сглаживается по истории полученных координат. Это действует во время собственной игры и при наблюдении за другим игроком. Повторение одинаковых координат в соседних снимках больше не вызывает чередование остановок и скачков. Используется небольшая задержка показа: обычно 50–67 мс при 60 Гц и отправке источником 30 пакетов/с, не более 100 мс. Экстраполяция за пределы полученных координат не применяется. Сглаживание не меняет собственное движение, серверные позиции или расчёт столкновений; обычные 10 Гц и воспроизведение демо сохраняют прежнее поведение. Отдельного переключателя нет.
Диагностика соединения
Введите protocol_info, чтобы увидеть фактический протокол и частоту, источник времени, сохранённый и рабочий лимиты отправки. «Смещение шкалы кадров» — база часов соединения; отрицательное значение само по себе не означает потери. Счётчик переходов учитывает смены частоты и режима часов. Демо DM2/MVD и прямой эфир GTV обозначаются отдельно.
AutoPort в обоих режимах применяет выбранный клиентский UDP-порт и проверяет фактическую привязку. Если Windows выделила другой резервный порт, он не выдаётся за успешно выбранный. Проверяется локальный порт: внешний порт за NAT может отличаться.
Консоль показывает фактическую частоту соединения — 60 Гц.