How to never lose your ship fittings and eve settings

This is a preemptive way to never use your EVE Online ingame settings, fittings and overview setups on Linux.

Since a buddy of mine is constantly losing his fits, I thought I should make this little guide for everyone to keep their ship fittings, overview settings and ingame settings.

What do you need for that?

  1. you need 7-zip
  2. a Dropbox or other cloud storage account (I will be using Dropbox for this)
  3. to edit your crontab

1 you can install 7-zip or 7z with the following command in a Linux shell:

apt install p7zip (for Linux Mint) or sudo apt install p7zip for Debian and Ubuntu

    • you can get a Dropbox package for Fedora, Ubuntu, Debian, Mint or whatever you like best here https://www.dropbox.com/install
      Download the package you need and install it by clicking on it once and your distribution will know what to do.
      Once you have installed the package, create a free account, which offers you 2GB of online storage, which is more than enough space for this.

Once you have an account and dropbox is installed, you need to log on to your account (once), so your account is linked to your online cloud storage.

For Dropbox on Ubuntu or Linux Mint, it will install a “Dropbox” folder in your home directory, like /home/YourUserName/Dropbox.
For this example, you create a subfolder in the Dropbox folder named EVE, so it will look like this:
$ /home/YourUserName/Dropbox/EVE/

Now we do a little bit of soft linking your folders, so they sync with your Dropbox online storage but before that, we move some EVE folder from your Documents folder to your Dropbox folder and create a “settings” subfolder in ~/Dropbox/EVE like this:

:~$ mkdir Dropbox/EVE/settings

:~$ mv Documents/EVE/Overview Drobox/EVE

:~$ mv Documents/EVE/fittings Drobox/EVE

Now we soft-link those new folders to your ~/Documents/EVE folder, so whenever you make changes, they will be synced with your Dropbox online storage and (hopefully) never get lost again:

:~$ ln -s Documents/EVE/settings Dropbox/EVE/settings

:~$ ln -s Documents/EVE/Overview Dropbox/EVE/Overview

:~$ ln -s Documents/EVE/fittings Dropbox/EVE/fittings

Only copy and paste the commands after the :~$ in a shell.

Now we create a first compressed backup of your settings in the invisible wine folder for Dropbox to sync for all eternity:

:~$ 7z u -t7z -mx=6 /home/YourUserName/Documents/EVE/settings/tq-settings.7z “/home/YourUserName/.wine/drive_c/users/YourUserName/Local Settings/Application Data/CCP/EVE/z_home_YourUserName_downloads_eve_sharedcache_tq_tranquility/settings_Default” for the Tranquility settings and

:~$ 7z u -t7z -mx=6 /home/YourUserName/Documents/EVE/settings/sisi-settings.7z “/home/YourUserName/.wine/drive_c/users/YourUserName/Local Settings/Application Data/CCP/EVE/z_home_YourUserName_downloads_eve_sharedcache_sisi_singularity/settings_Default”

IMPORTANT Note here:
make sure you replace YourUserName with your user name BEFORE you copy and paste those commands and yes you will need to keep the " as I wrote it here. This is for 7-zip and 7-zip does not like folder names with a space in it, so the " is mandatory.

Another important note here, your fittings and overview settings will from that day forward and if you are connected to the Internet and only then keep your fittings and overview settings synced to your Dropbox online storage.

However your settings need to be manually updates and I suggest you create a cronjob for that purpose:

  1. Editing your crontab.

:~$ crontab -e (which opens an empty crontab if you don’t have one already)

If you do not have a crontab yet, you will be asked, which editor you want to use and I find “nano” or option number 2 the easiest, so press 2 for nano.

It may look like this:

0 8 * * * which means that on minute 0 on the hour 8(am) every day of the month (like 1-31, all=), every week, every day of the week (or 1-7, all=) at 8:00am the following command will be executed, when you are logged on at the time, so choose a time when you are playing EVE like when you come home after work or you log on shortly before you go to work.
Nothing else but being logged on is required after editing the crontab.

0 8 * * * 7z u -t7z -mx=6 /home/YourUserName/Documents/EVE/settings/tq-settings.7z “/home/YourUserName/.wine/drive_c/users/YourUserName/Local Settings/Application Data/CCP/EVE/z_home_YourUserName_downloads_eve_sharedcache_tq_tranquility/settings_Default”

For your Tranquility settings and

30 8 * * * 7z u -t7z -mx=6 /home/YourUserName/Documents/EVE/settings/sisi-settings.7z “/home/YourUserName/.wine/drive_c/users/YourUserName/Local Settings/Application Data/CCP/EVE/z_home_YourUserName_downloads_eve_sharedcache_sisi_singularity/settings_Default”

for your Singularity settings. The line above updates your Singularity settings every day at 8:30am, as minutes are first, then hour, then day of month, then month, then day of the week as number code or ‘*’ for all (days of the month, week, weekday)

In case you chose “nano” as your editor, press CTRL+X for “exit nano” and then “y” without the " to save the crontab and activate the timer.

Now you are done.

1 Like

It’s a nice idea to use cron and an external storage for backup your settings. :slight_smile: In this form may it work for your installation but it is not portable for others. Your shared cache folder lies on your $HOME/Downloads folder and if you install EVE new like i has done yet, it lies in $WINEPREFIX/c_eve_sharedcache so that your command cannot find the settings path.
So i have used your command and expanded it to be more portable like so:

[gharim@amd4k3 bin]$ cat eve-sync.sh 
#!/bin/sh

set -ex

# use as WINEPREFIX=$HOME/.wine if no other specified

WINEPREFIX=${WINEPREFIX:-$HOME/.wine}

# 'xdg-user-dir DOCUMENTS' returns the full path to users localized document folder
# 'find' searches in given WINEPREFIX for eve settings folder

7z u -t7z "$(xdg-user-dir DOCUMENTS)"/EVE/settings/tq-settings.7z \
    "$(find $WINEPREFIX -type d -wholename '*_tranquility/settings_Default')"

7z u -t7z "$(xdg-user-dir DOCUMENTS)"/EVE/settings/sisi-settings.7z \
    "$(find $WINEPREFIX -type d -wholename '*_singularity/settings_Default')"

It’s a bit rough and has no error handling but you can see, how it works. Another question was the -mx=6 parameter for 7z. The documentation from my installed 7z knows only the values 0,1,3,5,7 or 9 for this but it works well without it.

– fly safe o7

1 Like

Oh my bad and cheers for correcting! Thanks a lot and Merry Christmas mate!

Thanks u2 :slight_smile: .
After Christmas i have revised the eve-sync script and now there are two scripts which i have tested on EVE Installations with Wine and Steam Proton. Works so far on both Setups here and maybe you want to try these on your Setup:

[gharim@amd4k3 bin]$ cat eve-backup.sh

#!/bin/sh

set -ex

# Default WINEPREFIX ist $HOME/.wine wenn kein anderer Wert angegeben wurde,
#  sollte der von EVE verwendete WINEPREFIX sein
WINEPREFIX=${WINEPREFIX:-$HOME/.wine}

# Proton WINEPREFIX
#WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/8500/pfx

# Lokalisierte Bezeichnung des Dokumente-Ordners als Sicherungs-Ordner zuweisen
BACKUPDIR=$(xdg-user-dir DOCUMENTS)

# EVE-Ordner im Sicherungs-Ordner verwenden wenn vorhanden
[ -d "$BACKUPDIR/EVE" ] && BACKUPDIR=$BACKUPDIR/EVE

# Benutzername zuweisen, Proton verwendet 'steamuser'
EVEUSER=$(whoami)
[ -d "$WINEPREFIX/drive_c/users/$EVEUSER" ] || EVEUSER=steamuser

cd "$WINEPREFIX/drive_c/users/$EVEUSER/Local Settings/Application Data/CCP/EVE"

# Ausgehend vom EVEUSER Settings-Pfad alle Client-Profile fuer alle SERVER suchen
for SERVER in tranquility singularity duality thunderdome ; do
    CLPROFILE="$(ls -d *_$SERVER 2>/dev/null || true)"
    [ "x$CLPROFILE" = "x" ] && continue
# Vorhandene Arbeitskopie als Backup speichern und neu anlegen
    [ -f "$BACKUPDIR/$SERVER-settings_current.7z" ] && \
	mv "$BACKUPDIR/$SERVER-settings_current.7z" "$BACKUPDIR/$SERVER-settings.7z"
# Im Profil-Ordner nur settings-Ordner sichern,
#  der Profilname kann sich bei einer Neuinstallation aendern
    cd "$CLPROFILE"
    7z u -t7z -xr!Browser "$BACKUPDIR/$SERVER-settings.7z" \
	-u- -u!"$BACKUPDIR/$SERVER-settings_current.7z" "settings_*"
    cd ..
done

[gharim@amd4k3 bin]$ cat eve-restore.sh

#!/bin/sh

set -ex

# Default WINEPREFIX ist $HOME/.wine wenn kein anderer Wert angegeben wurde,
#  sollte der von EVE verwendete WINEPREFIX sein
WINEPREFIX=${WINEPREFIX:-$HOME/.wine}

# Proton WINEPREFIX
#WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/8500/pfx

# Lokalisierte Bezeichnung des Dokumente-Ordners als Sicherungs-Ordner zuweisen
BACKUPDIR=$(xdg-user-dir DOCUMENTS)

# EVE-Ordner im Sicherungs-Ordner verwenden wenn vorhanden
[ -d "$BACKUPDIR/EVE" ] && BACKUPDIR=$BACKUPDIR/EVE

# Benutzername zuweisen, Proton verwendet 'steamuser'
EVEUSER=$(whoami)
[ -d "$WINEPREFIX/drive_c/users/$EVEUSER" ] || EVEUSER=steamuser

cd "$WINEPREFIX/drive_c/users/$EVEUSER/Local Settings/Application Data/CCP/EVE"

# HC SVNT DRACONES
#
# Absoluten SHAREDCACHEFOLDER-Pfad aus Registry auslesen und Format anpassen
if [ "$EVEUSER" = "steamuser" ] ;then
# Steam braucht ne Extrawurst. Im Augenblick wird Proton 4.11 verwendet, gegebenfalls Proton-Version anpassen
#  oder in Steam-Einstellungen unter Steam Play 'Proton 4.11-*' fuer alle Anwendungen benutzen
    export STEAM_COMPAT_DATA_PATH=${WINEPREFIX%/*}
    CACHEFOLDER=$("$HOME/.steam/steam/steamapps/common/Proton 4.11/proton" run reg query 'HKCU\Software\CCP\EVEONLINE' /v CACHEFOLDER | tr -d [:cntrl:])
else
# Standard-Wine benoetigt weniger Aufwand, zur Sicherheit den vollen Pfad zum verwendeten wine-binary angeben
    CACHEFOLDER=$(/usr/bin/wine reg query 'HKCU\Software\CCP\EVEONLINE' /v CACHEFOLDER | tr -d [:cntrl:])
fi
SHAREDCACHEFOLDER=$(echo ${CACHEFOLDER##*REG_SZ } | tr -d : | tr [:upper:] [:lower:] | sed 's,[\ ],_,g')

for SERVER in tranquility singularity duality thunderdome ; do
    [ -f "$BACKUPDIR/$SERVER-settings.7z" ] || continue
    case $SERVER in
	tranquility) SERVER_SHORT=tq ;;
	singularity) SERVER_SHORT=sisi ;;
	*)           SERVER_SHORT=$SERVER ;;
    esac
    [ -d "$SHAREDCACHEFOLDER""$SERVER_SHORT"_"$SERVER" ] || mkdir "$SHAREDCACHEFOLDER""$SERVER_SHORT"_"$SERVER"
    7z x "$BACKUPDIR/$SERVER-settings.7z" -o"$SHAREDCACHEFOLDER""$SERVER_SHORT"_"$SERVER" -y
done

Sorry for the german comments inside the scripts, i was too lazy to translate them :smiley: .
Using Proton was a bit difficult, because it doesn’t symlink to user’s Document Folder like a standard Wine does. Let me know, if you have improvements or found some glitches.

– fly safe o7

Ups, forgot to enable EVE-Directory in user’s Documents in eve-backup.sh should work now.

1 Like

No worries, I am German, I’ll manage.

So I have one comment about the script. It assumes I have wine installed from wineHQ, whichever flavor you like but I don’t.

My experiment currently was to only install Steam for Linux and let Steam install EVE Online.

So yes, you only need to install Steam for Linux and let the Steam client install EVE Online, nothing else is required to play EVE Online with Proton (Vulkan™) enabled by default.
It’s also true for other windoze games, as far as I have tested.

In your script I only would need to comment out the .wine prefix and un-comment the steam one.
(Oh and btw, you can remove the “Browser” folder from your settings before you start the script, so it’s gone forever).

Should be awesome for offline backups, no question!

Maybe are the Browser folder a relic from the ingame www-browser.
If you only use Steam with Proton to run EVE then you can simplify the scripts like so:

[gharim@amd4k3 bin]$ cat evebackup.sh

#!/bin/sh

set -e

# EVE settings backup, Proton only

WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/8500/pfx

BACKUPDIR=$(xdg-user-dir DOCUMENTS)

cd "$WINEPREFIX/drive_c/users/steamuser/Local Settings/Application Data/CCP/EVE"

for SERVER in tranquility singularity duality thunderdome ; do
    CLPROFILE="$(ls -d *_$SERVER 2>/dev/null || true)"
    [ "x$CLPROFILE" = "x" ] && continue
    [ -f "$BACKUPDIR/$SERVER-settings_current.7z" ] && \
	mv "$BACKUPDIR/$SERVER-settings_current.7z" "$BACKUPDIR/$SERVER-settings.7z"
    cd "$CLPROFILE"
    7z u -t7z -xr!Browser "$BACKUPDIR/$SERVER-settings.7z" \
	-u- -u!"$BACKUPDIR/$SERVER-settings_current.7z" "settings_*"
    cd ..
done

[gharim@amd4k3 bin]$ cat everestore.sh

#!/bin/sh

set -e

# EVE settings restore, Proton only

WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/8500/pfx

BACKUPDIR=$(xdg-user-dir DOCUMENTS)

cd "$WINEPREFIX/drive_c/users/steamuser/Local Settings/Application Data/CCP/EVE"

export STEAM_COMPAT_DATA_PATH=${WINEPREFIX%/*}
CACHEFOLDER=$("$HOME/.steam/steam/steamapps/common/Proton 4.11/proton" run reg query 'HKCU\Software\CCP\EVEONLINE' /v CACHEFOLDER | tr -d [:cntrl:])

SHAREDCACHEFOLDER=$(echo ${CACHEFOLDER##*REG_SZ } | tr -d : | tr [:upper:] [:lower:] | sed 's,[\ ],_,g')

for SERVER in tranquility singularity duality thunderdome ; do
    [ -f "$BACKUPDIR/$SERVER-settings.7z" ] || continue
    case $SERVER in
	tranquility) SERVER_SHORT=tq ;;
	singularity) SERVER_SHORT=sisi ;;
	*)           SERVER_SHORT=$SERVER ;;
    esac
    [ -d "$SHAREDCACHEFOLDER""$SERVER_SHORT"_"$SERVER" ] || mkdir "$SHAREDCACHEFOLDER""$SERVER_SHORT"_"$SERVER"
    7z x "$BACKUPDIR/$SERVER-settings.7z" -o"$SHAREDCACHEFOLDER""$SERVER_SHORT"_"$SERVER" -y
done

Without handling the standard wine and no comments are these a lot shorter :wink: .
So i have this mess ported to my evesetup project after weeks, where i has no idea, how to handle a usuable restore function. Thanks a lot to give me some hints to handle this here.

“Komm gut rein” :smiley: and see you next year.

– fly safe o7

1 Like

Danke und guten Rutsch!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.