# Non-Steam Shortcuts через Binary VDF ## Формат файла Shortcuts хранятся в бинарном VDF: `~/.steam/steam/userdata/147839491/config/shortcuts.vdf` **Это НЕ текстовый файл** — редактировать через обычную замену строк нельзя, потому что: - Каждое поле хранится с длиной строки - Замена строки на другую длины ломает весь файл - Steam после запуска может перезаписать сломанный файл, удалив все non-Steam игры ## Безопасный способ — Python ```python import os, struct vdf_path = os.path.expanduser('~/.steam/steam/userdata/147839491/config/shortcuts.vdf') # 1. Всегда делать бэкап import shutil shutil.copy2(vdf_path, vdf_path + '.bak') with open(vdf_path, 'rb') as f: data = bytearray(f.read()) # Helper: string field def sf(name, value): nb = name.encode() + b'\x00' vb = value.encode() + b'\x00' return bytes([0x01, len(nb)]) + nb + bytes([len(vb)]) + vb # Helper: int field def zf(name, value): nb = name.encode() + b'\x00' vb = struct.pack(' 2000000000 чтобы не конфликтовать с реальными Steam AppID)