Что такое формат файла VDF?
Файлы .VDF используют текстовый формат Valve KeyValues - иерархическую структуру данных «ключ-значение», разработанную для платформы Steam и игр на движке Source. Формат был представлен в 2004 году вместе со Steam и *Half-Life 2* и встречается в тысячах файлов конфигураций, манифестов и игровых данных в любой установке Steam.
Файл .vdf является обычным текстом: ключи в кавычках сопоставляются либо со строковыми значениями в кавычках, либо с вложенными блоками { }. Эта структура напоминает JSON, но не использует запятые или двоеточия. Типичные способы использования включают манифесты библиотек Steam, файлы конфигурации игр, настройки серверов и метаданные модов. Будучи человекочитаемыми, файлы .vdf можно открывать и редактировать в любом текстовом редакторе.
Также существует бинарный вариант KeyValues, используемый внутри некоторых компонентов движка, где теги типов закодированы в виде необработанных байтов. Формат эволюционировал от KeyValues 1 (движок Source, 2004) до KeyValues 2 и KeyValues3 (KV3, .kv3 / .vdata), представленного в Source 2 и используемого в Dota 2, CS2 и других проектах.
Примечание: Avira (ранее AntiVir) также использует расширение .vdf для своих файлов базы данных вирусных определений (vbase000.vdf), которые являются проприетарными бинарными данными, не связанными с форматом Valve.
Безопасность и защита
РИСК: LOWТекстовые файлы VDF - это безвредный обычный текст, они не могут исполнять код. Будьте осторожны при редактировании файлов манифеста Steam - поврежденный appmanifest может заставить Steam заново скачивать всю игру. Никогда не редактируйте бинарные файлы определений Avira .vdf; это может нарушить антивирусную защиту. Избегайте загрузки VDF-файлов «для исправления конфига Steam» из неофициальных источников - они могут перенаправить Steam на вредоносные серверы обновлений.
Детали формата
в двух словах- Avira AntiVir Virus Definition - Проприетарные бинарные файлы (vbase000.vdf, vbase001.vdf, …), содержащие антивирусные сигнатуры; загружаются автоматически Avira; публичная спецификация формата отсутствует.
- VariCAD Drawing File - Программное обеспечение VariCAD 3D/2D CAD использует .vdf для своего формата чертежей в Linux/Windows.
Программы, открывающие файлы VDF
Технические подробности
глубокая спецификация| Кодировка файла | Обычный текст (UTF-8 или UTF-16 LE) для стандартного VDF; бинарный для варианта KeyValues binary |
| Синтаксис | Рекурсивные пары «ключ-значение» в кавычках внутри блоков { }; без запятых и двоеточий (в отличие от JSON) |
| Версии формата | KeyValues 1 (движок Source, 2004); KeyValues 2; KeyValues3 / KV3 (Source 2, 2019) |
| Порядок байтов бинарного варианта | Little-endian; теги типов закодированы как одиночные байты перед каждым ключом и значением |
| Шифрование | Отсутствует; клиент Steam проверяет целостность манифеста извне с помощью контрольных сумм |
| Типичный размер файла | 1 КБ - 5 МБ (большинство конфигов маленькие; манифесты крупных библиотек могут достигать нескольких МБ) |
| MIME-тип | text/plain |
| Общие случаи использования | Манифесты библиотек Steam appmanifest_*.acf, файлы конфигурации игр, метаданные Workshop, настройки серверов |
| Поддерживаемые платформы | Windows, Linux, macOS (кроссплатформенный Steam) |
| Формат-преемник | KeyValues3 (.kv3 / .vdata) для проектов на Source 2, таких как Dota 2, CS2 и Half-Life: Alyx |
| Альтернативное использование .vdf | Файлы вирусных определений Avira AntiVir (vbase000.vdf) - бинарные данные, не связанные с форматом Valve |
| Выпущен | 2004 (with the Source engine and Steam) |
| Последняя версия | KeyValues3 (KV3, 2019, used in Dota 2 / Source 2) |
| Спецификация | developer.valvesoftware.com |
Конвертации VDF
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах VDF.