Launcher-v2.sqlite

| Feature | Benefit | |---------|---------| | | Multiple launcher processes can read/write safely. | | Transactional writes | Corruptions less likely (atomic commits). | | Queryable JSON | JSON functions allow complex searches without parsing whole files. | | Binary large objects | Can store icons, thumbnails, or serialized UI state. | | Versioning | Schema evolves via PRAGMA user_version ; launcher migrates automatically. | 3. Database Schema (as of Launcher v2.10+) The schema is not officially documented but can be explored using any SQLite browser (DB Browser for SQLite, SQLiteStudio, or sqlite3 CLI). Below are the main tables found in current versions. 3.1 Table: accounts Stores Microsoft (or Mojang) accounts.

CREATE TABLE installations ( installation_id TEXT PRIMARY KEY, version_name TEXT, -- e.g., "1.20.4" version_type TEXT, -- "release", "snapshot", "old_beta", "modded" java_version_requirement TEXT, -- e.g., "17", "8", "any" last_played INTEGER, play_count INTEGER, metadata_json TEXT -- JSON: libraries, mainClass, arguments, etc. ); Key-value store for launcher UI preferences. launcher-v2.sqlite

CREATE TABLE profiles ( profile_id TEXT PRIMARY KEY, -- GUID or UUID name TEXT NOT NULL, created_at INTEGER, last_used_at INTEGER, icon_key TEXT, -- Reference to stored icon settings_json TEXT -- JSON: resolution, JVM args, game directory, etc. ); Example settings_json : | Feature | Benefit | |---------|---------| | |

launcher-v2.sqlite is an SQLite database file used by the new Minecraft Launcher (rewritten around 2019–2021, sometimes called the "Launcher v2" or "Unified Launcher"). It replaces older file-based configurations ( launcher_profiles.json , launcher_settings.json , launcher_ui_state.json , etc.). | | Binary large objects | Can store

CREATE TABLE accounts ( uuid TEXT PRIMARY KEY, -- Minecraft UUID (dashless) msal_account_identifier TEXT, -- Microsoft Entra ID (formerly Azure AD) username TEXT, -- Gamertag / username access_token TEXT, -- OAuth2 access token (encrypted) refresh_token TEXT, -- OAuth2 refresh token (encrypted) expires_at INTEGER, -- Unix timestamp (ms) last_used INTEGER, -- Unix timestamp (ms) offline_allowed BOOLEAN, user_properties TEXT -- JSON: skin, cape, etc. ); Tokens are encrypted using OS credential manager (DPAPI on Windows, Keychain on macOS, libsecret on Linux). Raw tokens are not stored in plaintext. 3.2 Table: profiles Contains launcher profiles (different from Minecraft "world" profiles).

"resolution": "width": 1920, "height": 1080, "javaArgs": "-Xmx2G -XX:+UseG1GC", "gameDir": "C:/Minecraft/Profiles/Modded", "launcherVisibility": "CLOSE_ON_START"

Stores version installations (like "release 1.20.4", "snapshot 24w10a", or modded versions from third-party launchers like Fabric/Forge).