Skip to content

Run TQVaultAE under Linux - possible Solution that worked for me - need review please #534

@carosbits

Description

@carosbits

Summary

I tried a few steps to make TQVaultAE running under Linux with steam. Some of the solutions online did not really work for me.

This tutorial should show easy steps to run the vault under linux. Added TQVAultAE as a non-steam game, symlink of TQ character save files and a script to make backups from both TQ and TQVaultAE. I did not test the git feature of TQVaultAE.

TQVaultAE is written in .NET and yes, you can do it all manually with wine or bottles, but for me the following steps I took saved me a lot of trouble and time.

System Specs

  • CachyOS x86_64
  • Kernel Linux 6.16.2-2-cachyos

Steps to do

Install TQVaultAE

  1. Extract zip or install exe to desired location, example: ~/Documents/tqvault

Add TQVaultAE as a non steam game

  1. Add ~/Documents/tqvault/TQVaultAE.exe as a non steam game
    2.1 In steam UI go to Games -> Add a none steam Game to my library
    2.2 choose the exe and add it

Set compatibility mode for TQVaultAE.exe

  1. you need to set the compatibility mode for the exe
    3.1 right click on TQVaultAE.exe in your library overview
    3.2 click Properties
    3.3 go to compatibility and check "Force the use of a specific Steam Play compatibility tool"
    3.4 choose Proton Experimental
    3.5 close the window

Run TQVaultAE.exe

  1. Just click the play button. The app should start and you should see the UI. Errors will happen, that we fix afterwards.

Error fixings

  1. App should open and should find the titan quest installation automatically
    5.1 If it should not find it, you need to either select it at startup, or set it manually in UserConfig.xml
    5.2 Config for UserConfig.xml (my example)
<?xml version="1.0"?>
<UserSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipTitle>true</SkipTitle>
<LoadLastVault>true</LoadLastVault>
<LoadLastCharacter>true</LoadLastCharacter>
<LastVaultName>Main Vault</LastVaultName>
<LastCharacterName></LastCharacterName>
<AutoDetectLanguage>false</AutoDetectLanguage>
<AutoDetectGamePath>true</AutoDetectGamePath>
<TQLanguage>German</TQLanguage>
<VaultPath>C:\users\steamuser\Documents\My Games\Titan Quest\TQVaultData</VaultPath>
<LoadAllFiles>true</LoadAllFiles>
<SuppressWarnings>false</SuppressWarnings>
<CheckForNewVersions>false</CheckForNewVersions>
<AllowItemCopy>false</AllowItemCopy>
<AllowItemEdit>false</AllowItemEdit>
<TQITPath />
<TQPath />
<ModEnabled>false</ModEnabled>
<CustomMap />
<Scale>1</Scale>
<LoadAllFilesCompleted>true</LoadAllFilesCompleted>
<PlayerReadonly>true</PlayerReadonly>
<AllowCharacterEdit>false</AllowCharacterEdit>
<AllowCheats>false</AllowCheats>
<ForceGamePath />
<BaseFont>AlbertusMT</BaseFont>
<EnableDetailedTooltipView>true</EnableDetailedTooltipView>
<ItemBGColorOpacity>15</ItemBGColorOpacity>
<EnableItemRequirementRestriction>false</EnableItemRequirementRestriction>
<EnableHotReload>false</EnableHotReload>
<DisableTooltipEquipment>false</DisableTooltipEquipment>
<DisableTooltipStash>false</DisableTooltipStash>
<DisableTooltipTransfer>false</DisableTooltipTransfer>
<DisableTooltipRelic>false</DisableTooltipRelic>
<EnableTQVaultSounds>true</EnableTQVaultSounds>
<CSVDelimiter>Comma</CSVDelimiter>
<EnableEpicLegendaryAffixes>false</EnableEpicLegendaryAffixes>
<DisableAutoStacking>false</DisableAutoStacking>
<GitBackupEnabled>false</GitBackupEnabled>
<GitBackupRepository />
<DisableLegacyBackup>false</DisableLegacyBackup>
<GitBackupPlayerSavesEnabled>false</GitBackupPlayerSavesEnabled>
<EnableOriginalTQSupport>false</EnableOriginalTQSupport>
</UserSettings>

Stash and Relic error fixing

That app tells you that it can not find some files from TQ. This means it can not find the character save files of the game.
Therefore we need to symlink some paths.
Because we added TQVaultAE.exe as a non-steam game, we are already in the right prefix (pfx) and can copy/link files to the locations we need.
It is super useful that TQVaultAE.exe can read and write the symlink files.

  1. CLOSE THE APP (TQVaultAE) NOW!
  2. You need to sync the character save files to the install destination of TQVaultAE.exe. What folders do we need?Please search your /home/YOUR_USERNAME/.steam/steam/steamapps/compatdata folders to find the right ID (numbered folder).

For TQ Game Installation, my game id was 475150
For TQVaultAE.exe installation, game id was 2659468072

Please replace YOUR_USERNAME with yours.

Source (TITAN QUEST INSTALL PATH CHARACTER SAVES):
/home/YOUR_USERNAME/.steam/steam/steamapps/compatdata/475150/pfx/drive_c/users/steamuser/Documents/My Games/

Destination (TQVAULT INSTALL PATH):
/home/YOUR_USERNAME/.steam/steam/steamapps/compatdata/2659468072/pfx/drive_c/users/steamuser/Documents/

  1. You need to delete the "My Games" folder from the destination, otherwise the symlink will not be created successfully.
  2. Create the symlink
    Command to create symlink: ln -s TQAE-GAME-STEAM-PATH TQVault-STEAM-PATH
    Final command:
    ln -s /home/YOUR_USERNAME/.steam/steam/steamapps/compatdata/475150/pfx/drive_c/users/steamuser/Documents/"My Games"/ /home/YOUR_USERNAME/.steam/steam/steamapps/compatdata/2659468072/pfx/drive_c/users/steamuser/Documents/

And thats all, you can open the TQVaultAE.exe and choose characters and do your stash magic!

Additional

Maybe you should create a backup of all these files yourself. TQVault Data is not saved to the steam cloud. Just copy the data with this simple rsync script. Please set a destination path and make sure the folder exist.
I did not test the github backup feature! So this following solution made more sense to me.

Please set the right DESTINATION where you want to store your backups.

#!/bin/bash

DATE_TIME=$(date +%F_%H-%M-%S)
DESTINATION=/home/YOUR_USERNAME/Dokumente/TQBackups


if [ ! -d "$DESTINATION" ]; then
echo "Directory $DESTINATION does not exist, creating ..."
mkdir -p $DESTINATION/
echo "Directory $DESTINATION created!"
fi

echo "rsync TQAE save files ..."
if [ ! -d "$DESTINATION/TQAEINSTALL/$DATE_TIME/" ]; then
echo "Directory $DESTINATION/TQAEINSTALL/$DATE_TIME/ does not exist, creating ..."
mkdir -p $DESTINATION/TQAEINSTALL/$DATE_TIME/
echo "Directory $DESTINATION/TQAEINSTALL/$DATE_TIME/ created!"
fi

rsync -alh /home/YOUR_USERNAME/.steam/steam/steamapps/compatdata/475150/pfx/drive_c/users/steamuser/Documents/"My Games"/ "$DESTINATION/TQAEINSTALL/$DATE_TIME/"

echo "rsync TQVAULT save files ..."
if [ ! -d "$DESTINATION/TQVAULT/$DATE_TIME/" ]; then
echo "Directory $DESTINATION/TQVAULT/$DATE_TIME/ does not exist, creating ..."
mkdir -p $DESTINATION/TQVAULT/$DATE_TIME/
echo "Directory $DESTINATION/TQVAULT/$DATE_TIME/ created!"
fi

rsync -alh /home/YOUR_USERNAME/.steam/steam/steamapps/compatdata/2659468072/pfx/drive_c/users/steamuser/Documents/"My Games"/"Titan Quest"/TQVaultData/ "$DESTINATION/TQVAULT/$DATE_TIME"

echo "rsync done!"

You can just create a titantquestbackup.sh file in your documents and paste the content inside it. Then replace the DESTINATION with your location where you want to store the backup files. Then made the script executable with chmod +x titantquestbackup.sh. After you can run this script in your terminal by calling ./titantquestbackup.sh

I hope this will help someone out there! Feel free to optimize this!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions