Skip to content

RU Profile System

Barden edited this page Aug 27, 2026 · 2 revisions

📁 Система профилей и обмен настройками

🌐 Language / Язык: English | Русский

vWheel Hub оснащен интуитивной 3-ступенчатой системой каскадного наследования профилей (ИграКлассМашина), отдельным независимым профилем Universal, независимым от частоты хранения Schema V2, транзакционной историей Undo / Redo и компактным кодеком Share-кодов.


🌳 3-Ступенчатая иерархия профилей (Игра ➔ Класс ➔ Машина)

Разным симуляторам, классам и конкретным автомобилям требуются индивидуальные настройки. Например, Ferrari 499P (Hypercar) в Le Mans Ultimate требует угла выворота руля $580^\circ$ и прогрессивных кривых торможения под высокую прижимную силу, тогда как Porsche 911 GT3 R в Assetto Corsa Competizione требует выворота $540^\circ$ и настроенных порогов сцепления ABS.

В vWheel Hub настройки организованы в четкую 3-ступенчатую иерархию:

graph TD
    G["1. Профиль игры (напр. Le Mans Ultimate)"]
    C["2. Профиль класса (напр. Hypercar / GT3 / LMP2)"]
    M["3. Профиль модели (напр. Ferrari 499P)"]
    U["Автономный: Профиль Universal"]

    G --> C --> M
Loading

Каскадное наследование (Cascading Nullable Inheritance):

  1. Уровень модели машины (Car Model): Когда вы садитесь за руль конкретной машины, vWheel Hub в первую очередь проверяет наличие пользовательского переопределения для этой модели.
  2. Откат к уровню класса (Car Class): Если параметр не переопределен (unset), он автоматически наследует значение из профиля класса.
  3. Откат к уровню игры (Game Context): Если у класса значение не переопределено, берется базовая настройка из главного профиля игры.
  4. Универсальные значения по умолчанию: Глобальные базовые значения задаются внутренним системным профилем.

Tip

Минимум усилий: Достаточно один раз настроить общую чувствительность мыши и частоту опроса на уровне Игры, а затем точечно переопределять только специфичные параметры (угол руля, время атаки тормоза или порог пробуксовки TC) для конкретных машин или классов!


💾 Архитектура хранения Schema V2 и безопасность файлов

Все профили сохраняются в понятном формате JSON по пути %USERPROFILE%\Documents\vWheel Hub\Profiles\.

Ключевые механизмы безопасности:

  • Версия схемы 2 (Schema V2): Все скорости педалей сохраняются в физических единицах в секунду, гарантируя идентичное поведение профиля независимо от частоты опроса и оборудования.
  • Синхронизация частоты опроса: Параметр PollingRate синхронизируется на уровне игры и действует на все вложенные классы и машины.
  • Атомарная запись файлов: Профили сначала записываются во временные файлы .tmp и атомарно заменяют оригинал, исключая повреждение данных при сбое питания или краше игры.
  • Защита от зарезервированных имен DOS: Имена файлов экранируются от системных зарезервированных имен Windows (напр. CON, PRN, AUX, NUL, COM1..9, LPT1..9) с добавлением подчеркивания (NUL_.json).
  • Карантин поврежденных файлов: При обнаружении синтаксически поврежденного JSON файл автоматически перемещается в .corrupt-<timestamp>.json с безопасным сбросом до дефолтных настроек.

🧠 Интеграция с самообучающимся кэшем (Adaptive Grid Cache)

Adaptive Grid Cache (изучающий оптимальные пределы зацепа для ABS и Traction Control) разделяется по той же самой иерархии профилей:

%LOCALAPPDATA%\vWheel Hub\Cache\
├── ABS\
│   └── Le Mans Ultimate\
│       └── Hypercar\
│           └── Ferrari 499P\
│               ├── dry.json
│               └── wet.json
└── TC\
    └── Assetto Corsa Competizione\
        └── GT3\
            └── Ferrari 296 GT3\
                ├── dry.json
                └── wet.json

При смене машины или класса vWheel Hub мгновенно переключается на матрицу обучения выбранного автомобиля!


🌐 Автономный универсальный профиль (Universal Profile)

Профиль Universal существует как независимый автономный профиль для любых автосимуляторов, неподдерживаемых игр или аркад (Forza Horizon, Wreckfest, City Car Driving). Он позволяет сохранять универсальный пресет управления мышью и клавиатурой, надежно работающий в любых играх без создания отдельных профилей.


↩️ Транзакционная история изменений (Undo & Redo History)

Вы больше никогда случайно не потеряете тонкую настройку:

  • Отмена (Ctrl + Z): Мгновенно возвращает предыдущее значение измененного параметра.
  • Повтор (Ctrl + Y): Применяет отмененное действие обратно.
  • Любое движение ползунка, переключение чекбокса и переназначение клавиш сохраняется во внутреннем стеке транзакций.

📤 Обмен профилями (Share-коды и файлы)

vWheel Hub позволяет легко делиться готовыми сетапами с друзьями и сообществом автосимуляторов.

flowchart LR
    A[JSON-профиль пользователя] -->|Сжатие Deflate| B[Компактный бинарный буфер]
    B -->|Кодирование Base64 URL-Safe| C["Share-код VWH1-"]
    C -->|Отправка в Discord / форум| D[vWheel Hub друга]
    D -->|Безопасная распаковка и валидация| E[Предпросмотр в окне импорта]
Loading

1. Компактные Share-коды (VWH1-...)

  1. Нажмите кнопку «Export Profile» в верхней панели навигации.
  2. vWheel Hub сожмет JSON профиля алгоритмом Deflate и закодирует его в короткую строку, начинающуюся с VWH1-.
  3. Нажмите «Copy Share Code» и отправьте его в Discord, чат стрима или на форум!

2. Экспорт файлов .vwh

Вы также можете сохранять готовые пакеты настроек в виде автономных файлов .vwh для архивации на диске или отправки вложениями.

3. Импорт профилей и защита от атак

  1. Нажмите «Import Profile».
  2. Вставьте Share-код VWH1- или укажите файл .vwh.
  3. Интерактивное окно импорта покажет автора, описание и позволит выбрать, применить ли настройки к текущей машине, классу или создать новый профиль.
  4. Защита безопасности: Декомпрессор строго ограничивает максимальный объем распаковки (до 1 МБ) для защиты от атак типа «Deflate bomb».

⏭️ Следующие шаги

Clone this wiki locally