How to back up and restore Personal User Files (PUFs) for client machines.

This article gives a general outline for implementing backup and restoration of select files and folders from your client machines to a network share, and vice-versa.

Problem

Patrons have a need to back up and restore data and preferences for games and other applications.  With a diskless boot solution, this data is lost when the computer is rebooted.

Solution

Implement a functionality similar to "Roaming Profiles", in a more limited respect, which will back up and restore some files and folders to alleviate this issue.

NOTE:

File and folder locations (including locally and on your network) will need to be modified to suit your needs.

These scripts are provided as-is, and you will need to modify them to back up and restore the files or folders you require.

1. Create your scripts, as identified below, and execute them from admin mode to confirm their operation.  These scripts can be stored anywhere on the client machine.

Login Script (Login.bat):

xcopy /e /y /j /i  "\\server\Save\AppData\Roaming\Goldberg UplayEmu Saves\13504\%1"							"C:\Users\Administrator\AppData\Roaming\Goldberg UplayEmu Saves\13504"
xcopy /e /y /j /i "\\server\Save\AppData\Roaming\bizarre creations\blur\save\%1" "C:\Users\Administrator\AppData\Roaming\bizarre creations\blur\save"
xcopy /e /y /j /i "\\server\Save\Offline\Call of Duty - Black Ops\players\save\%1" "E:\Offline\Call of Duty - Black Ops\players\save"
xcopy /e /y /j /i "\\server\Save\Offline\Call of Duty - Black Ops 2\players\%1" "E:\Offline\Call of Duty - Black Ops 2\players"
xcopy /e /y /j /i "\\server\Save\Saved Games\CD Projekt Red\Cyberpunk 2077\%1" "C:\Users\Administrator\Saved Games\CD Projekt Red\Cyberpunk 2077"
xcopy /e /y /j /i "\\server\Save\AppData\Roaming\DarkSoulsIII\%1" "C:\Users\Administrator\AppData\Roaming\DarkSoulsIII"
xcopy /e /y /j /i "\\server\Save\AppData\Local\Darksiders3\Saved\%1" "C:\Users\Administrator\AppData\Local\Darksiders3\Saved"
xcopy /e /y /j /i "\\server\Save\AppData\Local\BendGame\Saved\%1" "C:\Users\Administrator\AppData\Local\BendGame\Saved"
xcopy /e /y /j /i "\\server\Save\AppData\Local\KojimaProductions\DeathStranding\1638\%1" "C:\Users\Administrator\AppData\Local\KojimaProductions\DeathStranding\1638"
xcopy /e /y /j /i "\\server\Save\Saved Games\Quantic Dream\Detroit Become Human\S\76561197960267366\R\INTER_3\%1" "C:\Users\Administrator\Saved Games\Quantic Dream\Detroit Become Human\S\76561197960267366\R\INTER_3"
xcopy /e /y /j /i "\\server\Save\Documents\Steam\CODEX\601150\remote\%1" "C:\Users\Public\Documents\Steam\CODEX\601150\remote"
xcopy /e /y /j /i "\\server\Save\AppData\Local\CotH\Saved\%1" "C:\Users\Administrator\AppData\Local\CotH\Saved"
xcopy /e /y /j /i "\\server\Save\Documents\uPlay\CODEX\Saves\FarCry5\%1" "C:\Users\Public\Documents\uPlay\CODEX\Saves\FarCry5"
xcopy /e /y /j /i "\\server\Save\Documents\Sports Interactive\Football Manager 2021\%1" "C:\Users\Administrator\Documents\Sports Interactive\Football Manager 2021"
xcopy /e /y /j /i "\\server\Save\AppData\Roaming\IO Interactive\Epic\1638\HITMAN3\%1" "C:\Users\Administrator\AppData\Roaming\IO Interactive\Epic\1638\HITMAN3"
xcopy /e /y /j /i "\\server\Save\Documents\Steam\CODEX\647830\remote\savedgames\%1" "C:\Users\Public\Documents\Steam\CODEX\647830\remote\savedgames"
xcopy /e /y /j /i "\\server\Save\AppData\Roaming\Warner Bros. Interactive Entertainment\LEGO The Incredibles\SAVEDGAMES" "C:\Users\Administrator\AppData\Roaming\Warner Bros. Interactive Entertainment\LEGO The Incredibles\SAVEDGAMES\%1"
xcopy /e /y /j /i "\\server\Save\AppData\Local\2K Games\Mafia III\%1" "C:\Users\Administrator\AppData\Local\2K Games\Mafia III"
xcopy /e /y /j /i "\\server\Save\AppData\Roaming\Goldberg SocialClub Emu Saves\Max Payne 3\0F74F4C4\%1" "C:\Users\Administrator\AppData\Roaming\Goldberg SocialClub Emu Saves\Max Payne 3\0F74F4C4"
xcopy /e /y /j /i "\\server\Save\Offline\Metro Exodus\saved_games\%1" "E:\Offline\Metro Exodus\saved_games"
xcopy /e /y /j /i "\\server\Save\Documents\My Games\MortalShell\Dungeonhaven\Saved\%1" "C:\Users\Administrator\Documents\My Games\MortalShell\Dungeonhaven\Saved"
xcopy /e /y /j /i "\\server\Save\Documents\KoeiTecmo\NIOH2\Savedata\1638\%1" "C:\Users\Administrator\Documents\KoeiTecmo\NIOH2\Savedata\1638"
xcopy /e /y /j /i "\\server\Save\Documents\Rockstar Games\Red Dead Redemption 2\%1" "C:\Users\Administrator\Documents\Rockstar Games\Red Dead Redemption 2"
xcopy /e /y /j /i "\\server\Save\AppData\Roaming\EMPRESS\%1" "C:\Users\Administrator\AppData\Roaming\EMPRESS"
xcopy /e /y /j /i "\\server\Save\AppData\Local\ride4\Saved\%1" "C:\Users\Administrator\AppData\Local\ride4\Saved"
xcopy /e /y /j /i "\\server\Save\AppData\Roaming\Sekiro\76561197960267366\%1" "C:\Users\Administrator\AppData\Roaming\Sekiro\76561197960267366"
xcopy /e /y /j /i "\\server\Save\Documents\Steam\CODEX\1338770\%1" "C:\Users\Public\Documents\Steam\CODEX\1338770"
xcopy /e /y /j /i "\\server\Save\Offline\Tetris Effect - Connected\TetrisEffect\Saved\SaveGames\%1" "E:\Offline\Tetris Effect - Connected\TetrisEffect\Saved\SaveGames"

 Logout Script: (Logout.bat):

xcopy /e /y /j /i "C:\Users\Administrator\AppData\Roaming\Goldberg UplayEmu Saves\13504" "\\server\Save\AppData\Roaming\Goldberg UplayEmu Saves\13504\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Roaming\bizarre creations\blur\save" "\\server\Save\AppData\Roaming\bizarre creations\blur\save\%1"
xcopy /e /y /j /i "E:\Offline\Call of Duty - Black Ops\players\save" "\\server\Save\Offline\Call of Duty - Black Ops\players\save\%1"
xcopy /e /y /j /i "E:\Offline\Call of Duty - Black Ops 2\players" "\\server\Save\Offline\Call of Duty - Black Ops 2\players\%1"
xcopy /e /y /j /i "C:\Users\Administrator\Saved Games\CD Projekt Red\Cyberpunk 2077" "\\server\Save\Saved Games\CD Projekt Red\Cyberpunk 2077\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Roaming\DarkSoulsIII" "\\server\Save\AppData\Roaming\DarkSoulsIII\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Local\Darksiders3\Saved" "\\server\Save\AppData\Local\Darksiders3\Saved\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Local\BendGame\Saved" "\\server\Save\AppData\Local\BendGame\Saved\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Local\KojimaProductions\DeathStranding\1638" "\\server\Save\AppData\Local\KojimaProductions\DeathStranding\1638\%1"
xcopy /e /y /j /i "C:\Users\Administrator\Saved Games\Quantic Dream\Detroit Become Human\S\76561197960267366\R\INTER_3" "\\server\Save\Saved Games\Quantic Dream\Detroit Become Human\S\76561197960267366\R\INTER_3\%1"
xcopy /e /y /j /i "C:\Users\Public\Documents\Steam\CODEX\601150\remote" "\\server\Save\Documents\Steam\CODEX\601150\remote\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Local\CotH\Saved" "\\server\Save\AppData\Local\CotH\Saved\%1"
xcopy /e /y /j /i "C:\Users\Public\Documents\uPlay\CODEX\Saves\FarCry5" "\\server\Save\Documents\uPlay\CODEX\Saves\FarCry5\%1"
xcopy /e /y /j /i "C:\Users\Administrator\Documents\Sports Interactive\Football Manager 2021" "\\server\Save\Documents\Sports Interactive\Football Manager 2021\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Roaming\IO Interactive\Epic\1638\HITMAN3" "\\server\Save\AppData\Roaming\IO Interactive\Epic\1638\HITMAN3\%1"
xcopy /e /y /j /i "C:\Users\Public\Documents\Steam\CODEX\647830\remote\savedgames" "\\server\Save\Documents\Steam\CODEX\647830\remote\savedgames\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Roaming\Warner Bros. Interactive Entertainment\LEGO The Incredibles\SAVEDGAMES" "\\server\Save\AppData\Roaming\Warner Bros. Interactive Entertainment\LEGO The Incredibles\SAVEDGAMES\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Local\2K Games\Mafia III" "\\server\Save\AppData\Local\2K Games\Mafia III\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Roaming\Goldberg SocialClub Emu Saves\Max Payne 3\0F74F4C4" "\\server\Save\AppData\Roaming\Goldberg SocialClub Emu Saves\Max Payne 3\0F74F4C4\%1"
xcopy /e /y /j /i "E:\Offline\Metro Exodus\saved_games" "\\server\Save\Offline\Metro Exodus\saved_games\%1"
xcopy /e /y /j /i "C:\Users\Administrator\Documents\My Games\MortalShell\Dungeonhaven\Saved" "\\server\Save\Documents\My Games\MortalShell\Dungeonhaven\Saved\%1"
xcopy /e /y /j /i "C:\Users\Administrator\Documents\KoeiTecmo\NIOH2\Savedata\1638" "\\server\Save\Documents\KoeiTecmo\NIOH2\Savedata\1638\%1"
xcopy /e /y /j /i "C:\Users\Administrator\Documents\Rockstar Games\Red Dead Redemption 2" "\\server\Save\Documents\Rockstar Games\Red Dead Redemption 2\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Roaming\EMPRESS" "\\server\Save\AppData\Roaming\EMPRESS\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Local\ride4\Saved" "\\server\Save\AppData\Local\ride4\Saved\%1"
xcopy /e /y /j /i "C:\Users\Administrator\AppData\Roaming\Sekiro\76561197960267366" "\\server\Save\AppData\Roaming\Sekiro\76561197960267366\%1"
xcopy /e /y /j /i "C:\Users\Public\Documents\Steam\CODEX\1338770" "\\server\Save\Documents\Steam\CODEX\1338770\%1"
xcopy /e /y /j /i "E:\Offline\Tetris Effect - Connected\TetrisEffect\Saved\SaveGames" "\\server\Save\Offline\Tetris Effect - Connected\TetrisEffect\Saved\SaveGames\%1"

2. From the ggLeap Web Admin, navigate to Settings > Client configuration > Advanced.

3. Click the "Add command" button.

4. Create the launch command for your Login script, then click the "Save" button.

NOTE:
Ensure the "Full Path" to the script is correct, or the script will not launch.

5. Create the launch command for your Logout script, then click the "Save" button.

NOTE:
Ensure the "Full Path" to the script is correct, or the script will not launch.

6. Click the "Save Changes" button to add the startup commands to your client machines.

NOTE:

If you are running a diskless boot solution, please ensure that you commit these changes to your image.

Updating Games, Apps, or Other Software with ggRock (from a Physical Machine)