Overclock.net › Forums › Video Games › PC Gaming › [OPEN SOURCE] Automatic Steam Backup/Restore Tool
New Posts  All Forums:Forum Nav:

[OPEN SOURCE] Automatic Steam Backup/Restore Tool

post #1 of 228
Thread Starter 
Hi guys,

This tool has been created to replace the built in Steam backup and restore utility. Generally speaking it will compress games faster and/or smaller (depending on the settings) than the default backup feature in Steam. This tool also tends to be a lot more stable and it doesn't break the file into segments unlike the utility built into steam.

Main Features:
  • Includes a command line interface so you can setup scheduled backups.
  • After the initial Backup you have the ability to only backup games that have been updated since the previous update.
  • Choose what games to backup and restore.
  • Choose to restore to an alternative steam library.*
  • Automatically installs games after restore.*
  • Fully multithreaded and optimized for up to 8 core CPUs.
  • Choose the compression level and how many thread to use.
  • Will only use "spare" CPU time.
  • Can automatically find steam folder.
  • Checks online for new updates.
  • High compression ratio due to 7z's excellent LZMA and LZMA2 compression algorithms.

* If the game uses steams new cache format and this cache has the correct information available.

Download Here:
Steam Backup Tool
Source

Change List

This program requires .NET Framework 4.0.

Screen Shots:
Preview of version 1.6.1.1
Edited by Du-z - 5/29/14 at 4:01am
post #2 of 228
This looks good. Thanks! +
Master Chieferrr
(15 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II 965 - stock clock ASUS M4A87TD EVO GTX 465 - stock clock 8GB Kingston HyperX Genesis 
Hard DriveCoolingOSMonitor
146GB SAS Cheetah + 1TB F3 Air Windows 7 Ultimate 64-bit 24" Asus VW246H 1080p 
KeyboardPowerCaseMouse
Logitech G15 OCZ ModXtreme Pro 600w Cooler Master Centurion 5 Logitech G5 
Audio
Cyber Audio 2.1 
  hide details  
Reply
Master Chieferrr
(15 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II 965 - stock clock ASUS M4A87TD EVO GTX 465 - stock clock 8GB Kingston HyperX Genesis 
Hard DriveCoolingOSMonitor
146GB SAS Cheetah + 1TB F3 Air Windows 7 Ultimate 64-bit 24" Asus VW246H 1080p 
KeyboardPowerCaseMouse
Logitech G15 OCZ ModXtreme Pro 600w Cooler Master Centurion 5 Logitech G5 
Audio
Cyber Audio 2.1 
  hide details  
Reply
post #3 of 228
This is awesome, +1
My System
(14 items)
 
  
CPUMotherboardGraphicsRAM
Core i7-2600k 4.6GHz Asus Z77 Sabertooth GTX 680 SLI 2GB 16GB Kingston DDR3 1600Mhz 
Hard DriveOSMonitorKeyboard
Corsair Neutron GTX 240GB Windows 8 x64 Pro Iiyama G2773HS 120Hz Corsair K90 
PowerCaseMouseMouse Pad
Corsair AX850 Fractal Arc Midi Corsair M60 Puretrak Talent 
Audio
Asus Xonar STX 
  hide details  
Reply
My System
(14 items)
 
  
CPUMotherboardGraphicsRAM
Core i7-2600k 4.6GHz Asus Z77 Sabertooth GTX 680 SLI 2GB 16GB Kingston DDR3 1600Mhz 
Hard DriveOSMonitorKeyboard
Corsair Neutron GTX 240GB Windows 8 x64 Pro Iiyama G2773HS 120Hz Corsair K90 
PowerCaseMouseMouse Pad
Corsair AX850 Fractal Arc Midi Corsair M60 Puretrak Talent 
Audio
Asus Xonar STX 
  hide details  
Reply
post #4 of 228
Thread Starter 
Quote:
Originally Posted by Stealth2o;12788668 
This looks good. Thanks! +
Quote:
Originally Posted by Outcasst;12788675 
This is awesome, +1

Thanks, I was surprised that i couldn't find anything that does this in the whole interwebs.

(implying the the internet is something you go into)
post #5 of 228
Thread Starter 
Well the script has finished and it has compressed my 501GB folder to 324GB. It worked well! smile.gif
post #6 of 228
Good schtuff helpinghand.gif.
SkyNet
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-4670K @ Stock Gigabyte Z87X-UD3H 2x EVGA GeForce GTX 780 SLI Corsair Vengeance CMZ16GX3M2A1600C9 16GB (2x8GB... 
Hard DriveOptical DriveOSMonitor
2x Western Digital Caviar Black 640GB in RAID 0 Pioneer Blu-Ray Combo Drive Windows 7 Home Premium 64-bit Alienware OptX AW2310 120Hz 
KeyboardPowerCaseMouse
Razer Lycosa Gaming Keyboard Edition Corsair HX-1000W Corsair 900r Razer Mamba Gaming Mouse Blue 
  hide details  
Reply
SkyNet
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-4670K @ Stock Gigabyte Z87X-UD3H 2x EVGA GeForce GTX 780 SLI Corsair Vengeance CMZ16GX3M2A1600C9 16GB (2x8GB... 
Hard DriveOptical DriveOSMonitor
2x Western Digital Caviar Black 640GB in RAID 0 Pioneer Blu-Ray Combo Drive Windows 7 Home Premium 64-bit Alienware OptX AW2310 120Hz 
KeyboardPowerCaseMouse
Razer Lycosa Gaming Keyboard Edition Corsair HX-1000W Corsair 900r Razer Mamba Gaming Mouse Blue 
  hide details  
Reply
post #7 of 228
Very good! Rep+
Saosin
(13 items)
 
  
CPUMotherboardGraphicsRAM
Core i7 2600K Asus Gene-Z Gen3 MSI Lightning 780 16gb G.Skill Trident X 
Hard DriveHard DriveCoolingOS
Samsung 128gb 830  2x Samsung 1tb F3 - 2x Samsung 2tb F4 Corsair H80 Win7 x64 
MonitorKeyboardPowerCase
Samsung 2443BW+ Leopold Cherry Browns  Corsair HX650 Fractal Design Define R3 
Audio
Asus Xonar D2X  
  hide details  
Reply
Saosin
(13 items)
 
  
CPUMotherboardGraphicsRAM
Core i7 2600K Asus Gene-Z Gen3 MSI Lightning 780 16gb G.Skill Trident X 
Hard DriveHard DriveCoolingOS
Samsung 128gb 830  2x Samsung 1tb F3 - 2x Samsung 2tb F4 Corsair H80 Win7 x64 
MonitorKeyboardPowerCase
Samsung 2443BW+ Leopold Cherry Browns  Corsair HX650 Fractal Design Define R3 
Audio
Asus Xonar D2X  
  hide details  
Reply
post #8 of 228
Code:
@echo off

setlocal

REM Location of 7z.exe (Must be command line version)
:input1
echo Where is the location of the 7z.exe file? (Command Line version)
set exe=
set /P exe=Type input: %=%
if "%exe%"=="" goto input1


REM Location of Steam folder
:input2
echo Where is the location of the steam install? Leave trailing backslash! (No \ at end) (Full directory - E.G. C:\Program Files(x86)\steam)
set root=
set /P root=Type input: %=%
if "%root%"=="" goto input2


REM Location of destination folder
:input3
echo Where do you want it to be backed up to? Leave trailing backslash! (No \ at end) (Full directory - E.G. E:\steam_backup, directory must 

exist already!)
set dest=
set /P dest=Type input: %=%
if "%dest%"=="" goto input3

echo location of Steam folder: %root%
echo Destination of backup files: %dest%

echo. 
echo Starting to backup 'steamapps' folder (Excluding common folder).
"%exe%" a -t7z "%dest%\steamapps.7z" "%root%\steamapps\*" -mx9 -xr!common > NUL
if exist "%dest%\steamapps.7z" echo '%dest%\steamapps.7z' has been backed up.

echo. 
echo Starting to backup games in 'common' folder (individually).
for /F "tokens=* usebackq" %%G in (`dir "%root%\steamapps\common" /A:D /B`) do (
echo. 
echo Starting to backup '%%G'.
"%exe%" a -t7z "%dest%\common\%%G.7z" "%root%\steamapps\common\%%G" -mx9 > NUL
if exist "%dest%\%%G.7z" echo '%%G' has been backed up.
)

echo. 
echo Finished backing up steamapps folder.


endlocal
pause
Made it take user input in .bat. No need for editing of file, might make a GUI if you want smile.gif
    
CPUMotherboardGraphicsGraphics
FX-8350 Asus Crosshair V MSI GTX460 Hawk 1gb MSI GTX460 Hawk 1gb 
RAMHard DriveHard DriveHard Drive
Kingston HyperX 8gb (2x4gb) Crucial M4 64GB Samsung F3 1TB Western Digital 320GB 
CoolingOSMonitorMonitor
Custom WC Windows 7 Ultimate X64 Dell E2311H Dell E2311H 
MonitorKeyboardPowerCase
LH 23EN43 Ducky Year of the Dragon 2012 SilverStone Strider 1000W-P Corsair 800D 
Audio
Asus Xonar Essence STX 
  hide details  
Reply
    
CPUMotherboardGraphicsGraphics
FX-8350 Asus Crosshair V MSI GTX460 Hawk 1gb MSI GTX460 Hawk 1gb 
RAMHard DriveHard DriveHard Drive
Kingston HyperX 8gb (2x4gb) Crucial M4 64GB Samsung F3 1TB Western Digital 320GB 
CoolingOSMonitorMonitor
Custom WC Windows 7 Ultimate X64 Dell E2311H Dell E2311H 
MonitorKeyboardPowerCase
LH 23EN43 Ducky Year of the Dragon 2012 SilverStone Strider 1000W-P Corsair 800D 
Audio
Asus Xonar Essence STX 
  hide details  
Reply
post #9 of 228
Thread Starter 
oooooh thanks FiX, if you want to make a GUI for both the Backup and restore then go ahead. I will add this into the OP

Thanks everyone else smile.gif
post #10 of 228
Code:
@echo off

setlocal

REM Location of 7z.exe (Must be command line version)
:input1
echo Where is the location of the 7z.exe file? (Command Line version)
set exe=
set /P exe=Type input: %=%
if "%exe%"=="" goto input1


REM Location of Steam folder
:input2
echo Where is the location of the steam install? Leave trailing backslash! (No \ at end) (Full directory - E.G. C:\Program Files(x86)\steam)
set root=
set /P root=Type input: %=%
if "%root%"=="" goto input2


REM Location of destination folder
:input3
echo Where do you want it to be backed up to? Leave trailing backslash! (No \ at end) (Full directory - E.G. E:\steam_backup, directory must 

exist already!)
set dest=
set /P dest=Type input: %=%
if "%dest%"=="" goto input3

echo location of Steam folder: %root%
echo Destination of backup files: %dest%

REM Choose backup or restore
:input4
echo Backup or Restore?
echo b/r - type one!
set type
set /P type=Type input: %=%
if "%type%"=="" goto input3
if "%type%"=="b" goto backup
if "%type%"=="r" goto restore

:restore
echo. 
echo Starting to restore 'steamapps' folder.
"%exe%" x "%root%\steamapps.7z" -o"%dest%\steamapps" > NUL
echo '%dest%\steamapps' has been restored.

echo. 
echo Starting to restore games in 'common' folder.
for /F "tokens=* usebackq" %%G in (`dir "%root%\common" /B`) do (
echo. 
echo Starting to restore '%%G'.
"%exe%" x "%root%\common\%%G" -o"%dest%\steamapps\common" -ax!steamapps.7z > NUL
echo '%%G' has been restored.
)

echo. 
echo Finished restoring steamapps folder.
goto :eof

:backup
echo. 
echo Starting to backup 'steamapps' folder (Excluding common folder).
"%exe%" a -t7z "%dest%\steamapps.7z" "%root%\steamapps\*" -mx9 -xr!common > NUL
if exist "%dest%\steamapps.7z" echo '%dest%\steamapps.7z' has been backed up.

echo. 
echo Starting to backup games in 'common' folder (individually).
for /F "tokens=* usebackq" %%G in (`dir "%root%\steamapps\common" /A:D /B`) do (
echo. 
echo Starting to backup '%%G'.
"%exe%" a -t7z "%dest%\common\%%G.7z" "%root%\steamapps\common\%%G" -mx9 > NUL
if exist "%dest%\%%G.7z" echo '%%G' has been backed up.
)

echo. 
echo Finished backing up steamapps folder.
goto :eof

:eof
endlocal
pause
Joined both backup and restore together tongue.gif
Edit: Not working fully. 1 Min
    
CPUMotherboardGraphicsGraphics
FX-8350 Asus Crosshair V MSI GTX460 Hawk 1gb MSI GTX460 Hawk 1gb 
RAMHard DriveHard DriveHard Drive
Kingston HyperX 8gb (2x4gb) Crucial M4 64GB Samsung F3 1TB Western Digital 320GB 
CoolingOSMonitorMonitor
Custom WC Windows 7 Ultimate X64 Dell E2311H Dell E2311H 
MonitorKeyboardPowerCase
LH 23EN43 Ducky Year of the Dragon 2012 SilverStone Strider 1000W-P Corsair 800D 
Audio
Asus Xonar Essence STX 
  hide details  
Reply
    
CPUMotherboardGraphicsGraphics
FX-8350 Asus Crosshair V MSI GTX460 Hawk 1gb MSI GTX460 Hawk 1gb 
RAMHard DriveHard DriveHard Drive
Kingston HyperX 8gb (2x4gb) Crucial M4 64GB Samsung F3 1TB Western Digital 320GB 
CoolingOSMonitorMonitor
Custom WC Windows 7 Ultimate X64 Dell E2311H Dell E2311H 
MonitorKeyboardPowerCase
LH 23EN43 Ducky Year of the Dragon 2012 SilverStone Strider 1000W-P Corsair 800D 
Audio
Asus Xonar Essence STX 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: PC Gaming
Overclock.net › Forums › Video Games › PC Gaming › [OPEN SOURCE] Automatic Steam Backup/Restore Tool