You can sign up to get a daily email of our articles, see the Mailing List page.
We do often include affiliate links to earn us some pennies. See more here.

LGSO - Organize Your Game Saves

By Tux1c - | Views: 14,873
With the new arrival of Steam games to Linux came the messy Windows-ish file-structures of the games. They get scattered all around your hard drive without you having a clue what is actually going on which we already talked about before.

I have decided to try and help with that matter, and wrote a simple bash script that would take all of your save data, move it to your home//.local/share/games, and create symlinks instead of the actual save data, so the games would be able to access the new save location. I call that script LGSO (Linux Game Saves Organizer).

The script is far from perfect and I have a lot to add, but the basics of the script are already there, and it is fully usable.

As the documentations of Linux games are very poor, I've struggled with finding game save paths, and therefore LGSO currently only supports 4 games: 3089, 7 Days to Die, Blade of Destiny and Planet Explorer. It needs help to support many more.

The main goals of my script are to tweak it a little bit more (add a backup\restore function, easy customization) and to maintain a wiki with all of the save paths, for others to be able to refer to.

LGSO is available at GitHub: https://github.com/Tux1c/LGSO

And you can currently contribute by either reporting bugs and issues, giving locations of game saves, or submitting Pull Requests with pieces of code you think should be implemented! Article taken from GamingOnLinux.com.
Tags: Toolkit
0 Likes
The comments on this article are closed.
20 comments
Page: «2/2
  Go to:

iensensama Oct 16, 2014
Yes, good initiative (but wouldn't symlinking just leave equally annoying symlinks in the same locations?). In any case I would like to contribute, so I have compiled a list of all my offending Steam games...

But I am simply not going to create 50+ issues on github... Perhaps emailing or pm'ing a list in your desired format would be preferable to everyone involved? (or an editable wiki as suggested)
Tux1c Oct 16, 2014
Quoting: iensensamaYes, good initiative (but wouldn't symlinking just leave equally annoying symlinks in the same locations?). In any case I would like to contribute, so I have compiled a list of all my offending Steam games...

But I am simply not going to create 50+ issues on github... Perhaps emailing or pm'ing a list in your desired format would be preferable to everyone involved? (or an editable wiki as suggested)
Thank you very much!
For now, you can PM your list to me directly here on GOL, until I will resolve the wiki, working on other important suggestions :)
N30N Oct 16, 2014
Quoting: iensensamabut wouldn't symlinking just leave equally annoying symlinks in the same locations?
Yep. As I mentioned in the comments of the previous post, there are existing tools that can handle this cleanly (rewritefs.
Guest Oct 16, 2014
Looks like I missed the original topic.

Virtually all applications will adhere to the $HOME variable (for obvious reasons); you can just redeclare it for that application.

For example, by default mplayer puts a .mplayer in your home directory:
% mplayer &>/dev/null
% find . -type d -name .mplayer
./.mplayer


By prefixing the command with a variable, you can override that variable only for that application (or sub process). Eg:
% rm -r .mplayer
% mkdir test
% HOME=/home/edgley/test mplayer &>/dev/null
% find . -type d -name .mplayer
./test/.mplayer


Just for clarity, declaring the variable this way doesn't override your sessions variable:
% HOME=/home/edgley/test /bin/true; echo $HOME
/home/edgley


The target directory tends to need to exist; though if you know you don't need the crap it created (like mplayer) you could always set the HOME variable to /dev/null or just use a non existent directory (although you will generate errors that way).

This has worked fine for me for a long time.
minj Oct 16, 2014
~$ grep Exec ~/.local/share/applications/steam.desktop 
Exec=env HOME=/home/user/documents/games optirun steam %
Guest Oct 16, 2014
Quoting: minj<code>~$ grep Exec ~/.local/share/applications/steam.desktop
Exec=env HOME=/home/user/documents/games optirun steam %</code>

Only applies if you have / use the .desktop file:

% grep Exec /bin/steam || echo $?
1
sev Oct 16, 2014
This is not happening to me at all. What am I doing right?
philip550c Oct 16, 2014
Quoting: sevThis is not happening to me at all. What am I doing right?
You mean you dont have random game folders all over the place? If so than you just havent installed a lot of games or at least not ones that make folders all over. Or you're not noticing it.
kozec Oct 17, 2014
Looking at that readme... May I ask, where in the world you saw GNU\Linux written with backslash? :D
Tux1c Oct 17, 2014
Quoting: kozecLooking at that readme... May I ask, where in the world you saw GNU\Linux written with backslash? :D

Tehehe, will fix
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.