Q2PRO-X 1.5 — Статистика игры и автоматическая статистика демок Q2PRO-X 1.5
Полная локальная HTML-версия принятого документа. Оригинал DOCX доступен в карточке документации.
Q2PRO-X 1.5
Статистика игры и автоматическая статистика демок Q2PRO-X 1.5
Индексация записей, личные показатели, фильтры и приватность
Русская редакция • Q2PRO-X 1.5 • 25 августа 2026 года
Содержание
Пункты кликабельны: щелчок переходит к разделу.
1. Словарь, без которого цифры врут
2.1. Страница настроек целиком
3. Первый запуск за две минуты
4.3. Минимальный размер записи
4.4. Три действия и чем они различаются
6. Что именно клиент может узнать из записи
6.3. Вкладка «Данные» — честный отчёт
8.2. Числа выглядят устаревшими
8.4. Соперники не показываются
Что делает статистика игры
Q2PRO-X умеет разбирать ваши собственные записи матчей и превращать их в понятную картину: сколько матчей сыграно, каких, на каких картах, с кем и с каким результатом. Всё считается локально, на вашем компьютере, из файлов демок, которые у вас уже есть. Ничего никуда не отправляется.
Ключевое отличие от обычного счётчика в моде: статистика не спрашивает сервер и не верит внутриигровой таблице «на слово». Она разбирает записи и показывает только то, что в них действительно есть, честно отделяя «неизвестно» от нуля.
| Главная мысль. Автоматический сбор выключен по умолчанию. Пока вы его не включите или не нажмёте «Обновить», клиент ничего не сканирует и не разбирает в фоне. |
|---|
Что можно узнать
1. Словарь, без которого цифры врут
Эти пять понятий Q2PRO-X использует строго и не смешивает. Именно поэтому его числа отличаются от «сколько у меня файлов демок».
| Понятие | Что это значит |
|---|---|
| Наблюдаемый сеанс | Один различимый в записи эпизод подключения к серверу. Он может содержать наблюдение, разминку, проверку настроек или настоящую игру. Это не счётчик запусков игры и не автоматически матч. |
| Активная игра | Отрезок, где по авторитетному состоянию мода вы были заспавненным игроком, а не наблюдателем. Ноль фрагов не отменяет активной игры. |
| Официальный матч | Отрезок реального счёта, установленный фазой матча активного мода. Разминка и обратный отсчёт OpenTDM сюда не входят; обычной непрерывной игре OpenFFA отдельный «готов» не нужен, если сервер не объявляет разминку явно. |
| Значимый личный матч | Официальный матч, в котором у вас есть подтверждённый положительный личный вклад: фраг, засчитанное убийство или очки за задачу. Только этот класс матчей идёт в личную статистику интро. |
| Интервал наблюдения | Отрезок, положительно опознанный как наблюдение/чейз по записанной правде мода. Одно лишь отсутствие фрагов никогда не доказывает наблюдение. |
Из этого следуют два практических вывода:
1. Число матчей почти никогда не равно числу файлов демок — и это правильно.
2. Если мод не записал в демку то, что нужно для вывода, Q2PRO-X напишет «неизвестно», а не придумает ноль.
2. Где всё находится
| Что | Путь по меню |
|---|---|
| Настройки статистики | [[GEN:menu_path:q2prox_game_statistics]] |
| Состав личных фактов в интро | [[GEN:menu_path:q2prox_game_statistics_intro]] |
| Обозреватель демок | [[GEN:menu_path:q2prox_demobrowser]] |
| Проигрыватель демо и аналитика | [[GEN:menu_path:q2prox_demoanalytics]] |
Само окно статистики открывается кнопкой «Открыть статистику игры» на странице настроек, командой game_stats_open или назначенной клавишей переключения.
2.1. Страница настроек целиком
Статистика игры
| Тип | Раздел | Пункт | Переменная или переход | Что делает |
|---|---|---|---|---|
| Раздел | Сбор данных | Сбор данных | ||
| Переключатель | Сбор данных | Автоматическая статистика | cl_game_stats_auto | Включает или выключает параметр «автоматическая статистика». Применяется сразу. [Нет / Да] |
| Ползунок | Сбор данных | Период (дней) | cl_game_stats_days | Настраивает значение «период (дней)». Применяется сразу. |
| Ползунок | Сбор данных | Минимальный размер демки (КБ) | cl_game_stats_min_size_kb | Настраивает значение «минимальный размер демки (КБ)». Применяется сразу. |
| Переключатель | Сбор данных | Статистика в интро | cl_game_stats_intro | Включает или выключает параметр «статистика в интро». Применяется сразу. [Нет / Да] |
| Переход | Сбор данных | Состав статистики интро... | q2prox_game_statistics_intro | Выбор каждого типа личной статистики для интро. По умолчанию включены все пункты. |
| Раздел | Действия | Действия | ||
| Переход | Действия | Открыть статистику игры... | game_stats_open | Выполняет действие «открыть статистику игры». |
| Клавиша | Действия | Клавиша переключения | game_stats_toggle | Назначает клавишу для действия «клавиша переключения». |
| Переход | Действия | Обновить статистику | game_stats_refresh | Выполняет действие «обновить статистику». |
| Переход | Действия | Пересчитать текущий период | game_stats_rebuild | Выполняет действие «пересчитать текущий период». |
| Переход | Действия | Очистить факты матчей | game_stats_cache_clear | Выполняет действие «очистить факты матчей». |
| Переход | Действия | Сведения о библиотеке демок | game_stats_info | Выполняет действие «сведения о библиотеке демок». |
| Раздел | Вид и раскладка | Вид и раскладка | ||
| Ползунок | Вид и раскладка | Прозрачность | cl_game_stats_alpha | Настраивает значение «прозрачность». Применяется сразу. |
| Ползунок | Вид и раскладка | Масштаб текста | cl_game_stats_scale | Настраивает значение «масштаб текста» (0.1..3.0, шаг 0.01). Применяется сразу. |
| Переключатель | Вид и раскладка | Полный экран | cl_game_stats_fullscreen | Включает или выключает параметр «полный экран». Применяется сразу. [Нет / Да] |
| Переключатель | Вид и раскладка | Показывать подробности матча | cl_game_stats_show_details | Включает или выключает панель подробностей справа от таблицы. Применяется сразу. [Нет / Да] |
| Переключатель | Вид и раскладка | Цвета чередующихся строк | cl_game_stats_row_colors | Включает или выключает параметр «цвета чередующихся строк». Применяется сразу. [Нет / Да] |
| Переключатель | Вид и раскладка | Рабочая область с полями | cl_game_stats_pillarbox_workspace | Включает или выключает параметр «рабочая область с полями». Применяется сразу. [Нет / Да] |
| Переключатель | Вид и раскладка | Запоминать вкладку | cl_game_stats_remember_tab | Включает или выключает параметр «запоминать вкладку». Применяется сразу. [Нет / Да] |
3. Первый запуск за две минуты
1. Откройте [[GEN:menu_path:q2prox_game_statistics]].
2. Проверьте «Период (дни)». По умолчанию 7. Это целые локальные календарные дни: 0 — сегодняшний день с местной полуночи, 7 — последние семь календарных дней.
3. Нажмите «Обновить статистику». Клиент разберёт только новые и изменившиеся записи.
4. Нажмите «Открыть статистику игры».
5. На вкладке «Сводка» посмотрите итоги. Если результат выглядит пустым, откройте вкладку «Данные» — она объясняет, что именно осталось неизвестным и почему.
Если вы хотите, чтобы обновление происходило само при обычном холодном запуске, включите «Автоматическая статистика».
3.1. Кто считается «вами»
По умолчанию считается текущий ник из переменной name. Он учитывается всегда.
Если вы играли под несколькими никами, добавьте их в список своих имён. В окне статистики есть отдельный элемент выбора: он показывает ники, под которыми записаны ваши демки, с числом записей и датой последнего использования. Клик по строке добавляет или убирает ник.
| Переменная | Допустимые значения | Описание |
|---|---|---|
| cl_game_stats_names | пусто = только текущий ник; иначе до 32 ников через запятую, и всегда плюс текущий ник | Список ваших ДРУГИХ ников через запятую, считается тем же человеком. Текущий name учитывается ВСЕГДА — список дополняет вашу личность, а не заменяет её, поэтому вписанный старый ник не может отключить учёт матчей, которые вы играете сейчас. Пробелы по краям убираются, пустые элементы отбрасываются, повторы схлопываются, сравнение не учитывает регистр и «высокобитную» форму серверных имён. Список рядом с полем предлагает только те ники, под которыми действительно записаны ваши собственные демки. Изменение списка — это запрос по уже загруженным фактам: ни одна демка не перечитывается из-за смены ника. |
| Чужие имена сюда не попадают. Соперники, наблюдатели и участники MVD2 в списке предложений не появляются: это другие люди. Смена списка отвечает мгновенно и не разбирает записи заново. |
|---|
4. Сбор данных
4.1. Автоматический сбор
| Переменная | Допустимые значения | Описание |
|---|---|---|
| cl_game_stats_auto | 0=выкл. (по умолчанию) / 1=обновлять при холодном запуске | Автоматически обновляет библиотеку демок при подходящем «холодном» запуске в меню. По умолчанию выключено, и выключено означает действительно ноль фоновой работы: ни обхода каталогов, ни разбора демок, ни рабочего задания, ни карточек в интро. Прямой запуск карты, подключение, демка или URL подходящими не считаются, поэтому запуск сразу в игру анализ не запускает. |
Автоматический сбор срабатывает только при обычном холодном запуске: без карты, сервера, демки или адреса в командной строке. Это то же условие, по которому запускается интро.
4.2. Период анализа
| Переменная | Допустимые значения | Описание |
|---|---|---|
| cl_game_stats_days | 0 .. 3650 дней, по умолчанию 7 | Период статистики в целых ЛОКАЛЬНЫХ КАЛЕНДАРНЫХ днях. 0 — сегодня с локальной полуночи; 7 — с локальной полуночи семь календарных дней назад, включительно. Граница вычисляется по правилам часового пояса и перехода на летнее время, поэтому 23- и 25-часовые сутки считаются верно; это никогда не «сейчас минус N*86400» и никогда не дата из имени файла. Расширение окна разбирает только те демки, фактов по которым ещё нет. Сужение не разбирает ничего. |
Важная деталь: расширение периода разбирает только те записи, фактов по которым ещё нет. Сужение периода не разбирает ничего вообще — оно просто перестаёт показывать лишнее.
4.3. Минимальный размер записи
| Переменная | Допустимые значения | Описание |
|---|---|---|
| cl_game_stats_min_size_kb | 1 .. без максимума, в КиБ, по умолчанию 40 | Наименьший размер демки в кибибайтах, который Статистика игры вообще рассматривает. Демка в несколько килобайт — это заход и выход, а не матч, и её учёт искажает все проценты на вкладке «Сводка». Это фильтр по фактам, уже загруженным в память: изменение отвечает мгновенно и ничего не разбирает заново, а Браузер демок по-прежнему показывает все файлы. Отсеянные файлы посчитаны на вкладке «Данные», а не выброшены молча. Минимум — 1 КиБ; максимум не ограничен, потому что каким должен быть настоящий матч, решаешь ты. |
Несколько килобайт демки — это подключение и отключение, а не матч. Изменение порога отвечает мгновенно и ничего не разбирает заново; обозреватель демок при этом продолжает показывать все файлы, а число отброшенных видно на вкладке «Данные».
4.4. Три действия и чем они различаются
| Действие | Команда | Что делает |
|---|---|---|
| Обновить статистику | game_stats_refresh | Разбирает только новые и изменившиеся записи. Всё уже известное берётся готовым. |
| Пересобрать текущий период | game_stats_rebuild | Пересчитывает все записи периода с нуля. Дольше; это то, что нужно делать после изменений в самом разборе. |
| Очистить факты матчей | game_stats_cache_clear | Удаляет все сохранённые факты матчей. Метаданные файлов, демки, избранное и плейлисты остаются. Сначала спрашивает подтверждение. |
4.5. Как это работает в фоне
Разбор идёт в одном последовательном фоновом рабочем потоке и не блокирует игру. Обход папок с записями выполняется ровно один раз за поколение данных; и обозреватель демок, и окно статистики, и слой личных фактов интро — это запросы к одному опубликованному снимку, а не независимые обходы диска.
Результат хранится в одном общем файле индекса q2pro-x/demo_index.dat, в базовом каталоге игры. Один файл на всю установку: он не размножается по папкам модов. Запись выполняется атомарно — через временный файл с последующей заменой, поэтому прерванное обновление не может оставить повреждённый индекс.
Пользовательские намерения обозревателя демок (избранное, плейлисты) хранятся отдельно и никогда не удаляются очисткой фактов.
5. Окно статистики
Окно открывается поверх игры, перемещается, изменяется в размерах и закрывается клавишей Esc. В его заголовке есть кнопка шестерёнки — она открывает страницу настроек статистики в меню.
5.1. Семь вкладок
| Вкладка | Что показывает |
|---|---|
| Сводка | Итоги за выбранный период: матчи, победы и поражения, фраги, любимая карта и режим. |
| Матчи | Каждый матч отдельной строкой, сгруппировано по режимам. Двойной клик — проиграть демку. |
| Соперники | С кем вы играли. Имена берутся из финальной таблицы счёта — это единственное место, где клиентская демка их знает. |
| Карты | Карты: сколько матчей, победы и поражения, фраги и когда играли последний раз. |
| Режимы | Итоги по режимам игры: дуэль, FFA, TDM и остальные. |
| Поиск | Поиск по части слова: карта, ник соперника, мод, режим, имя файла демки. Регистр не важен. |
| Данные | Что было разобрано и что осталось неизвестным: файлы, факты, причины отсутствия результата. |
5.2. Панель подробностей
Панель справа описывает выделенную строку, а не повторяет её. Содержимое зависит от вкладки. На вкладках «Сводка» и «Данные» панель скрыта: там нет выделенной строки, там итоги.
Разделитель между таблицей и панелью перетаскивается мышью.
5.3. Воспроизведение записи
Кнопка «Проиграть» проигрывает демку выделенного матча; двойной клик по строке делает то же самое. Если запись сделана под другим модом, игра сначала переключится на него.
Кнопка всегда на экране. Когда она недоступна, подсказка объясняет, что нужно сделать: выделить строку матча на вкладке «Матчи» или «Поиск».
5.4. Вид и размещение
| Настройка | Что делает |
|---|---|
| Прозрачность | Непрозрачность фона окна, независимо от общей прозрачности HUD |
| Масштаб текста | Масштаб текста и оформления окна, независимо от общего масштаба HUD |
| Полный экран | Разворачивает окно на весь HUD и убирает уголок изменения размера |
| Показывать подробности | Показывает или прячет панель подробностей |
| Чередующиеся цвета строк | Читаемость длинных таблиц |
| Рабочая область в полях | Использовать всю поверхность вывода, включая чёрные поля по бокам |
| Запоминать вкладку | Открывать окно на той вкладке, что была активна в прошлый раз |
Положение и размер окна сохраняются автоматически. Команда game_stats_layout_reset возвращает размещение к значениям по умолчанию.
6. Что именно клиент может узнать из записи
6.1. Форматы
Разбираются собственные клиентские записи .dm2 и многопользовательские .mvd2. Формат определяет, какие сведения вообще доступны:
6.2. Моды
Границы матча определяются фазой матча активного мода, а не догадкой по счёту:
Q2PRO-X не притворяется, что понимает мод, которого не понимает. Если фаза матча не распознана, отрезок не станет «официальным матчем».
6.3. Вкладка «Данные» — честный отчёт
Именно здесь видно, почему результат выглядит так, а не иначе:
Если разбирать было нечего, время разбора показывается как «простой», а не как измеренный ноль: пустая фаза не должна выглядеть измерением.
7. Приватность и границы
8. Устранение неполадок
8.1. Статистика пустая
1. Откройте вкладку «Данные»: она прямо скажет, найдены ли файлы и что с ними произошло.
2. Проверьте период: возможно, ваши записи старше выбранного окна.
3. Проверьте минимальный размер записи: слишком короткие подключения отбрасываются намеренно.
4. Проверьте список своих ников: если вы играли под другим ником, добавьте его.
5. Нажмите «Обновить статистику» — при выключенном автоматическом сборе ничего не разбирается само.
8.2. Числа выглядят устаревшими
Нажмите «Обновить статистику». Если вы поменяли период в сторону расширения — разберутся только недостающие записи. Если результат всё равно кажется неверным, нажмите «Пересобрать текущий период».
8.3. Матчей меньше, чем демок
Это ожидаемо. Файл демки — не матч. Между ними стоят «наблюдаемый сеанс», «активная игра» и «официальный матч» из раздела 1. Наблюдение, разминка и короткие подключения матчами не считаются.
8.4. Соперники не показываются
Ники соперников клиентская запись знает только по финальной таблице счёта. Если матч не дошёл до неё — например, вы отключились раньше, — соперники по этой записи останутся неизвестными.
8.5. Диагностика
Команда game_stats_info печатает в консоль путь к индексу, версии схемы и декодеров, список корневых папок с записями, окно анализа, счётчики найденного/разобранного/повторно использованного, число обходов папок и состояние фонового рабочего потока.
Ту же информацию открывает кнопка «Информация о библиотеке демок» на странице настроек.
9. Краткая памятка
| Задача | Что сделать |
|---|---|
| Посмотреть итоги | «Открыть статистику игры» → вкладка «Сводка» |
| Понять, почему пусто | Вкладка «Данные» |
| Учесть старый ник | Элемент выбора ников в окне статистики |
| Собрать данные сейчас | «Обновить статистику» |
| Пересчитать всё заново | «Пересобрать текущий период» |
| Собирать автоматически | «Автоматическая статистика» → «Да» |
| Проиграть матч | Двойной клик по строке на вкладке «Матчи» |
| Забыть накопленное | «Очистить факты матчей» |