# XIVLauncher OTP Wrapper This is a simple wrapper script for Linux that launches `xivlauncher-core` and automatically injects your One-Time Password (OTP) when the launcher requests it. ## Setup 1. **Configure:** Create the configuration directory and copy the example config. ```bash mkdir -p ~/.config/xivlauncher-wrapper cp config.example.json ~/.config/xivlauncher-wrapper/config.json nano ~/.config/xivlauncher-wrapper/config.json ``` * `secret`: Enter your TOTP secret key (in Base32 format, usually provided when you set up your authenticator app). * `launcher_cmd`: The command to launch XIVLauncher (default: `xivlauncher-core`). 2. **Make Executable:** Ensure the script is executable: ```bash chmod +x wrapper.py ``` 3. **XIVLauncher Settings:** Ensure that "Enable XL Authenticator app/OTP macro support" is enabled in XIVLauncher settings. ## Usage Simply run the wrapper instead of the launcher: ```bash ./wrapper.py ``` The script will: 1. Launch XIVLauncher. 2. Wait for the launcher to start its local HTTP server (port 4646). 3. Generate the current OTP code. 4. Send it to the launcher automatically. ## Steam Deck / Linux Desktop Installation For Steam Deck or standard Linux desktop users, you can use the provided installer script to set everything up automatically. 1. **Run the Installer:** ```bash ./install-steamdeck.sh ``` Follow the prompts to enter your OTP secret. 2. **What it does:** * Creates the configuration file with your secret. * Installs the wrapper to `~/.local/bin/xivlauncher-wrapper`. * Installs a `.desktop` file to `~/.local/share/applications/` so it appears in your application menu (and can be added to Steam as a non-Steam game). 3. **Steam Integration:** * Switch to Desktop Mode. * Open Steam. * "Games" -> "Add a Non-Steam Game to My Library". * Select "XIVLauncher Wrapper" from the list. * Return to Gaming Mode and launch "XIVLauncher Wrapper".