Все руководства   ·   Скачать DOCX

Q2PRO-X 1.6 Final by ly

Сетевая игра

Q2PRO-X document image

Автор проекта: ly

Частота сервера, пинг, предсказание и сглаживание движения.

Русская редакция • Q2PRO-X 1.6 Final by ly • 7 ноября 2026 года


Содержание

Пункты кликабельны: щелчок переходит к разделу.

Сетевая игра Q2PRO-X

Предсказание оружия и подтверждение попаданий

История серверов

1. Где находятся настройки

Единая страница настройки онлайн-игры

2. Браузер серверов

3. Автоподбор клиентского UDP-порта

Режим RTT

Режим XQ3A

4. Laghax

5. Предсказание оружия и игрока

6. Видимость эффектов оружия

7. OpenTDM Team HUD

8. Подсветки игроков в матче

9. Громкость оружия и игроков

10. Практические профили

Начальный набор для матчей

Проверка при высоком пинге

Диагностика проблемного маршрута

11. Русский ввод, автотранслит и /en перевод

Практический сценарий

Диагностика

12. Адаптация пинга

12.1. Зачем она нужна

12.2. Где находится

12.3. Три режима

12.4. Два источника автоматики

12.5. Когда адаптация не вмешивается

12.6. Как часто пересчитывается цель

12.7. Наблюдение и проверка

12.8. Возврат к обычной игре

12.9. Связь с другими системами

12.10. Границы модов и серверов

12.11. Полный список настроек

13. Расширенная сеть и сканер портов

14. Обозреватель серверов

15. Настройки, зависящие от мода, и подмена скинов

Сообщения об убийствах и смерти

Перевод чата через API

Звук попадания

Браузер переменных и команд: полный список и раскладки

Блокировка системных клавиш

Адрес сервера и Tab

Проигрывание внешней демки

Кеш списка серверов

Визуальное упрощение архитектуры

Анимация предметов

Независимые боты OpenTDM-X

Серверная частота

Подключение без зависания интерфейса

Дополнения отправка команд и плавность игроков

Диагностика соединения


Сетевая игра 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_limit0=отключено и очищено / 1=только последний / 2..100=MRU-история (по умолчанию 10)Общий для всех модов максимум уникальных успешно сыгранных удаленных серверов для ручного reconnect и вкладки История. Изменение применяется сразу. 0 очищает и отключает дисковую историю; 1 хранит только последний сервер; 10 — по умолчанию; 100 — жесткий максимум.
cl_reconnect_last_server_auto0=обычный запуск (по умолчанию) / 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. Браузер серверов

Современный браузер открывается поверх игры и служит для поиска серверов и подключения к ним.

Главные настройки:

cl_serverbrowser_ui - modern / legacy;
cl_serverbrowser_alpha;
cl_serverbrowser_scale;
cl_serverbrowser_compact;
cl_serverbrowser_fullscreen;
cl_serverbrowser_show_details;
cl_serverbrowser_show_badges;
cl_serverbrowser_row_colors;
cl_serverbrowser_hide_empty;
cl_serverbrowser_hide_full;
cl_serverbrowser_only_players;
cl_serverbrowser_max_ping;
cl_serverbrowser_show_passworded;
cl_serverbrowser_show_down;
cl_serverbrowser_default_source;
cl_serverbrowser_custom_source;
cl_serverbrowser_pillarbox_workspace.

Источники:

q2servers.com;
избранное;
локальная сеть;
свой источник.

Начальная настройка:

современный браузер включён;
подробности и чередование цвета строк включены;
hide empty по вкусу;
max ping 0, если не хотите фильтровать;
полноэкранный режим удобен на маленьком экране или при большом списке.


3. Автоподбор клиентского UDP-порта

У некоторых провайдеров маршрут или задержка зависят от исходящего UDP-порта клиента. Для проверки таких случаев в Q2PRO-X есть экспериментальный автоподбор порта.

Ключевой cvar:

cl_net_clientport_autoprobe

Режимы:

off - ничего не делать;
RTT - быстрый проверка времени ответа challenge до подключения;
XQ3A - проверка20 портов во время подключения.

Связанные cvar:

cl_net_clientport_autoprobe_time - предельное время проверки;
cl_net_clientport_autoprobe_ports - число портов для режима RTT;
cl_net_clientport_autoprobe_indicator - индикатор проверки XQ3A;
cl_net_clientport_autoprobe_verbose - подробный лог в консоль;
cl_net_clientport_autoprobe_settle_ms - пауза перед проверкой XQ3A.

Режим RTT

Режим RTT проверяет порты отдельными запросами challenge и выбирает порт по времени ответа. Эта задержка отличается от пинга, который показывается во время матча.

Режим XQ3A

Режим XQ3A меняет порт во время активного подключения, проверяя до 20 вариантов. Во время проверки возможны рывки и неравномерная задержка.

Используй XQ3A для отдельной проверки соединения, а не перед каждым матчем.

Рекомендация:

обычным игрокам оставить off;
для разового подключения использовать RTT;
XQ3A включать только если вы понимаете, что временные рывки во время

скана нормален.


4. Laghax

cl_laghax управляет сглаживанием сетевого ощущения.

Режимы:

0 - off;
1 - фиксированное окно сглаживания;
2 - адаптивное сглаживание.

Связанные настройки:

cl_laghax_hud - overlay;
cl_laghax_hud_alpha;
cl_laghax_hud_show_predict_params;
cl_laghax_hud_show_physics_params;
cl_laghax_hud_show_predict_runtime;
cl_laghax_hud_hide_deathmatch0;
cl_laghax_hud_hide_demo;
cl_laghax_maxms;
cl_laghax_maxwindow;
cl_laghax_minerror;
cl_laghax_ping_weight;
cl_laghax_jitter_weight;
cl_laghax_loss_weight;
cl_laghax_debt_weight;
cl_laghax_gap_weight.

LagHax сглаживает локальное отображение сетевого движения. Он не уменьшает задержку до сервера и не меняет серверный расчёт движения.

Для сравнения включи HUD и адаптивный режим, поиграй несколько минут на том же сервере, затем сравни с выключенным сглаживанием. Если движение кажется запаздывающим, уменьши окно и веса либо верни фиксированный режим или отключи LagHax.


5. Предсказание оружия и игрока

Предсказание оружия показывает локальный эффект выстрела до ответа сервера. При высоком пинге нажатие огня поэтому видно сразу, хотя попадание и урон по-прежнему определяет сервер.

Общий переключатель:

cl_predict_weapons_enable.

Отдельные переключатели оружия:

cl_predict_rockets;
cl_predict_rockets_explosion;
cl_predict_railgun;
cl_predict_shotgun;
cl_predict_super_shotgun;
cl_predict_machinegun;
cl_predict_chaingun;
cl_predict_blaster;
cl_predict_grenades;
cl_predict_hand_grenades;
cl_predict_hyperblaster.

Предсказание игрока:

cl_predict_player;
cl_predict_move_mode.

Порог пинга и выдержка:

cl_predict_ping_min_ms;
cl_predict_ping_dwell_sec.

Если cl_predict_ping_min_ms больше нуля, предсказание включается по порогу пинга с выдержкой cl_predict_ping_dwell_sec. Так можно использовать его только при достаточно большой задержке.


6. Видимость эффектов оружия

На этой странице отдельные составляющие эффектов оружия включаются независимо от предсказания.

Общий переключатель:

cl_weaponfx_vis_enable.

Группы:

cl_weaponfx_vis_own_predicted;
cl_weaponfx_vis_own_server;
cl_weaponfx_vis_other;
cl_weaponfx_vis_muzzle;
cl_weaponfx_vis_muzzle_light;
cl_weaponfx_vis_hitscan;
cl_weaponfx_vis_projectiles;
cl_weaponfx_vis_trails;
cl_weaponfx_vis_impact_wall;
cl_weaponfx_vis_impact_flesh;
cl_weaponfx_vis_explosion_visual;
cl_weaponfx_vis_explosion_particles;
cl_weaponfx_vis_explosion_light;
cl_weaponfx_vis_hit_markers.

Например, можно скрыть частицы взрыва, сохранив маркеры попадания.

Команда:

weaponfx_info.


7. OpenTDM Team HUD

Командная панель OpenTDM показывает состояние товарищей по данным, уже доступным клиенту. Участникам команды не нужно отправлять дополнительные команды вручную.

Основные настройки:

cl_opentdm_team_hud;
cl_opentdm_team_hud_alpha;
cl_opentdm_team_hud_scale;
cl_opentdm_team_hud_width;
cl_opentdm_team_hud_show_weapon;
cl_opentdm_team_hud_show_powerarmor;
cl_opentdm_team_hud_show_freshness;
cl_opentdm_team_hud_show_teamchat;
cl_opentdm_team_hud_fresh_sec;
cl_opentdm_team_hud_stale_sec;
cl_opentdm_team_hud_pillarbox_workspace.

Панель можно переместить мышью в режиме редактирования:

opentdm_team_hud_edit;
opentdm_team_hud_reset.


8. Подсветки игроков в матче

Для сетевой игры доступны следующие режимы подсветки игроков:

team - цвета своей и чужой команды;
duel - основной и дополнительный цвета дуэли;
auto - попытка выбрать подходящую схему;
model - цвет по модели, удобный для FFA и просмотра демок.

Связанные cvar:

cl_vis_players_team_source;
cl_vis_players_team_friendly_color;
cl_vis_players_team_enemy_color;
cl_vis_players_team_fallback;
cl_vis_players_team_hold_ms;
cl_vis_players_duel_hold_ms;
cl_vis_players_auto_fallback.

Для TDM: начните с team, своей команде — голубой цвет, соперникам — красный. Для дуэли: duel.

Для FFA: random FFA или model.


9. Громкость оружия и игроков

На странице громкостей можно отдельно настроить группы звуков:

оружие;
звуки игроков;
голоса и боль;
подбор предметов;
окружение;
монстры;
диктор;
интерфейс;
фоновые звуки;
прочие.

Слишком громкие взрывы могут заглушать шаги, а тихие звуки подбора — мешать отслеживанию предметов. Подстрой их отдельно под свои наушники или колонки.

Подробная теория звука вынесена в:

Q2PRO-X_1.6_Sound_Guide_RU.docx


10. Практические профили

Начальный набор для матчей

современный браузер серверов;
cl_laghax 0 или 2 после личного теста;
cl_predict_weapons_enable 1;
cl_predict_ping_min_ms 20;
cl_predict_ping_dwell_sec 5;
видимость эффектов оружия по умолчанию;
cl_vis_players_mode team для TDM;
cl_net_clientport_autoprobe off.

Проверка при высоком пинге

включить предсказание оружия;
включить предсказание игрока;
поднять cl_predict_ping_min_ms только если предсказанные эффекты мешает на

низком пинге;

включить laghax HUD;
сравнить cl_laghax 0, 1, 2 на одном сервере.

Диагностика проблемного маршрута

включить cl_net_clientport_autoprobe RTT;
попробовать connect_autoport <server>;
если нужно глубже, использовать XQ3A с видимым индикатором и подробным журналом,

но не во время важной игры.


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 файл перевода.
Автотранслит сохраняет ведущий / или \ и имя команды, чтобы команды вроде say/say_team не превращались в обычный текст.
Перевод /en не отправляет сообщение автоматически. Это специально: игрок видит английский результат и сам решает, отправлять ли его.
Провайдер по умолчанию — q2prox, размещённая точка Q2PRO-X. Клиентский ключ API для неё не нужен.
Дополнительные параметры сервиса перевода: cl_translate_provider, cl_translate_q2prox_url, cl_translate_google_url, cl_translate_deepl_url, cl_translate_azure_url, cl_translate_libre_url, cl_translate_custom_url, cl_translate_timeout_ms.
Секреты для сторонних сервисов хранятся в baseq2/q2pro-x/translate.local. Этот файл не архивируется, не echo-ится и не должен попадать в публичные пакеты.
Текст, который вы переводите через /en, отправляется выбранному сервису. Не используйте эту команду для приватных ключей, паролей или других секретов.
Одновременно выполняется один перевод. При истечении времени ожидания или ошибке строка ввода сохраняется, чтобы сообщение не потерялось.

Практический сценарий

1. Введите /en привет, идём на railgun.

1. Дождитесь замены строки ввода на английский вариант.

1. Проверьте текст глазами и нажмите Enter, если хотите отправить.

1. Для командного чата используйте /en -team ... или отправку через say_team, если он уже набран в строке ввода.

Диагностика

translate_status показывает invalid provider: проверьте cl_translate_provider.
Перевод не приходит: проверьте cl_translate_timeout_ms, доступность выбранного сервиса перевода.
Строка ввода не изменилась: возможно, вы успели изменить строку после запуска /en; клиент не перетирает новый пользовательский ввод.
Нужен ASCII прямо сейчас без онлайн-перевода: используйте русский ввод/транслит, а не /en.



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_debug0=выкл. (по умолчанию) / 1=выводить события адаптации пинга в консольСобытийный диагностический лог адаптации пинга: смены режима, изменения цели, сброс состава, аварийный переход очереди в прямую отправку и смена поколения соединения. Никогда не печатает на каждый пакет. 0 = выкл. (по умолчанию) и не стоит ничего; полное текущее состояние всегда доступно по команде ping_adapt_info.

12.8. Возврат к обычной игре

Возврат — это просто выключение режима. Никакого «отката» настроек не требуется: адаптация не меняет ваши остальные сетевые параметры, она только задерживает отправку. После выключения задержка перестаёт добавляться сразу.

Смена сервера начинает измерение и отслеживание состава заново: решение от предыдущего сервера не переносится на следующий.

12.9. Связь с другими системами

СистемаКак соотносится
Бог сетиПоказывает и учитывает адаптацию, но никогда не включает её сам, не меняет её цель и не подстраивает режим
LagHaxРаботает независимо; адаптация не отменяет и не подменяет её
ПредиктыРаботают независимо; сервер остаётся главным
Щит джиттераДругая задача: он сглаживает показ чужих игроков, а не задерживает вашу отправку
Лаборатория сетиТоже намеренно портит сеть, но для тренировки и тестов; обе системы не задерживают один пакет дважды

В обзоре «Бога сети» реальный пинг остаётся отдельной цифрой, добавленная задержка показывается отдельно, а итоговый пинг отражает сумму, с которой работает клиент.

12.10. Границы модов и серверов

Источник «Игроки» опирается на то, что сервер и мод действительно сообщают о составе и пингах участников. Командная и свободная игра распознаются по данным мода. Если мод не даёт достаточно сведений, автоматический источник «Игроки» просто не сможет назвать цель — в этом случае используйте источник «Диапазон» или ручной режим.

Адаптация целиком клиентская: она не меняет протокол, не требует поддержки сервера и не влияет на других игроков.

12.11. Полный список настроек

ПеременнаяДопустимые значенияОписание
cl_ping_adapt_mode0=выкл. (по умолчанию) / 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_source0=диапазон (по умолчанию) / 1=игрокиОткуда автоматический режим берёт цель. 0 = Диапазон: если реальный пинг ниже cl_ping_adapt_range_min_ms, цель выбирается случайно внутри заданной полосы и затем держится стабильной всю сессию — она не перевыбирается на каждый пакет или каждую проверку. 1 = Игроки: следовать за активным составом соперника (OpenTDM — другая команда: один игрок в дуэли и среднее в TDM; OpenFFA — среднее по остальным активным игрокам). Наблюдатели и ты сам всегда исключены. Диапазон работает в любом моде; Игроки требуют точного адаптера состава, иначе задержка не добавляется.
cl_ping_adapt_manual_ms0 .. 1000 мс, по умолчанию 30Абсолютный целевой пинг для ручного режима, в миллисекундах. Клиент добавляет max(0, цель - реальный RTT); ускорить канал он не может, поэтому цель ниже реального пинга просто ничего не добавит, а состояние покажет «baseline limited». Автоматический потолок cl_ping_adapt_max_ms здесь намеренно НЕ применяется — ручная цель это твоё явное указание.
cl_ping_adapt_range_min_ms0 .. 1000 мс, по умолчанию 20Нижняя граница полосы «Автоматически / Диапазон», в миллисекундах. Диапазон адаптирует только пока реальный пинг НИЖЕ этого значения; на нём и выше не добавляется ничего, потому что задержку нельзя убрать. Если минимум и максимум заданы наоборот, они нормализуются (меняются местами) детерминированно, а ping_adapt_info покажет действующую пару.
cl_ping_adapt_range_max_ms0 .. 1000 мс, по умолчанию 30Верхняя граница полосы «Автоматически / Диапазон», в миллисекундах. Обе границы дополнительно ограничиваются cl_ping_adapt_max_ms; если потолок ниже заданного минимума, действующий выбор сводится к потолку.
cl_ping_adapt_check_interval_ms250 .. 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_ms0 .. 500 мс, по умолчанию 15Минимальная разница между твоим реальным пингом и опорным пингом соперника, при которой режим «Автоматически / Игроки» вообще начинает работать. Адаптация идёт, только пока реальный < (соперник - это значение); иначе не добавляется ничего. Пример: соперник 40 и минимальная разница 15 — реальный пинг 30 остаётся как есть, а реальный пинг 10 адаптируется.
cl_ping_adapt_max_ms1 .. 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_asynccl_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_sourceURL для вкладки «Свой» (поддерживает составной синтаксис favorites:// file:// broadcast://).
ПолзунокИсточникиОжидание до кеша, сcl_serverbrowser_master_timeoutСекунды ожидания q2servers.com перед чтением последнего корректного списка из кеша. Статус серверов опрашивается заново. Без кеша действует обычный таймаут HTTP. Применяется сразу.
РазделСервисСервис
ПереходСервисОткрыть браузер серверов...serverbrowser_open_modernОткрывает современный оверлей браузера серверов.
ПереходСервисОткрыть классический браузер...serverbrowser_open_legacyОткрывает классический (устаревший) браузер серверов.
КлавишаСервисКлавиша переключенияserverbrowser_toggleНазначает клавишу открытия/закрытия оверлея браузера серверов.

Избранные серверы глобальны для всех модов. Сканирование показывает живые вкладки и останавливается той же кнопкой, что и запускается. Выбранная вкладка запоминается между запусками.


15. Настройки, зависящие от мода, и подмена скинов

Параметры, зависящие от конкретного мода, сохраняются отдельно от глобального конфигурационного файла. Подробности о том, куда что пишется, — в руководстве по переменным и справочнику переменных.
Подмена скинов позволяет локально видеть себя и остальных игроков в удобных моделях и скинах, не меняя серверную логику.
Это полезно в командной и свободной игре, где хочется один скин для себя и другой общий вид для остальных.
Для baseq2, OpenTDM и OpenFFA доступны профили конфигурации: профиль меняет текущее управление и настройки, не перезаписывая управляемые конфиги Q2PRO-X, и снимается при смене мода.

Сообщения об убийствах и смерти

В настройках онлайн-игры раздел «Сообщения об убийствах» выделяет ник соперника в сообщениях о твоих фрагах и смерти. Выбираются цвет ника, цвет текста и оформление уведомлений под прицелом. Чат не меняется. Выделение в консоли включено по умолчанию; уведомления о фраге и смерти включаются отдельно и по умолчанию выключены. Имя убийцы остаётся до возрождения, фраги плавно исчезают. Есть предпросмотр и сброс. Настройки общие для модов.

Q2PRO-X document image

Настройки уведомлений. На снимке пользовательские значения, не заводские.

Q2PRO-X document image

Выделение имени и уведомление о фраге в игре.

Перевод чата через API

Входящий перевод запускается только кнопкой игрока. Клиент отправляет через API Q2PRO-X один пакет видимых текстов игроков, без ников и без системного вывода. Одинаковый успешный пакет повторно не отправляется. Сетевой протокол и игровой сервер в переводе не участвуют.

Звук попадания

Короткий звуковой сигнал сообщает о попадании по сопернику. Его можно включить в настройках онлайн-игры или звука; громкость доступна также в общем меню громкостей. Настройки общие для модов. В консоли, браузере переменных и меню есть русские и английские описания.

По умолчанию звук выключен: s_hitsound 0. Установка обновления сама его не включает. Ранее сохранённый ручной выбор остаётся в силе.

s_hitsound: 0 — выключить, 1 — включить.
s_hitsound_style: 0 — один тон; 1 — четыре тона по величине урона, если сервер передаёт точную величину. На обычных серверах остаётся один тон.
s_hitsound_volume: 0–100, по умолчанию 50. Значение 50 соответствует исходной амплитуде, 100 — удвоенной. Общая громкость продолжает действовать.

Звук не зависит от включения визуального маркера попадания, крови или эффектов AVFX. Он может прозвучать и после твоего ухода за укрытие, когда сервер прислал звук боли или смерти пострадавшего. Один отслеженный выстрел не получает второй сигнал только потому, что для него пришли и кровь, и голос.

Браузер переменных и команд: полный список и раскладки

Откройте Cvar Browser командой cvar_browser или через меню справочника. Во «Всё» теперь перечислены переменные, консольные команды и быстрые команды перехода в меню. Вкладка «Команды» остаётся отдельным представлением. Выбор обычной команды подставляет её в консоль; выполнение требует Enter. Вкладки категорий и «Избранное» сохраняют свой отбор.

Поиск проверяет исходный текст и дополнительно английское расположение клавиш установленных раскладок Windows. Русская стандартная раскладка учитывается также для вставленного текста после переключения языка. Например, цкшеу находит writeconfig, а пд_сщдщкувдшпреьфзы — gl_coloredlightmaps. Регистр не важен. Исходный текст в строке не заменяется. Это не транслитерация: сопоставляется расположение клавиш.

Русский поиск сохраняется: Конф находит /конфиг и описания, содержащие соответствующий фрагмент. Допустим смешанный ввод, например cl_avfx_сщтефсе_вуигп. Неизвестные символы не удаляются из запроса.

Блокировка системных клавиш

Путь: «Настройки → Система → Поведение системных клавиш», сразу после «Настройки меню». Настройки глобальные, не зависят от мода. Все значения по умолчанию — «Нет». Изменение применяется сразу.

Пункт менюПеременнаяЧто блокируется при «Да»
Win и сочетания с Winwin_block_windows_keyКлавиши Win и их сочетания
Alt+Tabwin_block_alt_tabПереключение между окнами
Alt+Escwin_block_alt_escПереключение окон через Alt+Esc
Alt+F4win_block_alt_f4Закрытие окна сочетанием Alt+F4
Alt+Enterwin_block_alt_enterПереключение оконного/полноэкранного режима
Alt+Spacewin_block_alt_spaceСистемное меню окна
Ctrl+Escwin_block_ctrl_escОткрытие меню «Пуск»
Ctrl+Shift+Escwin_block_ctrl_shift_escЗапуск диспетчера задач сочетанием
Print Screenwin_block_printscreenОбработка клавиши Print Screen

Блокировка действует только пока окно игры активно, одинаково для WGL и EGL. Когда фокус у другого приложения, его клавиши не блокируются. Ctrl+Alt+Delete не перехватывается. Если заблокирован Alt+F4, выход через обычное меню игры остаётся доступен.

Адрес сервера и Tab

Введите или вставьте в пустую строку консоли только адрес и нажмите Tab.

ВводРезультат
q2.playground.ruconnect q2.playground.ru:27910
q2.playground.ru:27915connect q2.playground.ru:27915
157.22.241.24connect 157.22.241.24:27910
[::1]:27915connect [::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 может отличаться.

Q2PRO-X document image

Консоль показывает фактическую частоту соединения — 60 Гц.