Closed Kazlehoff closed 1 year ago
It's just a symlink 🙂
The compatdata and shadercache get moved, verified and then symlinked. As long as your script uses standard Linux tooling it should be able to transparently copy into the symlink, but if not then you may need to find the symlink's pointer (if present) then use that to determine where to copy.
The .sh is pretty simple. Linked here for refrence:
#!/bin/bash
# Copy plugins.txt and loadorder.txt to Skyrim Special Edition directory
echo "Copying Plugin and Loadorder"
cp plugins.txt /home/deck/.local/share/Steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/AppData/Local/Skyrim\ Special\ Edition/
cp loadorder.txt /home/deck/.local/share/Steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/AppData/Local/Skyrim\ Special\ Edition/
# Copy SkyrimPrefs.ini and Skyrim.ini to My Games/Skyrim Special Edition directory
echo "Copying inis, if they are present."
if [ -f "Skyrim.ini" ] && [ -f "SkyrimPrefs.ini" ] && [ -f "SkyrimCustom.ini" ]; then
cp "Skyrim.ini" "/home/deck/.local/share/Steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/Documents/My Games/Skyrim Special Edition/"
cp "SkyrimPrefs.ini" "/home/deck/.local/share/Steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/Documents/My Games/Skyrim Special Edition/"
cp "SkyrimCustom.ini" "/home/deck/.local/share/Steam/steamapps/compatdata/489830/pfx/drive_c/users/steamuser/Documents/My Games/Skyrim Special Edition/"
fi
# Ask if the user needs to copy the Skyrim folder
read -p "Do you need to copy the Skyrim folder? (y/n) " copySkyrim
if [ "$copySkyrim" == "y" ]; then
# Ask if Skyrim is installed on SD or internal storage
read -p "Is Skyrim installed on SD or internal storage? " storageType
if [ "$storageType" == "sd" ] || [ "$storageType" == "SD" ]; then
echo "Copying Skyrim to SD Card. Please be patient. once complete, you will be notified."
cp -r "Skyrim Special Edition" "/run/media/mmcblk0p1/steamapps/common/"
elif [ "$storageType" == "internal" ]; then
echo "Copying Skyrim to Internal Storage. Please be patient. once complete, you will be notified."
cp -r "Skyrim Special Edition" "/home/deck/.local/share/Steam/steamapps/common/"
fi
fi
echo "Transfer complete. You can now close this window."
Yeah that should work just fine through the symlink 🤔
awesome. thanks, appreciate the info. :D
Hi Cryobyte. Im looking for a bit of additional information.
I have made a couple of scripts to help people modding Skyrim on the Steam Deck copy files from their windows PC to a USB device, then from the USB device to their steam deck. its a batch file, and a shell script.
None of it is super advanced (if you'd like to take a look, i'll link my archive on mega) but i have a question.
Part of Skyrim involves the Compatdata folder. Its Ini's, two text files relating to mods (plugins.txt and loadorder.txt), plus its save files and logs.
my shell script for copying to the deck takes into account the location for the compatdata folder should always be /home/deck/.local/share/Steam/steamapps/compatdata/48930/.
What im trying to figure out I cant just your app, because your app doesnt like games installed on SD for my particular system for absolutely no known reason, is how that compatdata folder move is accomplished. is it Symlinks?
what happens when a user who has copied their 48930 compatdata folder to a different location with your app then tries to copy to the default compatdata/48930 location on the internal storage?